diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2024-05-01 14:12:36 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2024-05-01 14:12:36 +0900 |
| commit | ef630df443bdd24cfe0b086b0e2f94d87c4f53b7 (patch) | |
| tree | 939a91bfb489b8dea969160b5c6366753ea3248e /packages/frontend/src | |
| parent | fix type error (diff) | |
| download | misskey-ef630df443bdd24cfe0b086b0e2f94d87c4f53b7.tar.gz misskey-ef630df443bdd24cfe0b086b0e2f94d87c4f53b7.tar.bz2 misskey-ef630df443bdd24cfe0b086b0e2f94d87c4f53b7.zip | |
enhance(frontend): add contact page
Diffstat (limited to 'packages/frontend/src')
| -rw-r--r-- | packages/frontend/src/components/MkVisitorDashboard.vue | 39 | ||||
| -rw-r--r-- | packages/frontend/src/pages/contact.vue | 24 | ||||
| -rw-r--r-- | packages/frontend/src/router/definition.ts | 3 | ||||
| -rw-r--r-- | packages/frontend/src/ui/_common_/common.ts | 11 |
4 files changed, 37 insertions, 40 deletions
diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue index 611c7be216..f7963f9938 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'; const stats = ref<Misskey.entities.StatsResponse | null>(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.aboutMisskey, - icon: 'ti ti-info-circle', - action: () => { - os.pageWindow('/about-misskey'); - }, - }, { 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/pages/contact.vue b/packages/frontend/src/pages/contact.vue new file mode 100644 index 0000000000..3a694a7132 --- /dev/null +++ b/packages/frontend/src/pages/contact.vue @@ -0,0 +1,24 @@ +<!-- +SPDX-FileCopyrightText: syuilo and misskey-project +SPDX-License-Identifier: AGPL-3.0-only +--> + +<template> +<MkStickyContainer> + <template #header><MkPageHeader/></template> + <MkSpacer :contentMax="600" :marginMin="20"> + <div>{{ instance.maintainerEmail }}</div> + </MkSpacer> +</MkStickyContainer> +</template> + +<script lang="ts" setup> +import { i18n } from '@/i18n.js'; +import { definePageMetadata } from '@/scripts/page-metadata.js'; +import { instance } from '@/instance.js'; + +definePageMetadata(() => ({ + title: i18n.ts.inquiry, + icon: 'ti ti-help-circle', +})); +</script> diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts index c9f03b738f..c5b576f505 100644 --- a/packages/frontend/src/router/definition.ts +++ b/packages/frontend/src/router/definition.ts @@ -198,6 +198,9 @@ const routes: RouteDef[] = [{ component: page(() => import('@/pages/about.vue')), hash: 'initialTab', }, { + path: '/contact', + component: page(() => import('@/pages/contact.vue')), +}, { path: '/about-misskey', component: page(() => import('@/pages/about-misskey.vue')), }, { diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index 9b510a6292..839fa5faf8 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'); }, |