diff --git a/CHANGELOG_CHERRYPICK.md b/CHANGELOG_CHERRYPICK.md index 088020c98a..3f7d6068e3 100644 --- a/CHANGELOG_CHERRYPICK.md +++ b/CHANGELOG_CHERRYPICK.md @@ -32,6 +32,8 @@ - 리노트를 신고할 수 있도록 (misskey-dev/misskey#11466) - Rosé Pine 테마 추가 ([rose-pine/misskey](https://github.com/rose-pine/misskey)) - 타임라인 소개 추가 +- 이용 약관을 서버 메뉴에서 볼 수 있도록 +- 계정 초기 설정과 타임라인 튜토리얼을 다시 진행할 수 있도록 ### Client - about-misskey 페이지에서 클라이언트 버전을 누르면 변경 사항을 볼 수 있음 diff --git a/locales/en-US.yml b/locales/en-US.yml index 35cd426b3f..82273d0037 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1,5 +1,7 @@ --- _lang_: "English" +replayUserSetupDialog: "Replay initial setting" +replayTutorial: "Replay tutorial" nya: "Nyan!" displayHeaderNavBarWhenScroll: "Show elements when scrolling (header, floating buttons, navigation bar)" addSingle: "Add just one" diff --git a/locales/index.d.ts b/locales/index.d.ts index 389a93c70b..e76a927935 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -3,6 +3,8 @@ // Do not edit this file directly. export interface Locale { "_lang_": string; + "replayUserSetupDialog": string; + "replayTutorial": string; "nya": string; "displayHeaderNavBarWhenScroll": string; "addSingle": string; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 16293ee5ad..4344b5bdd0 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1,5 +1,7 @@ _lang_: "日本語" +replayUserSetupDialog: "初期設定のリプレイ" +replayTutorial: "チュートリアルのリプレイ" nya: "にゃん!" displayHeaderNavBarWhenScroll: "スクロール時の要素表示(ヘッダー、フローティングボタン、ナビゲーションバー)" addSingle: "一つだけ追加" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 4eff1e5f76..2a6b6c2412 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1,5 +1,7 @@ --- _lang_: "한국어" +replayUserSetupDialog: "초기 설정 다시 보기" +replayTutorial: "튜토리얼 다시 보기" nya: "냥!" displayHeaderNavBarWhenScroll: "스크롤 시 요소 표시 (헤더, 플로팅 버튼, 탐색 모음)" addSingle: "하나만 추가" diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index 4d6969d537..f3797bd4fa 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -3,11 +3,14 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +import { defineAsyncComponent } from 'vue'; import * as os from '@/os'; import { instance } from '@/instance'; import { host } from '@/config'; import { i18n } from '@/i18n'; import { $i } from '@/account'; +import { defaultStore } from '@/store'; +import { unisonReload } from '@/scripts/unison-reload'; export function openInstanceMenu(ev: MouseEvent) { os.popupMenu([{ @@ -69,6 +72,13 @@ export function openInstanceMenu(ev: MouseEvent) { icon: 'ti ti-icons', } : undefined], }, null, { + type: 'button', + text: i18n.ts.termsOfService, + icon: 'ti ti-checklist', + action: () => { + window.open(instance.tosUrl, '_blank'); + }, + }, { type: 'parent', text: i18n.ts.help, icon: 'ti ti-help-circle', @@ -83,6 +93,28 @@ export function openInstanceMenu(ev: MouseEvent) { text: i18n.ts._mfm.cheatSheet, icon: 'ti ti-help-circle', to: '/mfm-cheat-sheet', + }, null, { + type: 'button', + text: i18n.ts.replayUserSetupDialog, + icon: 'ti ti-list-numbers', + action: () => { + defaultStore.set('accountSetupWizard', 0); + os.popup(defineAsyncComponent(() => import('@/components/MkUserSetupDialog.vue')), {}, {}, 'closed'); + }, + }, { + type: 'button', + text: i18n.ts.replayTutorial, + icon: 'ti ti-checkup-list', + action: () => { + defaultStore.set('timelineTutorial', 0); + defaultStore.set('tlHomeHintClosed', false); + defaultStore.set('tlLocalHintClosed', false); + defaultStore.set('tlMediaHintClosed', false); + defaultStore.set('tlSocialHintClosed', false); + defaultStore.set('tlCatHintClosed', false); + defaultStore.set('tlGlobalHintClosed', false); + setTimeout(unisonReload, 100); + }, }], }, { type: 'link',