diff options
| author | Henry Jameson <me@hjkos.com> | 2019-03-25 19:54:15 +0200 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2019-03-25 19:54:15 +0200 |
| commit | 3b5fc889890f5dacfd4086ff358c868ef3029d23 (patch) | |
| tree | e9f2bfc9cd986341eda0ff7da7410066f1ede857 /src/modules/users.js | |
| parent | e617ed285e8ecb13829558197bdf04ffb9583ea9 (diff) | |
| parent | b02085f2ef2842f06fe9d29eb6bf8e71809aed64 (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.js | 47 |
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) => { |
