{{ item.text }}
diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue
index ca54d0b80c48..09e445458688 100644
--- a/packages/frontend/src/components/MkVisitorDashboard.vue
+++ b/packages/frontend/src/components/MkVisitorDashboard.vue
@@ -23,7 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.joinThisServer }}
- {{ i18n.ts.exploreOtherServers }}
+ {{ i18n.ts.exploreOtherServers }}
{{ i18n.ts.login }}
@@ -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 type { MenuItem } from '@/types/menu.js';
const stats = ref(null);
@@ -84,48 +85,66 @@ function signup() {
}, {}, 'closed');
}
-function showMenu(ev) {
- os.popupMenu([{
+function showMenu(ev: MouseEvent) {
+ const menu: MenuItem[] = [];
+ menu.push({
+ type: 'link',
text: i18n.ts.instanceInfo,
icon: 'ti ti-info-circle',
- action: () => {
- os.pageWindow('/about');
- },
- }, {
+ to: '/about',
+ });
+ menu.push({
+ type: 'link',
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,
+ to: '/tms/about',
+ });
+ menu.push({ type: 'divider' });
+ menu.push({
+ type: 'link',
+ text: i18n.ts.inquiry,
icon: 'ti ti-help-circle',
- action: () => {
- window.open('https://misskey-hub.net/docs/for-users/', '_blank', 'noopener');
- },
- }], ev.currentTarget ?? ev.target);
-}
+ to: '/contact',
+ });
+ if (instance.impressumUrl) {
+ menu.push({
+ type: 'a',
+ text: i18n.ts.impressum,
+ icon: 'ti ti-file-invoice',
+ href: instance.impressumUrl,
+ target: '_blank',
+ });
+ }
+ if (instance.tosUrl) {
+ menu.push({
+ type: 'a',
+ text: i18n.ts.termsOfService,
+ icon: 'ti ti-notebook',
+ href: instance.tosUrl,
+ target: '_blank',
+ });
+ }
+ if (instance.privacyPolicyUrl) {
+ menu.push({
+ type: 'a',
+ text: i18n.ts.privacyPolicy,
+ icon: 'ti ti-shield-lock',
+ href: instance.privacyPolicyUrl,
+ target: '_blank',
+ });
+ }
+ if (instance.impressumUrl || instance.tosUrl || instance.privacyPolicyUrl) {
+ menu.push({ type: 'divider' });
+ }
+ menu.push({
+ type: 'a',
+ text: i18n.ts.document,
+ icon: 'ti ti-bulb',
+ href: 'https://misskey-hub.net/docs/for-users/',
+ target: '_blank',
+ });
-function exploreOtherServers() {
- window.open('https://misskey-hub.net/servers/', '_blank', 'noopener');
+ os.popupMenu(menu, ev.currentTarget ?? ev.target);
}
diff --git a/packages/frontend/src/pages/about.overview.vue b/packages/frontend/src/pages/about.overview.vue
new file mode 100644
index 000000000000..14033ee07e39
--- /dev/null
+++ b/packages/frontend/src/pages/about.overview.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+ {{ i18n.ts.description }}
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.ts._tms.aboutTaiyme }}
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.ts.administrator }}
+
+ {{ instance.maintainerName }}
+ ({{ i18n.ts._tms.notYetProvided }})
+
+
+
+ {{ i18n.ts.contact }}
+
+ {{ instance.maintainerEmail }}
+ ({{ i18n.ts._tms.notYetProvided }})
+
+
+
+ {{ i18n.ts.inquiry }}
+
+ {{ instance.inquiryUrl }}
+ ({{ i18n.ts._tms.notYetProvided }})
+
+
+
+
+
+
+ {{ i18n.ts.impressum }}
+
+
+
+ {{ i18n.ts.serverRules }}
+
+ -
+
+
+
+
+
+
+ {{ i18n.ts.termsOfService }}
+
+
+
+ {{ i18n.ts.privacyPolicy }}
+
+
+
+ {{ i18n.ts.feedback }}
+
+
+
+
+
+
+
+ {{ i18n.ts.statistics }}
+
+
+ {{ i18n.ts.users }}
+ {{ number(stats.originalUsersCount) }}
+
+
+ {{ i18n.ts.notes }}
+ {{ number(stats.originalNotesCount) }}
+
+
+
+
+
+
+ Well-known resources
+
+ host-meta
+ host-meta.json
+ nodeinfo
+ robots.txt
+ manifest.json
+
+
+
+
+
+
+
+
diff --git a/packages/frontend/src/pages/about.vue b/packages/frontend/src/pages/about.vue
index d43186c7768d..8dfeb6d2a73e 100644
--- a/packages/frontend/src/pages/about.vue
+++ b/packages/frontend/src/pages/about.vue
@@ -8,103 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
- {{ i18n.ts.description }}
-
-
-
-
-
-
-
-
-
-
- {{ i18n.ts._tms.aboutTaiyme }}
-
-
-
-
-
-
-
-
-
-
- {{ i18n.ts.administrator }}
-
- {{ instance.maintainerName }}
- ({{ i18n.ts.notSet }})
-
-
-
- {{ i18n.ts.contact }}
-
- {{ instance.maintainerEmail }}
- ({{ i18n.ts.notSet }})
-
-
-
-
-
-
- {{ i18n.ts.impressum }}
-
-
-
- {{ i18n.ts.serverRules }}
-
- -
-
-
-
-
-
-
- {{ i18n.ts.termsOfService }}
-
-
-
- {{ i18n.ts.privacyPolicy }}
-
-
-
- {{ i18n.ts.feedback }}
-
-
-
-
-
-
-
- {{ i18n.ts.statistics }}
-
-
- {{ i18n.ts.users }}
- {{ number(stats.originalUsersCount) }}
-
-
- {{ i18n.ts.notes }}
- {{ number(stats.originalNotesCount) }}
-
-
-
-
-
-
- Well-known resources
-
- host-meta
- host-meta.json
- nodeinfo
- robots.txt
- manifest.json
-
-
-
+
@@ -121,28 +25,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
diff --git a/packages/frontend/src/pages/contact.vue b/packages/frontend/src/pages/contact.vue
index bcdcf4327552..b78c239d3785 100644
--- a/packages/frontend/src/pages/contact.vue
+++ b/packages/frontend/src/pages/contact.vue
@@ -7,18 +7,26 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
- {{ i18n.ts.inquiry }}
+
+
+ {{ i18n.ts.administrator }}
- {{ instance.inquiryUrl }}
+ {{ instance.maintainerName }}
+ ({{ i18n.ts._tms.notYetProvided }})
-
-
- {{ i18n.ts.email }}
+
+ {{ i18n.ts.contact }}
+
+ {{ instance.maintainerEmail }}
+ ({{ i18n.ts._tms.notYetProvided }})
+
+
+
+ {{ i18n.ts.inquiry }}
- {{ instance.maintainerEmail }}
+ {{ instance.inquiryUrl }}
+ ({{ i18n.ts._tms.notYetProvided }})
@@ -28,8 +36,8 @@ SPDX-License-Identifier: AGPL-3.0-only