From 3255950b0e9a16f2a477d606b91d90bed8a6cef7 Mon Sep 17 00:00:00 2001
From: taehoon
Date: Sun, 24 Feb 2019 03:02:04 -0500
Subject: Add mute/unmute featrue and mutes management tab
---
src/modules/users.js | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
(limited to 'src/modules')
diff --git a/src/modules/users.js b/src/modules/users.js
index 1fe12fc8..9c89f34a 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -177,9 +177,14 @@ const users = {
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((blockedUser) => {
+ store.commit('addNewUsers', [blockedUser])
+ 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)
@@ -188,18 +193,26 @@ const users = {
fetchMutes (store) {
return store.rootState.api.backendInteractor.fetchMutes()
.then((mutedUsers) => {
- each(mutedUsers, (user) => { user.muted = true })
+ each(mutedUsers, (user) => { user.mastodonMuted = 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]))
+ return store.rootState.api.backendInteractor.muteUser(id)
+ .then(() => {
+ const user = store.rootState.users.usersObject[id]
+ set(user, 'mastodonMuted', true)
+ store.commit('addNewUsers', [user])
+ })
},
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(() => {
+ const user = store.rootState.users.usersObject[id]
+ set(user, 'mastodonMuted', false)
+ store.commit('addNewUsers', [user])
+ })
},
addFriends ({ rootState, commit }, fetchBy) {
return new Promise((resolve, reject) => {
@@ -350,9 +363,6 @@ const users = {
// Start getting fresh posts.
store.dispatch('startFetching', { timeline: 'friends' })
- // Get user mutes
- store.dispatch('fetchMutes')
-
// Fetch our friends
store.rootState.api.backendInteractor.fetchFriends({ id: user.id })
.then((friends) => commit('addNewUsers', friends))
--
cgit v1.2.3-70-g09d2