diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2026-01-02 21:41:32 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-02 21:41:32 +0900 |
| commit | 9c225384541192bbd83da94ac2f6c09ade3a25e8 (patch) | |
| tree | b93b31accb31ce101a565b944f0c47e1c3f41261 /packages/frontend/src/utility | |
| parent | fix(frontend): ログインダイアログが表示されたあとの処理... (diff) | |
| download | misskey-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/utility')
| -rw-r--r-- | packages/frontend/src/utility/sensitive-file.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/frontend/src/utility/sensitive-file.ts b/packages/frontend/src/utility/sensitive-file.ts new file mode 100644 index 0000000000..f1fc909e4a --- /dev/null +++ b/packages/frontend/src/utility/sensitive-file.ts @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as Misskey from 'misskey-js'; +import * as os from '@/os.js'; +import { prefer } from '@/preferences.js'; +import { i18n } from '@/i18n.js'; + +export function shouldHideFileByDefault(file: Misskey.entities.DriveFile): boolean { + if (prefer.s.nsfw === 'force' || prefer.s.dataSaver.media) { + return true; + } + + if (file.isSensitive && prefer.s.nsfw !== 'ignore') { + return true; + } + + return false; +} + +export async function canRevealFile(file: Misskey.entities.DriveFile): Promise<boolean> { + if (file.isSensitive && prefer.s.confirmWhenRevealingSensitiveMedia) { + const { canceled } = await os.confirm({ + type: 'question', + text: i18n.ts.sensitiveMediaRevealConfirm, + }); + if (canceled) return false; + } + + return true; +} |