aboutsummaryrefslogtreecommitdiff
path: root/src/modules/users.js
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-02-16 17:49:11 +0100
committerRoger Braun <roger@rogerbraun.net>2017-02-16 17:49:11 +0100
commitf25ae61c5daf7e925fb38d1636a61b70a4dd2d1c (patch)
tree883faa9a3bf7999c1e290d140951e35c13ae45a2 /src/modules/users.js
parent319af91a4762c7edab567048f1f44b5a26005d5b (diff)
parentce5b3d4c924d6e94b6fbde3c50fdb209e4ec1fab (diff)
Merge branch 'develop' into feature/hash-routed
Diffstat (limited to 'src/modules/users.js')
-rw-r--r--src/modules/users.js24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/modules/users.js b/src/modules/users.js
index 8ba365f3..ae90abbd 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -1,6 +1,6 @@
-import timelineFetcher from '../services/timeline_fetcher/timeline_fetcher.service.js'
import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
import { compact, map, each, find, merge } from 'lodash'
+import { set } from 'vue'
// TODO: Unify with mergeOrAdd in statuses.js
export const mergeOrAdd = (arr, item) => {
@@ -18,6 +18,10 @@ export const mergeOrAdd = (arr, item) => {
}
export const mutations = {
+ setMuted (state, { user: {id}, muted }) {
+ const user = find(state.users, {id})
+ set(user, 'muted', muted)
+ },
setCurrentUser (state, user) {
state.currentUser = user
},
@@ -29,6 +33,9 @@ export const mutations = {
},
addNewUsers (state, users) {
each(users, (user) => mergeOrAdd(state.users, user))
+ },
+ setUserForStatus (state, status) {
+ status.user = find(state.users, status.user)
}
}
@@ -47,6 +54,15 @@ const users = {
const retweetedUsers = compact(map(statuses, 'retweeted_status.user'))
store.commit('addNewUsers', users)
store.commit('addNewUsers', retweetedUsers)
+
+ // Reconnect users to statuses
+ each(statuses, (status) => {
+ store.commit('setUserForStatus', status)
+ })
+ // Reconnect users to retweets
+ each(compact(map(statuses, 'retweeted_status')), (status) => {
+ store.commit('setUserForStatus', status)
+ })
},
loginUser (store, userCredentials) {
const commit = store.commit
@@ -60,12 +76,12 @@ const users = {
commit('setCurrentUser', user)
commit('addNewUsers', [user])
- // Start getting fresh tweets.
- timelineFetcher.startFetching({store, credentials: userCredentials})
-
// Set our new backend interactor
commit('setBackendInteractor', backendInteractorService(userCredentials))
+ // Start getting fresh tweets.
+ store.dispatch('startFetching', 'friends')
+
// Fetch our friends
store.rootState.api.backendInteractor.fetchFriends()
.then((friends) => commit('addNewUsers', friends))