aboutsummaryrefslogtreecommitdiff
path: root/src/modules/users.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-03-25 19:54:15 +0200
committerHenry Jameson <me@hjkos.com>2019-03-25 19:54:15 +0200
commit3b5fc889890f5dacfd4086ff358c868ef3029d23 (patch)
treee9f2bfc9cd986341eda0ff7da7410066f1ede857 /src/modules/users.js
parente617ed285e8ecb13829558197bdf04ffb9583ea9 (diff)
parentb02085f2ef2842f06fe9d29eb6bf8e71809aed64 (diff)
Merge remote-tracking branch 'upstream/develop' into mastoapi/convos
* upstream/develop: (34 commits) Update attachment normalizer Add fallback for attachments uploaded via the other platforms Get correct mimetype through entity_normalizer Set default parameter Switch to mastoapi for posting status and uploading media Revert changes prevent text pasting if image is pasted remove border radius of suggested emojis #450 - dispatch login after saved state is loaded #448 - fix timeline fetch error when status text is null #451 - add class to username span No need to fetch mutes on load anymore 🙌 switch to mastoapi switch to mastoapi masto api sends muted property now No need to fetch user data using old api anymore 🎉 Switch to mastoapi Add comment Reset statusnet_blocking of all fetched users first while refreshing block list Add hideMutedPosts setting and wire up to post-returning endpoints ...
Diffstat (limited to 'src/modules/users.js')
-rw-r--r--src/modules/users.js47
1 files changed, 31 insertions, 16 deletions
diff --git a/src/modules/users.js b/src/modules/users.js
index 2950971f..5cfa128e 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -102,10 +102,20 @@ export const mutations = {
}
})
},
- saveBlocks (state, blockIds) {
+ updateBlocks (state, blockedUsers) {
+ // Reset statusnet_blocking of all fetched users
+ each(state.users, (user) => { user.statusnet_blocking = false })
+ each(blockedUsers, (user) => mergeOrAdd(state.users, state.usersObject, user))
+ },
+ saveBlockIds (state, blockIds) {
state.currentUser.blockIds = blockIds
},
- saveMutes (state, muteIds) {
+ updateMutes (state, mutedUsers) {
+ // Reset muted of all fetched users
+ each(state.users, (user) => { user.muted = false })
+ each(mutedUsers, (user) => mergeOrAdd(state.users, state.usersObject, user))
+ },
+ saveMuteIds (state, muteIds) {
state.currentUser.muteIds = muteIds
},
setUserForStatus (state, status) {
@@ -172,34 +182,39 @@ const users = {
fetchBlocks (store) {
return store.rootState.api.backendInteractor.fetchBlocks()
.then((blocks) => {
- store.commit('saveBlocks', map(blocks, 'id'))
- store.commit('addNewUsers', blocks)
+ store.commit('saveBlockIds', map(blocks, 'id'))
+ store.commit('updateBlocks', blocks)
return blocks
})
},
- blockUser (store, id) {
- return store.rootState.api.backendInteractor.blockUser(id)
- .then((user) => store.commit('addNewUsers', [user]))
+ blockUser (store, userId) {
+ return store.rootState.api.backendInteractor.blockUser(userId)
+ .then((relationship) => {
+ store.commit('updateUserRelationship', [relationship])
+ store.commit('removeStatus', { timeline: 'friends', userId })
+ store.commit('removeStatus', { timeline: 'public', userId })
+ store.commit('removeStatus', { timeline: 'publicAndExternal', userId })
+ })
},
unblockUser (store, id) {
return store.rootState.api.backendInteractor.unblockUser(id)
- .then((user) => store.commit('addNewUsers', [user]))
+ .then((relationship) => store.commit('updateUserRelationship', [relationship]))
},
fetchMutes (store) {
return store.rootState.api.backendInteractor.fetchMutes()
- .then((mutedUsers) => {
- each(mutedUsers, (user) => { user.muted = true })
- store.commit('addNewUsers', mutedUsers)
- store.commit('saveMutes', map(mutedUsers, 'id'))
+ .then((mutes) => {
+ store.commit('updateMutes', mutes)
+ store.commit('saveMuteIds', map(mutes, 'id'))
+ return mutes
})
},
muteUser (store, id) {
- return store.state.api.backendInteractor.setUserMute({ id, muted: true })
- .then((user) => store.commit('addNewUsers', [user]))
+ return store.rootState.api.backendInteractor.muteUser(id)
+ .then((relationship) => store.commit('updateUserRelationship', [relationship]))
},
unmuteUser (store, id) {
- return store.state.api.backendInteractor.setUserMute({ id, muted: false })
- .then((user) => store.commit('addNewUsers', [user]))
+ return store.rootState.api.backendInteractor.unmuteUser(id)
+ .then((relationship) => store.commit('updateUserRelationship', [relationship]))
},
addFriends ({ rootState, commit }, fetchBy) {
return new Promise((resolve, reject) => {