diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-03-03 17:06:34 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-03 08:06:34 +0000 |
| commit | 77667cf80d676dafd47725b752ce3e503edbc61e (patch) | |
| tree | 6faf1bcf9f97e75e673769fb4d3ceca892c04182 /packages/frontend | |
| parent | fix(frontend): 削除して編集の削除タイミングを投稿後にな... (diff) | |
| download | sharkey-77667cf80d676dafd47725b752ce3e503edbc61e.tar.gz sharkey-77667cf80d676dafd47725b752ce3e503edbc61e.tar.bz2 sharkey-77667cf80d676dafd47725b752ce3e503edbc61e.zip | |
enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように (#15462)
* enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように
* use MkSwitch
* Update Changelog
Diffstat (limited to 'packages/frontend')
| -rw-r--r-- | packages/frontend/src/components/MkMediaAudio.vue | 9 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkMediaImage.vue | 16 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkMediaVideo.vue | 9 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin-file.vue | 21 |
4 files changed, 46 insertions, 9 deletions
diff --git a/packages/frontend/src/components/MkMediaAudio.vue b/packages/frontend/src/components/MkMediaAudio.vue index 8cf88abaaf..3d2795b37a 100644 --- a/packages/frontend/src/components/MkMediaAudio.vue +++ b/packages/frontend/src/components/MkMediaAudio.vue @@ -259,7 +259,14 @@ function showMenu(ev: MouseEvent) { }); } -function toggleSensitive(file: Misskey.entities.DriveFile) { +async function toggleSensitive(file: Misskey.entities.DriveFile) { + const { canceled } = await os.confirm({ + type: 'warning', + text: file.isSensitive ? i18n.ts.unmarkAsSensitiveConfirm : i18n.ts.markAsSensitiveConfirm, + }); + + if (canceled) return; + os.apiWithDialog('drive/files/update', { fileId: file.id, isSensitive: !file.isSensitive, diff --git a/packages/frontend/src/components/MkMediaImage.vue b/packages/frontend/src/components/MkMediaImage.vue index 3645a4a66e..8ab990b926 100644 --- a/packages/frontend/src/components/MkMediaImage.vue +++ b/packages/frontend/src/components/MkMediaImage.vue @@ -124,11 +124,21 @@ function showMenu(ev: MouseEvent) { if (iAmModerator) { menuItems.push({ - text: i18n.ts.markAsSensitive, + text: props.image.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive, icon: 'ti ti-eye-exclamation', danger: true, - action: () => { - os.apiWithDialog('drive/files/update', { fileId: props.image.id, isSensitive: true }); + action: async () => { + const { canceled } = await os.confirm({ + type: 'warning', + text: props.image.isSensitive ? i18n.ts.unmarkAsSensitiveConfirm : i18n.ts.markAsSensitiveConfirm, + }); + + if (canceled) return; + + os.apiWithDialog('drive/files/update', { + fileId: props.image.id, + isSensitive: !props.image.isSensitive, + }); }, }); } diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue index 26372e1a52..682da22711 100644 --- a/packages/frontend/src/components/MkMediaVideo.vue +++ b/packages/frontend/src/components/MkMediaVideo.vue @@ -284,7 +284,14 @@ function showMenu(ev: MouseEvent) { }); } -function toggleSensitive(file: Misskey.entities.DriveFile) { +async function toggleSensitive(file: Misskey.entities.DriveFile) { + const { canceled } = await os.confirm({ + type: 'warning', + text: file.isSensitive ? i18n.ts.unmarkAsSensitiveConfirm : i18n.ts.markAsSensitiveConfirm, + }); + + if (canceled) return; + os.apiWithDialog('drive/files/update', { fileId: file.id, isSensitive: !file.isSensitive, diff --git a/packages/frontend/src/pages/admin-file.vue b/packages/frontend/src/pages/admin-file.vue index 60f6be51d4..7ccb996fff 100644 --- a/packages/frontend/src/pages/admin-file.vue +++ b/packages/frontend/src/pages/admin-file.vue @@ -36,8 +36,9 @@ SPDX-License-Identifier: AGPL-3.0-only <MkA v-if="file.user" class="user" :to="`/admin/user/${file.user.id}`"> <MkUserCardMini :user="file.user"/> </MkA> + <div> - <MkSwitch v-model="isSensitive" @update:modelValue="toggleIsSensitive">{{ i18n.ts.sensitive }}</MkSwitch> + <MkSwitch :modelValue="isSensitive" @update:modelValue="toggleSensitive">{{ i18n.ts.sensitive }}</MkSwitch> </div> <div> @@ -117,9 +118,21 @@ async function del() { }); } -async function toggleIsSensitive(v) { - await misskeyApi('drive/files/update', { fileId: props.fileId, isSensitive: v }); - isSensitive.value = v; +async function toggleSensitive() { + if (!file.value) return; + + const { canceled } = await os.confirm({ + type: 'warning', + text: isSensitive.value ? i18n.ts.unmarkAsSensitiveConfirm : i18n.ts.markAsSensitiveConfirm, + }); + + if (canceled) return; + isSensitive.value = !isSensitive.value; + + os.apiWithDialog('drive/files/update', { + fileId: file.value.id, + isSensitive: !file.value.isSensitive, + }); } const headerActions = computed(() => [{ |