diff --git a/packages/frontend/src/navbar.ts b/packages/frontend/src/navbar.ts index 780ba511ee..807fa86b49 100644 --- a/packages/frontend/src/navbar.ts +++ b/packages/frontend/src/navbar.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { computed, reactive } from 'vue'; +import { computed, defineAsyncComponent, reactive } from 'vue'; import { $i } from './account'; import { miLocalStorage } from './local-storage'; import { openInstanceMenu } from './ui/_common_/common'; @@ -11,6 +11,7 @@ import { lookup } from './scripts/lookup'; import * as os from '@/os'; import { i18n } from '@/i18n'; import { ui } from '@/config'; +import { defaultStore } from '@/store'; import { unisonReload } from '@/scripts/unison-reload'; export const navbarItemDef = reactive({ @@ -170,6 +171,28 @@ export const navbarItemDef = reactive({ 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); + }, }], ev.currentTarget ?? ev.target); }, },