diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 1b1fa92830..cb9663372b 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -38,6 +38,7 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2024xx](CHANGE - Feat: 사용자 메뉴에서 원격 서버를 관리할 수 있음 (kokonect-link/cherrypick#502) - 서버 차단, 서버 사일런스, 서버 미디어 사일런스 - Feat: 노트 동작 버튼을 개인화할 수 있음 (kokonect-link/cherrypick#501) +- Feat: 답글 대상 노트의 반투명 옵션을 선택할 수 있음 (kokonect-link/cherrypick#495) - Enhance: CherryPick 업데이트 페이지를 제어판 목록에 추가함 - Enhance: Webhook 추가 버튼을 헤더로 이동해 디자인 개선 - Enhance: 노트 번역 영역에서도 이모지를 눌러 이모지 메뉴를 열 수 있음 diff --git a/locales/en-US.yml b/locales/en-US.yml index 86869c591d..a7146c25e2 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1,5 +1,6 @@ --- _lang_: "English" +showReplyTargetNoteInSemiTransparent: "Show reply target note in semi-transparent" noteFooterButton: "Show action buttons in notes" collapseReplies: "Collapse notes written in reply" collapseRepliesDescription: "Collapse and displays notes written as replies.\nReacted notes are not affected." diff --git a/locales/index.d.ts b/locales/index.d.ts index 0579036787..5f4972ad56 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -13,6 +13,10 @@ export interface Locale extends ILocale { * 日本語 */ "_lang_": string; + /** + * 返信対象ノートを半透明に表示 + */ + "showReplyTargetNoteInSemiTransparent": string; /** * ノートにアクションボタンを表示 */ diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index cc495ecb91..8de1ec1c25 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1,5 +1,6 @@ _lang_: "日本語" +showReplyTargetNoteInSemiTransparent: "返信対象ノートを半透明に表示" noteFooterButton: "ノートにアクションボタンを表示" collapseReplies: "返信のリノートのスマート省略" collapseRepliesDescription: "返信で作成されたノートをたたんで表示します。\nリアクションしたノートは影響を受けません。" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 10d8815caf..c4d231e301 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1,5 +1,6 @@ --- _lang_: "한국어" +showReplyTargetNoteInSemiTransparent: "답글 대상 노트를 반투명하게 표시" noteFooterButton: "노트 동작 버튼" collapseReplies: "답글로 작성된 노트 간략화하기" collapseRepliesDescription: "답글로 작성된 노트를 접어서 표시해요.\n리액션한 노트는 영향을 받지 않아요." diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index a0da9b0ca1..9d18bda74a 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -52,10 +52,10 @@ SPDX-License-Identifier: AGPL-3.0-only - +
- +
@@ -925,8 +925,11 @@ function emitUpdReaction(emoji: string, delta: number) { } .replyTo { - opacity: 0.7; padding-bottom: 0; + + &.showReplyTargetNoteInSemiTransparent { + opacity: 0.7; + } } .renote { @@ -1010,12 +1013,15 @@ function emitUpdReaction(emoji: string, delta: number) { text-overflow: ellipsis; white-space: nowrap; font-size: 90%; - opacity: 0.7; cursor: pointer; &:hover { text-decoration: underline; } + + &.showReplyTargetNoteInSemiTransparent { + opacity: 0.7; + } } .article { diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 6b20f9adff..b811abd874 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -48,7 +48,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -800,8 +800,11 @@ onMounted(() => { } .replyTo { - opacity: 0.7; padding-bottom: 0; + + &.showReplyTargetNoteInSemiTransparent { + opacity: 0.7; + } } .replyToMore { diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue index cb9870beab..5ae004e66f 100644 --- a/packages/frontend/src/pages/settings/general.vue +++ b/packages/frontend/src/pages/settings/general.vue @@ -96,6 +96,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.showFixedPostFormInReplies }} CherryPick {{ i18n.ts.allMediaNoteCollapse }} CherryPick {{ i18n.ts.alwaysShowCw }} CherryPick + {{ i18n.ts.showReplyTargetNoteInSemiTransparent }} CherryPick
@@ -483,6 +484,7 @@ const showFixedPostFormInReplies = computed(defaultStore.makeGetterSetter('showF const showingAnimatedImages = computed(defaultStore.makeGetterSetter('showingAnimatedImages')); const allMediaNoteCollapse = computed(defaultStore.makeGetterSetter('allMediaNoteCollapse')); const alwaysShowCw = computed(defaultStore.makeGetterSetter('alwaysShowCw')); +const showReplyTargetNoteInSemiTransparent = computed(defaultStore.makeGetterSetter('showReplyTargetNoteInSemiTransparent')); const nsfwOpenBehavior = computed(defaultStore.makeGetterSetter('nsfwOpenBehavior')); const renoteVisibilitySelection = computed(defaultStore.makeGetterSetter('renoteVisibilitySelection')); const forceRenoteVisibilitySelection = computed(defaultStore.makeGetterSetter('forceRenoteVisibilitySelection')); @@ -568,6 +570,7 @@ watch([ renoteQuoteButtonSeparation, allMediaNoteCollapse, alwaysShowCw, + showReplyTargetNoteInSemiTransparent, showReplyButtonInNoteFooter, showRenoteButtonInNoteFooter, showLikeButtonInNoteFooter, diff --git a/packages/frontend/src/pages/settings/preferences-backups.vue b/packages/frontend/src/pages/settings/preferences-backups.vue index 086a3c7f53..dd9b716250 100644 --- a/packages/frontend/src/pages/settings/preferences-backups.vue +++ b/packages/frontend/src/pages/settings/preferences-backups.vue @@ -148,6 +148,7 @@ const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [ 'showFixedPostFormInReplies', 'allMediaNoteCollapse', 'alwaysShowCw', + 'showReplyTargetNoteInSemiTransparent', 'nsfwOpenBehavior', 'removeModalBgColorForBlur', 'nicknameEnabled', diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index db303357e2..e9ef030680 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -610,6 +610,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: false, }, + showReplyTargetNoteInSemiTransparent: { + where: 'device', + default: true, + }, nsfwOpenBehavior: { where: 'device', default: 'click' as 'click' | 'doubleClick',