From 9d3f3264fdd059f47537da48fd125cdd2f4bad1e Mon Sep 17 00:00:00 2001 From: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Mon, 7 Apr 2025 19:09:11 +0900 Subject: enhance: チャットの閲覧を無効化できるように (#15765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance: チャットの閲覧を無効化できるように * fix * fix * fix * readonlyの説明を追加 * enhance: チャットが無効な場合はチャット関連の設定も隠すように * fix * refactor: ChatServiceからApiに関するドメイン知識を排除 --- packages/frontend/src/router.definition.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'packages/frontend/src/router.definition.ts') diff --git a/packages/frontend/src/router.definition.ts b/packages/frontend/src/router.definition.ts index 23118160e2..d59b160b8b 100644 --- a/packages/frontend/src/router.definition.ts +++ b/packages/frontend/src/router.definition.ts @@ -16,6 +16,10 @@ export const page = (loader: AsyncComponentLoader) => defineAsyncComponent({ errorComponent: MkError, }); +function chatPage(...args: Parameters) { + return $i?.policies.chatAvailability !== 'unavailable' ? page(...args) : page(() => import('@/pages/not-found.vue')); +} + export const ROUTE_DEF = [{ path: '/@:username/pages/:pageName(*)', component: page(() => import('@/pages/page.vue')), @@ -42,19 +46,19 @@ export const ROUTE_DEF = [{ component: page(() => import('@/pages/clip.vue')), }, { path: '/chat', - component: page(() => import('@/pages/chat/home.vue')), + component: chatPage(() => import('@/pages/chat/home.vue')), loginRequired: true, }, { path: '/chat/user/:userId', - component: page(() => import('@/pages/chat/room.vue')), + component: chatPage(() => import('@/pages/chat/room.vue')), loginRequired: true, }, { path: '/chat/room/:roomId', - component: page(() => import('@/pages/chat/room.vue')), + component: chatPage(() => import('@/pages/chat/room.vue')), loginRequired: true, }, { path: '/chat/messages/:messageId', - component: page(() => import('@/pages/chat/message.vue')), + component: chatPage(() => import('@/pages/chat/message.vue')), loginRequired: true, }, { path: '/instance-info/:host', -- cgit v1.2.3-freya