aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/statuses.js17
-rw-r--r--src/modules/users.js5
2 files changed, 21 insertions, 1 deletions
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index d6bdba65..eee368a3 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -1,5 +1,6 @@
import { map, slice, last, intersectionBy, sortBy, unionBy, toInteger, groupBy, differenceBy, each, find } from 'lodash'
import moment from 'moment'
+import apiService from '../services/api/api.service.js'
const defaultState = {
allStatuses: [],
@@ -104,6 +105,18 @@ const updateTimestampsInStatuses = (statuses) => {
const statuses = {
state: defaultState,
+ actions: {
+ favorite ({ rootState, commit }, status) {
+ // Optimistic favoriting...
+ commit('setFavorited', { status, value: true })
+ apiService.favorite({ id: status.id, credentials: rootState.users.currentUser.credentials })
+ },
+ unfavorite ({ rootState, commit }, status) {
+ // Optimistic favoriting...
+ commit('setFavorited', { status, value: false })
+ apiService.unfavorite({ id: status.id, credentials: rootState.users.currentUser.credentials })
+ }
+ },
mutations: {
addNewStatuses (state, { statuses, showImmediately = false, timeline }) {
state.timelines[timeline] = addStatusesToTimeline(statuses, showImmediately, state.timelines[timeline])
@@ -118,6 +131,10 @@ const statuses = {
updateTimestamps (state) {
updateTimestampsInStatuses(state.allStatuses)
},
+ setFavorited (state, { status, value }) {
+ const newStatus = find(state.allStatuses, status)
+ newStatus.favorited = value
+ },
setNsfw (state, { id, nsfw }) {
// For now, walk through all the statuses because the stuff might be in the replied_to_status
// TODO: Save the replied_tos as references.
diff --git a/src/modules/users.js b/src/modules/users.js
index 3f6864a2..cf2b16f0 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -25,7 +25,10 @@ const users = {
.then((response) => {
if (response.ok) {
response.json()
- .then((user) => commit('setCurrentUser', user))
+ .then((user) => {
+ user.credentials = userCredentials
+ commit('setCurrentUser', user)
+ })
.then(() => timelineFetcher.startFetching({store, credentials: userCredentials}))
}
commit('endLogin')