enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように (#15462)
* enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように * use MkSwitch * Update Changelog
This commit is contained in:
		| @@ -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, | ||||
|   | ||||
| @@ -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, | ||||
| 				}); | ||||
| 			}, | ||||
| 		}); | ||||
| 	} | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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(() => [{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 かっこかり
					かっこかり