diff --git a/locales/index.d.ts b/locales/index.d.ts index 70ff569e8fb5..d82afeeee837 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -4980,6 +4980,10 @@ export interface Locale extends ILocale { * フォローの際常に確認する */ readonly "alwaysConfirmFollow": string; + /** + * お問い合わせ + */ + readonly "inquiry": string; readonly "_delivery": { /** * 配信状態 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index ed3d3636454f..63d260d5fb93 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1241,6 +1241,7 @@ keepOriginalFilename: "オリジナルのファイル名を保持" keepOriginalFilenameDescription: "この設定をオフにすると、アップロード時にファイル名が自動でランダム文字列に置き換えられます。" noDescription: "説明文はありません" alwaysConfirmFollow: "フォローの際常に確認する" +inquiry: "お問い合わせ" _delivery: status: "配信状態" diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue index ca54d0b80c48..279371557eaf 100644 --- a/packages/frontend/src/components/MkVisitorDashboard.vue +++ b/packages/frontend/src/components/MkVisitorDashboard.vue @@ -65,6 +65,7 @@ import { i18n } from '@/i18n.js'; import { instance } from '@/instance.js'; import MkNumber from '@/components/MkNumber.vue'; import XActiveUsersChart from '@/components/MkVisitorDashboard.ActiveUsersChart.vue'; +import { openInstanceMenu } from '@/ui/_common_/common.js'; const stats = ref(null); @@ -85,43 +86,7 @@ function signup() { } function showMenu(ev) { - os.popupMenu([{ - text: i18n.ts.instanceInfo, - icon: 'ti ti-info-circle', - action: () => { - os.pageWindow('/about'); - }, - }, { - text: i18n.ts._tms.aboutTaiyme, - icon: 'ti ti-info-circle', - action: () => { - os.pageWindow('/tms/about'); - }, - }, { type: 'divider' }, (instance.impressumUrl) ? { - text: i18n.ts.impressum, - icon: 'ti ti-file-invoice', - action: () => { - window.open(instance.impressumUrl!, '_blank', 'noopener'); - }, - } : undefined, (instance.tosUrl) ? { - text: i18n.ts.termsOfService, - icon: 'ti ti-notebook', - action: () => { - window.open(instance.tosUrl!, '_blank', 'noopener'); - }, - } : undefined, (instance.privacyPolicyUrl) ? { - text: i18n.ts.privacyPolicy, - icon: 'ti ti-shield-lock', - action: () => { - window.open(instance.privacyPolicyUrl!, '_blank', 'noopener'); - }, - } : undefined, (!instance.impressumUrl && !instance.tosUrl && !instance.privacyPolicyUrl) ? undefined : { type: 'divider' }, { - text: i18n.ts.help, - icon: 'ti ti-help-circle', - action: () => { - window.open('https://misskey-hub.net/docs/for-users/', '_blank', 'noopener'); - }, - }], ev.currentTarget ?? ev.target); + openInstanceMenu(ev); } function exploreOtherServers() { diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts index f9c8a531afd1..5c079451b38a 100644 --- a/packages/frontend/src/router/definition.ts +++ b/packages/frontend/src/router/definition.ts @@ -200,6 +200,9 @@ const routes: RouteDef[] = [{ path: '/about', component: page(() => import('@/pages/about.vue')), hash: 'initialTab', +}, { + path: '/contact', + component: page(() => import('@/pages/contact.vue')), }, { path: '/about-misskey', redirect: '/tms/about', diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index c93608217048..5b3cc7636258 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -79,7 +79,12 @@ export function openInstanceMenu(ev: MouseEvent) { text: i18n.ts.tools, icon: 'ti ti-tool', children: toolsMenuItems(), - }, { type: 'divider' }, (instance.impressumUrl) ? { + }, { type: 'divider' }, { + type: 'link', + text: i18n.ts.inquiry, + icon: 'ti ti-help-circle', + to: '/contact', + }, (instance.impressumUrl) ? { text: i18n.ts.impressum, icon: 'ti ti-file-invoice', action: () => { @@ -98,8 +103,8 @@ export function openInstanceMenu(ev: MouseEvent) { window.open(instance.privacyPolicyUrl, '_blank', 'noopener'); }, } : undefined, (!instance.impressumUrl && !instance.tosUrl && !instance.privacyPolicyUrl) ? undefined : { type: 'divider' }, { - text: i18n.ts.help, - icon: 'ti ti-help-circle', + text: i18n.ts.document, + icon: 'ti ti-bulb', action: () => { window.open('https://misskey-hub.net/docs/for-users/', '_blank', 'noopener'); },