From 887a6d59aace5ed6b33704d32dd5159ebdfc1653 Mon Sep 17 00:00:00 2001 From: NoriDev Date: Fri, 22 Sep 2023 14:22:19 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=9A=E7=9F=A5=E3=81=A7=E8=BF=94?= =?UTF-8?q?=E4=BF=A1=E3=81=8C=E3=81=82=E3=82=8B=E3=83=8E=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AE=E8=A6=AA=E3=83=8E=E3=83=BC=E3=83=88=E3=82=92=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E3=81=97=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E8=A8=AD=E5=AE=9A=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG_CHERRYPICK.md | 1 + locales/en-US.yml | 1 + locales/index.d.ts | 1 + locales/ja-JP.yml | 1 + locales/ko-KR.yml | 1 + packages/frontend/src/components/MkNote.vue | 10 +++++-- .../src/components/MkNotifications.vue | 2 +- .../src/pages/settings/cherrypick.vue | 3 ++ .../pages/settings/preferences-backups.vue | 29 ++++++++++--------- packages/frontend/src/store.ts | 4 +++ 10 files changed, 35 insertions(+), 18 deletions(-) diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index a3db7ef81c..b1ceee3cf7 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -51,6 +51,7 @@ - 이미지를 업로드할 때 손실 압축으로 변경할 수 있음 - Feat: Scratchpad에서 Async: 계열 함수나 버튼 콜백 등의 오류에도 대화창을 띄우도록(시험적이라 Play 등에는 미구현) (misskey-dev/misskey#11850) - Feat: 민감한 미디어를 돋보이게 하는 설정 추가 (misskey-dev/misskey#11851) +- Feat: 알림에서 답글이 달린 노트의 상위 노트를 표시하지 않도록 하는 설정 추가 - Spec: 사용자 정의 이모티콘 라이센스를 여러 항목으로 추가할 수 있도록 (MisskeyIO/misskey#130) - Enhance: 새로운 신고가 있는 경우, 네비게이션 바의 제어판 아이콘과 제어판 페이지의 신고 섹션에 점을 표시 - Enhance: 스크롤 시 요소 표시 기능을 Friendly 이외의 UI에도 대응 diff --git a/locales/en-US.yml b/locales/en-US.yml index d0caa23f85..180000f6cc 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1222,6 +1222,7 @@ _cherrypick: mobileTimelineHeaderChange: "Timeline header design change in mobile environment" renameTheButtonInPostFormToNya: "Change the \"Note\" button on the note-posting form to \"Nyan!\"" renameTheButtonInPostFormToNyaDescription: "Outside of the note-posting form, they are still as \"Note\"." + showReplyInNotification: "Show parent note of notes with replies in notifications" _displayHeaderNavBarWhenScroll: all: "Display all" hideHeaderOnly: "Hide header only" diff --git a/locales/index.d.ts b/locales/index.d.ts index f1d86a4291..0182556d61 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1233,6 +1233,7 @@ export interface Locale { "mobileTimelineHeaderChange": string; "renameTheButtonInPostFormToNya": string; "renameTheButtonInPostFormToNyaDescription": string; + "showReplyInNotification": string; }; "_displayHeaderNavBarWhenScroll": { "all": string; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 54a14e8fcd..12ba5f9b69 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1231,6 +1231,7 @@ _cherrypick: mobileTimelineHeaderChange: "モバイル環境でタイムラインのヘッダーデザインを変更" renameTheButtonInPostFormToNya: "ノート作成画面の「ノート」ボタンを「にゃ!」に変更する" renameTheButtonInPostFormToNyaDescription: "にゃあにゃんにゃんにゃんにゃにゃん?" + showReplyInNotification: "通知で返信があるノートの親ノートを表示する" _displayHeaderNavBarWhenScroll: all: "全て表示" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 8e139fc5e3..deea3a7dc2 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1218,6 +1218,7 @@ _cherrypick: mobileTimelineHeaderChange: "모바일 환경에서 타임라인의 헤더 디자인을 변경" renameTheButtonInPostFormToNya: "노트 작성 화면의 \"노트\" 버튼을 \"냥!\"으로 변경" renameTheButtonInPostFormToNyaDescription: "냐앙냥냥냥냐냥?" + showReplyInNotification: "알림에서 답글이 달린 노트의 상위 노트 표시하기" _displayHeaderNavBarWhenScroll: all: "모두 표시" hideHeaderOnly: "헤더만 숨기기" diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 718d243439..dca5eeca05 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -51,7 +51,8 @@ SPDX-License-Identifier: AGPL-3.0-only - + +
@@ -210,10 +211,13 @@ import { instance } from '@/instance.js'; let showEl = $ref(false); -const props = defineProps<{ +const props = withDefaults(defineProps<{ note: Misskey.entities.Note; pinned?: boolean; -}>(); + notification?: boolean; +}>(), { + notification: false, +}); const inChannel = inject('inChannel', null); const currentClip = inject | null>('currentClip', null); diff --git a/packages/frontend/src/components/MkNotifications.vue b/packages/frontend/src/components/MkNotifications.vue index 45904e2c0c..1a3467fe4b 100644 --- a/packages/frontend/src/components/MkNotifications.vue +++ b/packages/frontend/src/components/MkNotifications.vue @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/pages/settings/cherrypick.vue b/packages/frontend/src/pages/settings/cherrypick.vue index 2e854a3402..aeb443084f 100644 --- a/packages/frontend/src/pages/settings/cherrypick.vue +++ b/packages/frontend/src/pages/settings/cherrypick.vue @@ -58,6 +58,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts._cherrypick.renameTheButtonInPostFormToNya }} + {{ i18n.ts._cherrypick.showReplyInNotification }}
@@ -94,11 +95,13 @@ const showFollowingMessageInsteadOfButtonEnabled = computed(defaultStore.makeGet const mobileTimelineHeaderChange = computed(defaultStore.makeGetterSetter('mobileTimelineHeaderChange')); const displayHeaderNavBarWhenScroll = computed(defaultStore.makeGetterSetter('displayHeaderNavBarWhenScroll')); const renameTheButtonInPostFormToNya = computed(defaultStore.makeGetterSetter('renameTheButtonInPostFormToNya')); +const showReplyInNotification = computed(defaultStore.makeGetterSetter('showReplyInNotification')); watch([ infoButtonForNoteActionsEnabled, reactableRemoteReactionEnabled, renameTheButtonInPostFormToNya, + showReplyInNotification, ], async () => { await reloadAsk(); }); diff --git a/packages/frontend/src/pages/settings/preferences-backups.vue b/packages/frontend/src/pages/settings/preferences-backups.vue index e25dc971e7..33cf3e9d79 100644 --- a/packages/frontend/src/pages/settings/preferences-backups.vue +++ b/packages/frontend/src/pages/settings/preferences-backups.vue @@ -104,22 +104,23 @@ const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [ 'showSubNoteFooterButton', 'enableHomeTimeline', 'enableLocalTimeline', - 'enableMediaTimeline', - 'enableSocialTimeline', - 'enableCatTimeline', - 'enableGlobalTimeline', - 'enableListTimeline', - 'enableAntennaTimeline', - 'enableChannelTimeline', + 'enableMediaTimeline', + 'enableSocialTimeline', + 'enableCatTimeline', + 'enableGlobalTimeline', + 'enableListTimeline', + 'enableAntennaTimeline', + 'enableChannelTimeline', 'useEnterToSend', 'postFormVisibilityHotkey', - 'showRenoteConfirmPopup', - 'displayHeaderNavBarWhenScroll', - 'infoButtonForNoteActionsEnabled', - 'reactableRemoteReactionEnabled', - 'showFollowingMessageInsteadOfButtonEnabled', - 'mobileTimelineHeaderChange', - 'renameTheButtonInPostFormToNya', + 'showRenoteConfirmPopup', + 'displayHeaderNavBarWhenScroll', + 'infoButtonForNoteActionsEnabled', + 'reactableRemoteReactionEnabled', + 'showFollowingMessageInsteadOfButtonEnabled', + 'mobileTimelineHeaderChange', + 'renameTheButtonInPostFormToNya', + 'showReplyInNotification', ]; const coldDeviceStorageSaveKeys: (keyof typeof ColdDeviceStorage.default)[] = [ 'lightTheme', diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 2ccde3d158..423f77f317 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -517,6 +517,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'account', default: false, }, + showReplyInNotification: { + where: 'device', + default: false, + }, // - etc friendlyEnableNotifications: {