This commit is contained in:
Natsumi
2025-10-30 13:36:05 +11:00
parent 515f48a9e4
commit d2954e486e
3 changed files with 38 additions and 30 deletions

View File

@@ -280,14 +280,14 @@
<template v-if="groupDialog.ref.myMember">
<el-dropdown-item
v-if="groupDialog.ref.myMember.isSubscribedToAnnouncements"
:icon="Close"
:icon="MuteNotification"
command="Unsubscribe To Announcements"
divided>
{{ t('dialog.group.actions.unsubscribe') }}
</el-dropdown-item>
<el-dropdown-item
v-else
:icon="Check"
:icon="Bell"
command="Subscribe To Announcements"
divided>
{{ t('dialog.group.actions.subscribe') }}
@@ -1123,6 +1123,7 @@
<script setup>
import {
ArrowDown,
Bell,
ChatLineSquare,
Check,
CircleCheck,
@@ -1136,6 +1137,7 @@
Loading,
Message,
MoreFilled,
MuteNotification,
Operation,
Refresh,
Share,
@@ -1187,9 +1189,9 @@
showGroupDialog,
leaveGroupPrompt,
setGroupVisibility,
setGroupSubscription,
applyGroupMember,
handleGroupMember,
handleGroupMemberProps,
showGroupMemberModerationDialog
} = useGroupStore();
@@ -1449,21 +1451,6 @@
}
}
function setGroupSubscription(groupId, subscribe) {
return groupRequest
.setGroupMemberProps(currentUser.value.id, groupId, {
isSubscribedToAnnouncements: subscribe
})
.then((args) => {
handleGroupMemberProps(args);
ElMessage({
message: 'Group subscription updated',
type: 'success'
});
return args;
});
}
function blockGroup(groupId) {
ElMessageBox.confirm('Are you sure you want to block this group?', 'Confirm', {
confirmButtonText: 'Confirm',

View File

@@ -708,9 +708,8 @@
:disabled="group.privacy !== 'default'"
trigger="click"
size="small"
style="margin-right: 5px"
@click.stop>
<el-button size="small">
style="margin-right: 5px">
<el-button @click.stop size="small">
<span v-if="group.myMember.visibility === 'visible'">{{
t('dialog.group.tags.visible')
}}</span>
@@ -749,15 +748,20 @@
</template>
</el-dropdown>
<!--//- JSON is missing isSubscribedToAnnouncements, can't be implemented-->
<!--//- el-dropdown(@click.native.stop trigger="click" size="small" style="margin-right:5px")-->
<!--//- el-tooltip(placement="top")-->
<!--//- template(#content)-->
<!--//- span(v-if="group.myMember.isSubscribedToAnnouncements") {{ t('dialog.group.actions.unsubscribe') }}-->
<!--//- span(v-else) {{ t('dialog.group.actions.subscribe') }}-->
<!--//- el-button(v-if="group.myMember.isSubscribedToAnnouncements" @click.stop="setGroupSubscription(group.id, false)" circle size="small")-->
<!--//- i.el-icon-chat-line-square-->
<!--//- el-button(v-else circle @click.stop="setGroupSubscription(group.id, true)" size="small")-->
<!--//- i.el-icon-chat-square(style="color:#f56c6c")-->
<!-- <el-button
@click.stop="
setGroupSubscription(group.id, !group.myMember.isSubscribedToAnnouncements)
"
size="small">
<span v-if="group.myMember.isSubscribedToAnnouncements"
><el-icon style="margin-left: 5px"><MuteNotification /></el-icon>
{{ t('dialog.group.tags.subscribed') }}</span
>
<span v-else
><el-icon style="margin-left: 5px"><Bell /></el-icon>
{{ t('dialog.group.tags.unsubscribed') }}</span
>
</el-button> -->
<el-tooltip
placement="right"
:content="t('dialog.user.groups.leave_group_tooltip')">
@@ -1339,6 +1343,7 @@
leaveGroup,
leaveGroupPrompt,
setGroupVisibility,
setGroupSubscription,
handleGroupList,
showModerateGroupDialog
} = useGroupStore();