add bulk mute/unmute buttons and wire up to vuex
This commit is contained in:
		
							parent
							
								
									13c8f10f4b
								
							
						
					
					
						commit
						d3cad54aa3
					
				
					 3 changed files with 59 additions and 23 deletions
				
			
		|  | @ -361,6 +361,12 @@ const UserSettings = { | |||
|     }, | ||||
|     unblockUsers (ids) { | ||||
|       return this.$store.dispatch('unblockUsers', ids) | ||||
|     }, | ||||
|     muteUsers (ids) { | ||||
|       return this.$store.dispatch('muteUsers', ids) | ||||
|     }, | ||||
|     unmuteUsers (ids) { | ||||
|       return this.$store.dispatch('unmuteUsers', ids) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  |  | |||
|  | @ -231,6 +231,22 @@ | |||
|             </Autosuggest> | ||||
|           </div> | ||||
|           <MuteList :refresh="true" :getKey="item => item"> | ||||
|             <template slot="header" slot-scope="p"> | ||||
|               <div class="bulk-actions-wrapper"> | ||||
|                 <ProgressButton class="btn btn-default" v-if="p.selected.length > 0" :click="() => muteUsers(p.selected)"> | ||||
|                   {{ $t('user_card.mute') }} | ||||
|                   <template slot="progress"> | ||||
|                     {{ $t('user_card.mute_progress') }} | ||||
|                   </template> | ||||
|                 </ProgressButton> | ||||
|                 <ProgressButton class="btn btn-default" v-if="p.selected.length > 0" :click="() => unmuteUsers(p.selected)"> | ||||
|                   {{ $t('user_card.unmute') }} | ||||
|                   <template slot="progress"> | ||||
|                     {{ $t('user_card.unmute_progress') }} | ||||
|                   </template> | ||||
|                 </ProgressButton> | ||||
|               </div> | ||||
|             </template> | ||||
|             <template slot="item" slot-scope="p"> | ||||
|               <MuteCard :userId="p.item" /> | ||||
|             </template> | ||||
|  |  | |||
|  | @ -32,19 +32,32 @@ const getNotificationPermission = () => { | |||
|   return Promise.resolve(Notification.permission) | ||||
| } | ||||
| 
 | ||||
| const blockUser = (store, userId) => { | ||||
|   return store.rootState.api.backendInteractor.blockUser(userId) | ||||
| const blockUser = (store, id) => { | ||||
|   return store.rootState.api.backendInteractor.blockUser(id) | ||||
|     .then((relationship) => { | ||||
|       store.commit('updateUserRelationship', [relationship]) | ||||
|       store.commit('addBlockId', userId) | ||||
|       store.commit('removeStatus', { timeline: 'friends', userId }) | ||||
|       store.commit('removeStatus', { timeline: 'public', userId }) | ||||
|       store.commit('removeStatus', { timeline: 'publicAndExternal', userId }) | ||||
|       store.commit('addBlockId', id) | ||||
|       store.commit('removeStatus', { timeline: 'friends', userId: id }) | ||||
|       store.commit('removeStatus', { timeline: 'public', userId: id }) | ||||
|       store.commit('removeStatus', { timeline: 'publicAndExternal', userId: id }) | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| const unblockUser = (store, userId) => { | ||||
|   return store.rootState.api.backendInteractor.unblockUser(userId) | ||||
| const unblockUser = (store, id) => { | ||||
|   return store.rootState.api.backendInteractor.unblockUser(id) | ||||
|     .then((relationship) => store.commit('updateUserRelationship', [relationship])) | ||||
| } | ||||
| 
 | ||||
| const muteUser = (store, id) => { | ||||
|   return store.rootState.api.backendInteractor.muteUser(id) | ||||
|     .then((relationship) => { | ||||
|       store.commit('updateUserRelationship', [relationship]) | ||||
|       store.commit('addMuteId', id) | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| const unmuteUser = (store, id) => { | ||||
|   return store.rootState.api.backendInteractor.unmuteUser(id) | ||||
|     .then((relationship) => store.commit('updateUserRelationship', [relationship])) | ||||
| } | ||||
| 
 | ||||
|  | @ -222,17 +235,17 @@ const users = { | |||
|           return blocks | ||||
|         }) | ||||
|     }, | ||||
|     blockUser (store, userId) { | ||||
|       return blockUser(store, userId) | ||||
|     blockUser (store, id) { | ||||
|       return blockUser(store, id) | ||||
|     }, | ||||
|     unblockUser (store, userId) { | ||||
|       return unblockUser(store, userId) | ||||
|     unblockUser (store, id) { | ||||
|       return unblockUser(store, id) | ||||
|     }, | ||||
|     blockUsers (store, userIds = []) { | ||||
|       return Promise.all(userIds.map(userId => blockUser(store, userId))) | ||||
|     blockUsers (store, ids = []) { | ||||
|       return Promise.all(ids.map(id => blockUser(store, id))) | ||||
|     }, | ||||
|     unblockUsers (store, userIds = []) { | ||||
|       return Promise.all(userIds.map(userId => unblockUser(store, userId))) | ||||
|     unblockUsers (store, ids = []) { | ||||
|       return Promise.all(ids.map(id => unblockUser(store, id))) | ||||
|     }, | ||||
|     fetchMutes (store) { | ||||
|       return store.rootState.api.backendInteractor.fetchMutes() | ||||
|  | @ -243,15 +256,16 @@ const users = { | |||
|         }) | ||||
|     }, | ||||
|     muteUser (store, id) { | ||||
|       return store.rootState.api.backendInteractor.muteUser(id) | ||||
|         .then((relationship) => { | ||||
|           store.commit('updateUserRelationship', [relationship]) | ||||
|           store.commit('addMuteId', id) | ||||
|         }) | ||||
|       return muteUser(store, id) | ||||
|     }, | ||||
|     unmuteUser (store, id) { | ||||
|       return store.rootState.api.backendInteractor.unmuteUser(id) | ||||
|         .then((relationship) => store.commit('updateUserRelationship', [relationship])) | ||||
|       return unmuteUser(store, id) | ||||
|     }, | ||||
|     muteUsers (store, ids = []) { | ||||
|       return Promise.all(ids.map(id => muteUser(store, id))) | ||||
|     }, | ||||
|     unmuteUsers (store, ids = []) { | ||||
|       return Promise.all(ids.map(id => unmuteUser(store, id))) | ||||
|     }, | ||||
|     fetchFriends ({ rootState, commit }, id) { | ||||
|       const user = rootState.users.usersObject[id] | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 taehoon
						taehoon