diff --git a/locales/en-US.yml b/locales/en-US.yml index 5465a3aad..adba0ee6a 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -765,6 +765,7 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo alwaysMarkSensitive: "Mark as sensitive by default" loadRawImages: "Load original images instead of showing thumbnails" disableCatSpeak: "Disable cat speak" +markIncomingMediaInCwedPostAsSensitive: "Mark incoming media in cwed posts as sensitive" disableShowingAnimatedImages: "Don't play animated images" highlightSensitiveMedia: "Highlight sensitive media" verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification." diff --git a/locales/index.d.ts b/locales/index.d.ts index 2d066a1d7..5585b0986 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -3076,6 +3076,10 @@ export interface Locale extends ILocale { * 猫の話し方を無効にする */ "disableCatSpeak": string; + /** + * cwed投稿の受信メディアを機密扱いとしてマークする + */ + "markIncomingMediaInCwedPostAsSensitive": string; /** * アニメーション画像を再生しない */ diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3df48f305..abbe0296a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -765,6 +765,7 @@ lockedAccountInfo: "フォローを承認制にしても、ノートの公開範 alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする" loadRawImages: "添付画像のサムネイルをオリジナル画質にする" disableCatSpeak: "猫の話し方を無効にする" +markIncomingMediaInCwedPostAsSensitive: "cwed投稿の受信メディアを機密扱いとしてマークする" disableShowingAnimatedImages: "アニメーション画像を再生しない" highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示" verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。" diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue index 9c836b586..4508abda8 100644 --- a/packages/frontend/src/components/MkMediaList.vue +++ b/packages/frontend/src/components/MkMediaList.vue @@ -39,11 +39,13 @@ import XVideo from '@/components/MkMediaVideo.vue'; import * as os from '@/os.js'; import { FILE_TYPE_BROWSERSAFE } from '@/const.js'; import { defaultStore } from '@/store.js'; +import {$i} from "@/account"; const props = defineProps<{ mediaList: Misskey.entities.DriveFile[]; user?: Misskey.entities.UserLite; raw?: boolean; + isNoteSensitive?: boolean; }>(); const gallery = shallowRef(); @@ -90,6 +92,11 @@ async function calcAspectRatio() { } onMounted(() => { + if (($i ? defaultStore.state.markIncomingMediaInCwedPostAsSensitive : true)) + props.mediaList.forEach(media => { + media.isSensitive = props.isNoteSensitive + }) + calcAspectRatio(); lightbox = new PhotoSwipeLightbox({ diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 6a67a98a1..641043943 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -79,7 +79,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 1656c7cba..b7fe11d99 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -92,7 +92,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue index 8b0f981c3..c113a3aac 100644 --- a/packages/frontend/src/components/MkSubNoteContent.vue +++ b/packages/frontend/src/components/MkSubNoteContent.vue @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
({{ i18n.tsx.withNFiles({ n: note.files.length }) }}) - +
{{ i18n.ts.poll }} @@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only