diff --git a/packages/frontend/src/global/router/definition.ts b/packages/frontend/src/global/router/definition.ts index 727d6b1bb251ca02fe233c239a6d84993fb5509d..c8448ce1988b821f45835bb5601ec0ade88cb9fd 100644 --- a/packages/frontend/src/global/router/definition.ts +++ b/packages/frontend/src/global/router/definition.ts @@ -523,6 +523,10 @@ const routes = [{ path: '/timeline/antenna/:antennaId', component: page(() => import('@/pages/antenna-timeline.vue')), loginRequired: true, +}, { + path: '/games', + component: page(() => import('@/pages/games.vue')), + loginRequired: true, }, { path: '/clicker', component: page(() => import('@/pages/clicker.vue')), diff --git a/packages/frontend/src/navbar.ts b/packages/frontend/src/navbar.ts index 95fd6bf29c37281c0be5f6cc58941c8c9951342d..e90d6c653c7b55df1facea000fbc4b8ea452a093 100644 --- a/packages/frontend/src/navbar.ts +++ b/packages/frontend/src/navbar.ts @@ -4,6 +4,7 @@ */ import { computed, reactive } from 'vue'; +import { clearCache } from './scripts/clear-cache.js'; import { $i } from '@/account.js'; import { miLocalStorage } from '@/local-storage.js'; import { openInstanceMenu, openToolsMenu } from '@/ui/_common_/common.js'; @@ -12,7 +13,6 @@ import * as os from '@/os.js'; import { i18n } from '@/i18n.js'; import { ui } from '@/config.js'; import { unisonReload } from '@/scripts/unison-reload.js'; -import { clearCache } from './scripts/clear-cache.js'; export const navbarItemDef = reactive({ notifications: { @@ -117,6 +117,11 @@ export const navbarItemDef = reactive({ show: computed(() => $i != null), to: '/my/achievements', }, + games: { + title: 'Misskey Games', + icon: 'ti ti-device-gamepad', + to: '/games', + }, ui: { title: i18n.ts.switchUi, icon: 'ti ti-devices', diff --git a/packages/frontend/src/pages/games.vue b/packages/frontend/src/pages/games.vue new file mode 100644 index 0000000000000000000000000000000000000000..5d2482ded1bc1949930a710622991c4ca7334b41 --- /dev/null +++ b/packages/frontend/src/pages/games.vue @@ -0,0 +1,27 @@ +<!-- +SPDX-FileCopyrightText: syuilo and other misskey contributors +SPDX-License-Identifier: AGPL-3.0-only +--> + +<template> +<MkStickyContainer> + <template #header><MkPageHeader/></template> + <MkSpacer :contentMax="800"> + <div class="_panel"> + <MkA to="/bubble-game"> + <img src="/client-assets/drop-and-fusion/logo.png" style="display: block; max-width: 100%; max-height: 200px; margin: auto;"/> + </MkA> + </div> + </MkSpacer> +</MkStickyContainer> +</template> + +<script lang="ts" setup> +import { i18n } from '@/i18n.js'; +import { definePageMetadata } from '@/scripts/page-metadata.js'; + +definePageMetadata({ + title: 'Misskey Games', + icon: 'ti ti-device-gamepad', +}); +</script> diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index 9930b321f7eb626c91f3a5c2f8654129c57f697c..b970ff1df46a627409f6c82c0d489b11ed36a769 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -27,11 +27,6 @@ function toolsMenuItems(): MenuItem[] { to: '/clicker', text: 'ðŸªðŸ‘ˆ', icon: 'ti ti-cookie', - }, { - type: 'link', - to: '/bubble-game', - text: i18n.ts.bubbleGame, - icon: 'ti ti-apple', }, ($i && ($i.isAdmin || $i.policies.canManageCustomEmojis)) ? { type: 'link', to: '/custom-emojis-manager',