forked from AkkomaGang/akkoma-fe
Merge branch 'muting-fixes' into 'develop'
Properly detect thread-muted posts and set `with_muted` when fetching notifications See merge request pleroma/pleroma-fe!941
This commit is contained in:
commit
dcef84363f
3 changed files with 15 additions and 6 deletions
|
@ -10,14 +10,14 @@
|
||||||
<div slot="popover">
|
<div slot="popover">
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<button
|
<button
|
||||||
v-if="canMute && !status.muted"
|
v-if="canMute && !status.thread_muted"
|
||||||
class="dropdown-item dropdown-item-icon"
|
class="dropdown-item dropdown-item-icon"
|
||||||
@click.prevent="muteConversation"
|
@click.prevent="muteConversation"
|
||||||
>
|
>
|
||||||
<i class="icon-eye-off" /><span>{{ $t("status.mute_conversation") }}</span>
|
<i class="icon-eye-off" /><span>{{ $t("status.mute_conversation") }}</span>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="canMute && status.muted"
|
v-if="canMute && status.thread_muted"
|
||||||
class="dropdown-item dropdown-item-icon"
|
class="dropdown-item dropdown-item-icon"
|
||||||
@click.prevent="unmuteConversation"
|
@click.prevent="unmuteConversation"
|
||||||
>
|
>
|
||||||
|
|
|
@ -426,9 +426,13 @@ export const mutations = {
|
||||||
newStatus.favoritedBy.push(user)
|
newStatus.favoritedBy.push(user)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setMuted (state, status) {
|
setMutedStatus (state, status) {
|
||||||
const newStatus = state.allStatusesObject[status.id]
|
const newStatus = state.allStatusesObject[status.id]
|
||||||
newStatus.muted = status.muted
|
newStatus.thread_muted = status.thread_muted
|
||||||
|
|
||||||
|
if (newStatus.thread_muted !== undefined) {
|
||||||
|
state.conversationsObject[newStatus.statusnet_conversation_id].forEach(status => { status.thread_muted = newStatus.thread_muted })
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setRetweeted (state, { status, value }) {
|
setRetweeted (state, { status, value }) {
|
||||||
const newStatus = state.allStatusesObject[status.id]
|
const newStatus = state.allStatusesObject[status.id]
|
||||||
|
@ -566,11 +570,11 @@ const statuses = {
|
||||||
},
|
},
|
||||||
muteConversation ({ rootState, commit }, statusId) {
|
muteConversation ({ rootState, commit }, statusId) {
|
||||||
return rootState.api.backendInteractor.muteConversation(statusId)
|
return rootState.api.backendInteractor.muteConversation(statusId)
|
||||||
.then((status) => commit('setMuted', status))
|
.then((status) => commit('setMutedStatus', status))
|
||||||
},
|
},
|
||||||
unmuteConversation ({ rootState, commit }, statusId) {
|
unmuteConversation ({ rootState, commit }, statusId) {
|
||||||
return rootState.api.backendInteractor.unmuteConversation(statusId)
|
return rootState.api.backendInteractor.unmuteConversation(statusId)
|
||||||
.then((status) => commit('setMuted', status))
|
.then((status) => commit('setMutedStatus', status))
|
||||||
},
|
},
|
||||||
retweet ({ rootState, commit }, status) {
|
retweet ({ rootState, commit }, status) {
|
||||||
// Optimistic retweeting...
|
// Optimistic retweeting...
|
||||||
|
|
|
@ -10,6 +10,11 @@ const fetchAndUpdate = ({ store, credentials, older = false }) => {
|
||||||
const args = { credentials }
|
const args = { credentials }
|
||||||
const rootState = store.rootState || store.state
|
const rootState = store.rootState || store.state
|
||||||
const timelineData = rootState.statuses.notifications
|
const timelineData = rootState.statuses.notifications
|
||||||
|
const hideMutedPosts = typeof rootState.config.hideMutedPosts === 'undefined'
|
||||||
|
? rootState.instance.hideMutedPosts
|
||||||
|
: rootState.config.hideMutedPosts
|
||||||
|
|
||||||
|
args['withMuted'] = !hideMutedPosts
|
||||||
|
|
||||||
args['timeline'] = 'notifications'
|
args['timeline'] = 'notifications'
|
||||||
if (older) {
|
if (older) {
|
||||||
|
|
Loading…
Reference in a new issue