From 0be42fc3a93b8bc0eff7526f522b125eabc00d56 Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Wed, 28 Dec 2022 13:29:42 +0900 Subject: [PATCH] refactor --- packages/frontend/src/ui/_common_/common.ts | 63 ++++++++++++++++++ .../src/ui/_common_/navbar-for-mobile.vue | 65 +------------------ packages/frontend/src/ui/_common_/navbar.vue | 62 +----------------- 3 files changed, 66 insertions(+), 124 deletions(-) create mode 100644 packages/frontend/src/ui/_common_/common.ts diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts new file mode 100644 index 0000000000..10c9b66d47 --- /dev/null +++ b/packages/frontend/src/ui/_common_/common.ts @@ -0,0 +1,63 @@ +import * as os from '@/os'; +import { instance } from '@/instance'; +import { host } from '@/config'; +import { i18n } from '@/i18n'; + +export function openInstanceMenu(ev: MouseEvent) { + os.popupMenu([{ + text: instance.name ?? host, + type: 'label', + }, { + type: 'link', + text: i18n.ts.instanceInfo, + icon: 'ti ti-info-circle', + to: '/about', + }, { + type: 'link', + text: i18n.ts.customEmojis, + icon: 'ti ti-mood-happy', + to: '/about#emojis', + }, { + type: 'link', + text: i18n.ts.federation, + icon: 'ti ti-whirl', + to: '/about#federation', + }, { + type: 'link', + text: i18n.ts.charts, + icon: 'ti ti-chart-line', + to: '/about#charts', + }, null, { + type: 'parent', + text: i18n.ts.help, + icon: 'ti ti-question-circle', + children: [{ + type: 'link', + to: '/mfm-cheat-sheet', + text: i18n.ts._mfm.cheatSheet, + icon: 'ti ti-code', + }, { + type: 'link', + to: '/scratchpad', + text: i18n.ts.scratchpad, + icon: 'ti ti-terminal-2', + }, { + type: 'link', + to: '/api-console', + text: 'API Console', + icon: 'ti ti-terminal-2', + }, null, { + text: i18n.ts.document, + icon: 'ti ti-question-circle', + action: () => { + window.open('https://misskey-hub.net/help.html', '_blank'); + }, + }], + }, { + type: 'link', + text: i18n.ts.aboutMisskey, + to: '/about-misskey', + }], ev.currentTarget ?? ev.target, { + align: 'left', + }); +} diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue index 1af138f775..ac109d9def 100644 --- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue +++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue @@ -43,14 +43,12 @@ </template> <script lang="ts" setup> -import { computed, defineAsyncComponent, defineComponent, ref, toRef, watch } from 'vue'; -import { host } from '@/config'; -import { search } from '@/scripts/search'; +import { computed, defineAsyncComponent, ref, toRef, watch } from 'vue'; +import { openInstanceMenu } from './common'; import * as os from '@/os'; import { navbarItemDef } from '@/navbar'; import { openAccountMenu as openAccountMenu_ } from '@/account'; import { defaultStore } from '@/store'; -import { instance } from '@/instance'; import { i18n } from '@/i18n'; const menu = toRef(defaultStore.state, 'menu'); @@ -68,65 +66,6 @@ function openAccountMenu(ev: MouseEvent) { }, ev); } -function openInstanceMenu(ev: MouseEvent) { - os.popupMenu([{ - text: instance.name ?? host, - type: 'label', - }, { - type: 'link', - text: i18n.ts.instanceInfo, - icon: 'ti ti-info-circle', - to: '/about', - }, { - type: 'link', - text: i18n.ts.customEmojis, - icon: 'ti ti-mood-happy', - to: '/about#emojis', - }, { - type: 'link', - text: i18n.ts.federation, - icon: 'ti ti-whirl', - to: '/about#federation', - }, { - type: 'link', - text: i18n.ts.charts, - icon: 'ti ti-chart-line', - to: '/about#charts', - }, null, { - type: 'parent', - text: i18n.ts.help, - icon: 'ti ti-question-circle', - children: [{ - type: 'link', - to: '/mfm-cheat-sheet', - text: i18n.ts._mfm.cheatSheet, - icon: 'ti ti-code', - }, { - type: 'link', - to: '/scratchpad', - text: i18n.ts.scratchpad, - icon: 'ti ti-terminal-2', - }, { - type: 'link', - to: '/api-console', - text: 'API Console', - icon: 'ti ti-terminal-2', - }, null, { - text: i18n.ts.document, - icon: 'ti ti-question-circle', - action: () => { - window.open('https://misskey-hub.net/help.html', '_blank'); - }, - }], - }, { - type: 'link', - text: i18n.ts.aboutMisskey, - to: '/about-misskey', - }], ev.currentTarget ?? ev.target, { - align: 'left', - }); -} - function more() { os.popup(defineAsyncComponent(() => import('@/components/MkLaunchPad.vue')), {}, { }, 'closed'); diff --git a/packages/frontend/src/ui/_common_/navbar.vue b/packages/frontend/src/ui/_common_/navbar.vue index ffc6f7e1c6..7c859bf3aa 100644 --- a/packages/frontend/src/ui/_common_/navbar.vue +++ b/packages/frontend/src/ui/_common_/navbar.vue @@ -54,13 +54,12 @@ <script lang="ts" setup> import { computed, defineAsyncComponent, ref, watch } from 'vue'; +import { openInstanceMenu } from './common'; import * as os from '@/os'; import { navbarItemDef } from '@/navbar'; import { $i, openAccountMenu as openAccountMenu_ } from '@/account'; import { defaultStore } from '@/store'; import { i18n } from '@/i18n'; -import { instance } from '@/instance'; -import { host } from '@/config'; const iconOnly = ref(false); @@ -91,65 +90,6 @@ function openAccountMenu(ev: MouseEvent) { }, ev); } -function openInstanceMenu(ev: MouseEvent) { - os.popupMenu([{ - text: instance.name ?? host, - type: 'label', - }, { - type: 'link', - text: i18n.ts.instanceInfo, - icon: 'ti ti-info-circle', - to: '/about', - }, { - type: 'link', - text: i18n.ts.customEmojis, - icon: 'ti ti-mood-happy', - to: '/about#emojis', - }, { - type: 'link', - text: i18n.ts.federation, - icon: 'ti ti-whirl', - to: '/about#federation', - }, { - type: 'link', - text: i18n.ts.charts, - icon: 'ti ti-chart-line', - to: '/about#charts', - }, null, { - type: 'parent', - text: i18n.ts.help, - icon: 'ti ti-question-circle', - children: [{ - type: 'link', - to: '/mfm-cheat-sheet', - text: i18n.ts._mfm.cheatSheet, - icon: 'ti ti-code', - }, { - type: 'link', - to: '/scratchpad', - text: i18n.ts.scratchpad, - icon: 'ti ti-terminal-2', - }, { - type: 'link', - to: '/api-console', - text: 'API Console', - icon: 'ti ti-terminal-2', - }, null, { - text: i18n.ts.document, - icon: 'ti ti-question-circle', - action: () => { - window.open('https://misskey-hub.net/help.html', '_blank'); - }, - }], - }, { - type: 'link', - text: i18n.ts.aboutMisskey, - to: '/about-misskey', - }], ev.currentTarget ?? ev.target, { - align: 'left', - }); -} - function more(ev: MouseEvent) { os.popup(defineAsyncComponent(() => import('@/components/MkLaunchPad.vue')), { src: ev.currentTarget ?? ev.target,