summaryrefslogtreecommitdiff
path: root/packages/frontend/src/router/definition.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/router/definition.ts')
-rw-r--r--packages/frontend/src/router/definition.ts55
1 files changed, 8 insertions, 47 deletions
diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts
index ab17f92ac6..aab4bf5d44 100644
--- a/packages/frontend/src/router/definition.ts
+++ b/packages/frontend/src/router/definition.ts
@@ -3,15 +3,14 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
-import { App, AsyncComponentLoader, defineAsyncComponent, provide } from 'vue';
-import type { RouteDef } from '@/nirax.js';
-import { IRouter, Router } from '@/nirax.js';
+import { AsyncComponentLoader, defineAsyncComponent } from 'vue';
+import type { IRouter, RouteDef } from '@/nirax.js';
+import { Router } from '@/nirax.js';
import { $i, iAmModerator } from '@/account.js';
import MkLoading from '@/pages/_loading_.vue';
import MkError from '@/pages/_error_.vue';
-import { setMainRouter } from '@/router/main.js';
-const page = (loader: AsyncComponentLoader<any>) => defineAsyncComponent({
+export const page = (loader: AsyncComponentLoader<any>) => defineAsyncComponent({
loader: loader,
loadingComponent: MkLoading,
errorComponent: MkError,
@@ -471,21 +470,13 @@ const routes: RouteDef[] = [{
name: 'relays',
component: page(() => import('@/pages/admin/relays.vue')),
}, {
- path: '/instance-block',
- name: 'instance-block',
- component: page(() => import('@/pages/admin/instance-block.vue')),
- }, {
- path: '/proxy-account',
- name: 'proxy-account',
- component: page(() => import('@/pages/admin/proxy-account.vue')),
- }, {
path: '/external-services',
name: 'external-services',
component: page(() => import('@/pages/admin/external-services.vue')),
}, {
- path: '/other-settings',
- name: 'other-settings',
- component: page(() => import('@/pages/admin/other-settings.vue')),
+ path: '/performance',
+ name: 'performance',
+ component: page(() => import('@/pages/admin/performance.vue')),
}, {
path: '/server-rules',
name: 'server-rules',
@@ -608,36 +599,6 @@ const routes: RouteDef[] = [{
component: page(() => import('@/pages/not-found.vue')),
}];
-function createRouterImpl(path: string): IRouter {
+export function createMainRouter(path: string): IRouter {
return new Router(routes, path, !!$i, page(() => import('@/pages/not-found.vue')));
}
-
-/**
- * {@link Router}による画面遷移を可能とするために{@link mainRouter}をセットアップする。
- * また、{@link Router}のインスタンスを作成するためのファクトリも{@link provide}経由で公開する(`routerFactory`というキーで取得可能)
- */
-export function setupRouter(app: App) {
- app.provide('routerFactory', createRouterImpl);
-
- const mainRouter = createRouterImpl(location.pathname + location.search + location.hash);
-
- window.addEventListener('popstate', (event) => {
- mainRouter.replace(location.pathname + location.search + location.hash, event.state?.key);
- });
-
- mainRouter.addListener('push', ctx => {
- window.history.pushState({ key: ctx.key }, '', ctx.path);
- });
-
- mainRouter.addListener('same', () => {
- window.scroll({ top: 0, behavior: 'smooth' });
- });
-
- mainRouter.addListener('replace', ctx => {
- window.history.replaceState({ key: ctx.key }, '', ctx.path);
- });
-
- mainRouter.init();
-
- setMainRouter(mainRouter);
-}