Add mutes tab

This commit is contained in:
taehoon 2019-02-13 22:04:28 -05:00
parent 09315b2780
commit e91a94ff9c
7 changed files with 99 additions and 6 deletions

View file

@ -89,6 +89,10 @@ export const mutations = {
const user = state.currentUser
user.blockIds = union(user.blockIds, blockIds)
},
saveMutes (state, ids) {
const user = state.currentUser
user.muteIds = union(user.muteIds, ids)
},
setUserForStatus (state, status) {
status.user = state.usersObject[status.user.id]
},
@ -157,6 +161,22 @@ const users = {
return store.rootState.api.backendInteractor.unblockUser(id)
.then((user) => store.commit('addNewUsers', [user]))
},
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'))
})
},
muteUser (store, id) {
return store.state.api.backendInteractor.setUserMute({ id, muted: true })
.then((user) => store.commit('addNewUsers', [user]))
},
unmuteUser (store, id) {
return store.state.api.backendInteractor.setUserMute({ id, muted: false })
.then((user) => store.commit('addNewUsers', [user]))
},
addFriends ({ rootState, commit }, fetchBy) {
return new Promise((resolve, reject) => {
const user = rootState.users.usersObject[fetchBy]
@ -300,10 +320,7 @@ const users = {
store.dispatch('startFetching', { timeline: 'friends' })
// Get user mutes and follower info
store.rootState.api.backendInteractor.fetchMutes().then((mutedUsers) => {
each(mutedUsers, (user) => { user.muted = true })
store.commit('addNewUsers', mutedUsers)
})
store.dispatch('fetchMutes')
// Fetch our friends
store.rootState.api.backendInteractor.fetchFriends({ id: user.id })