From d5e9be318b7492d1107fe436967b9759a965c65e Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Tue, 28 Jan 2025 13:42:27 -0500 Subject: [PATCH] prevent duplicate ModLog entries when changing mod note or force CW --- packages/frontend/src/pages/admin-user.vue | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/packages/frontend/src/pages/admin-user.vue b/packages/frontend/src/pages/admin-user.vue index e21db84334..744c4d9682 100644 --- a/packages/frontend/src/pages/admin-user.vue +++ b/packages/frontend/src/pages/admin-user.vue @@ -53,7 +53,7 @@ SPDX-License-Identifier: AGPL-3.0-only - + @@ -83,7 +83,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.suspend }} {{ i18n.ts.markAsNSFW }} - + @@ -289,19 +289,6 @@ function createFetcher() { suspended.value = info.value.isSuspended; moderationNote.value = info.value.moderationNote; mandatoryCW.value = info.value.mandatoryCW; - - // These watch statements work because they're lazy-initialized. - // The watched values are already set, so they don't trigger any "change" just from refreshing the user. - - watch(mandatoryCW, async () => { - await os.apiWithDialog('admin/cw-user', { userId: props.userId, cw: mandatoryCW.value }); - refreshUser(); - }); - - watch(moderationNote, async () => { - await misskeyApi('admin/update-user-note', { userId: user.value.id, text: moderationNote.value }); - await refreshUser(); - }); }); } @@ -309,6 +296,16 @@ function refreshUser() { init.value = createFetcher(); } +async function onMandatoryCWChanged(value: string) { + await os.apiWithDialog('admin/cw-user', { userId: props.userId, cw: value }); + refreshUser(); +} + +async function onModerationNoteChanged(value: string) { + await misskeyApi('admin/update-user-note', { userId: props.userId, text: value }); + refreshUser(); +} + async function updateRemoteUser() { await os.apiWithDialog('federation/update-remote-user', { userId: user.value.id }); refreshUser();