summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-03-03 17:06:34 +0900
committerGitHub <noreply@github.com>2025-03-03 08:06:34 +0000
commit77667cf80d676dafd47725b752ce3e503edbc61e (patch)
tree6faf1bcf9f97e75e673769fb4d3ceca892c04182 /packages/frontend/src
parentfix(frontend): 削除して編集の削除タイミングを投稿後にな... (diff)
downloadsharkey-77667cf80d676dafd47725b752ce3e503edbc61e.tar.gz
sharkey-77667cf80d676dafd47725b752ce3e503edbc61e.tar.bz2
sharkey-77667cf80d676dafd47725b752ce3e503edbc61e.zip
enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように (#15462)
* enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように * use MkSwitch * Update Changelog
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/components/MkMediaAudio.vue9
-rw-r--r--packages/frontend/src/components/MkMediaImage.vue16
-rw-r--r--packages/frontend/src/components/MkMediaVideo.vue9
-rw-r--r--packages/frontend/src/pages/admin-file.vue21
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(() => [{