summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/my-lists/list.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/pages/my-lists/list.vue')
-rw-r--r--packages/frontend/src/pages/my-lists/list.vue31
1 files changed, 17 insertions, 14 deletions
diff --git a/packages/frontend/src/pages/my-lists/list.vue b/packages/frontend/src/pages/my-lists/list.vue
index 7492b099ea..a2ceb222fe 100644
--- a/packages/frontend/src/pages/my-lists/list.vue
+++ b/packages/frontend/src/pages/my-lists/list.vue
@@ -133,22 +133,25 @@ async function removeUser(item, ev) {
}
async function showMembershipMenu(item, ev) {
+ const withRepliesRef = ref(item.withReplies);
os.popupMenu([{
- text: item.withReplies ? i18n.ts.hideRepliesToOthersInTimeline : i18n.ts.showRepliesToOthersInTimeline,
- icon: item.withReplies ? 'ti ti-messages-off' : 'ti ti-messages',
- action: async () => {
- misskeyApi('users/lists/update-membership', {
- listId: list.value.id,
- userId: item.userId,
- withReplies: !item.withReplies,
- }).then(() => {
- paginationEl.value.updateItem(item.id, (old) => ({
- ...old,
- withReplies: !item.withReplies,
- }));
- });
- },
+ type: 'switch',
+ text: i18n.ts.showRepliesToOthersInTimeline,
+ icon: 'ti ti-messages',
+ ref: withRepliesRef,
}], ev.currentTarget ?? ev.target);
+ watch(withRepliesRef, withReplies => {
+ misskeyApi('users/lists/update-membership', {
+ listId: list.value!.id,
+ userId: item.userId,
+ withReplies,
+ }).then(() => {
+ paginationEl.value!.updateItem(item.id, (old) => ({
+ ...old,
+ withReplies,
+ }));
+ });
+ });
}
async function deleteList() {