summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkMediaImage.vue
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2026-01-02 21:41:32 +0900
committerGitHub <noreply@github.com>2026-01-02 21:41:32 +0900
commit9c225384541192bbd83da94ac2f6c09ade3a25e8 (patch)
treeb93b31accb31ce101a565b944f0c47e1c3f41261 /packages/frontend/src/components/MkMediaImage.vue
parentfix(frontend): ログインダイアログが表示されたあとの処理... (diff)
downloadmisskey-9c225384541192bbd83da94ac2f6c09ade3a25e8.tar.gz
misskey-9c225384541192bbd83da94ac2f6c09ade3a25e8.tar.bz2
misskey-9c225384541192bbd83da94ac2f6c09ade3a25e8.zip
fix(frontend): ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正 (#17019)
* fix(frontend): ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正 * Update Changelog * refactor * Update Changelog
Diffstat (limited to 'packages/frontend/src/components/MkMediaImage.vue')
-rw-r--r--packages/frontend/src/components/MkMediaImage.vue13
1 files changed, 5 insertions, 8 deletions
diff --git a/packages/frontend/src/components/MkMediaImage.vue b/packages/frontend/src/components/MkMediaImage.vue
index f59d15d9a2..345c261776 100644
--- a/packages/frontend/src/components/MkMediaImage.vue
+++ b/packages/frontend/src/components/MkMediaImage.vue
@@ -77,6 +77,7 @@ import { i18n } from '@/i18n.js';
import * as os from '@/os.js';
import { $i, iAmModerator } from '@/i.js';
import { prefer } from '@/preferences.js';
+import { shouldHideFileByDefault, canRevealFile } from '@/utility/sensitive-file.js';
const props = withDefaults(defineProps<{
image: Misskey.entities.DriveFile;
@@ -106,12 +107,8 @@ async function reveal(ev: MouseEvent) {
if (hide.value) {
ev.stopPropagation();
- if (props.image.isSensitive && prefer.s.confirmWhenRevealingSensitiveMedia) {
- const { canceled } = await os.confirm({
- type: 'question',
- text: i18n.ts.sensitiveMediaRevealConfirm,
- });
- if (canceled) return;
+ if (!(await canRevealFile(props.image))) {
+ return;
}
hide.value = false;
@@ -119,8 +116,8 @@ async function reveal(ev: MouseEvent) {
}
// Plugin:register_note_view_interruptor を使って書き換えられる可能性があるためwatchする
-watch(() => props.image, () => {
- hide.value = (prefer.s.nsfw === 'force' || prefer.s.dataSaver.media) ? true : (props.image.isSensitive && prefer.s.nsfw !== 'ignore');
+watch(() => props.image, (newImage) => {
+ hide.value = shouldHideFileByDefault(newImage);
}, {
deep: true,
immediate: true,