diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-04-07 19:09:11 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-07 19:09:11 +0900 |
| commit | 9d3f3264fdd059f47537da48fd125cdd2f4bad1e (patch) | |
| tree | dedbf1433d0e003465b37e805519c5635b135466 /packages/frontend/src/router.definition.ts | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-9d3f3264fdd059f47537da48fd125cdd2f4bad1e.tar.gz misskey-9d3f3264fdd059f47537da48fd125cdd2f4bad1e.tar.bz2 misskey-9d3f3264fdd059f47537da48fd125cdd2f4bad1e.zip | |
enhance: チャットの閲覧を無効化できるように (#15765)
* enhance: チャットの閲覧を無効化できるように
* fix
* fix
* fix
* readonlyの説明を追加
* enhance: チャットが無効な場合はチャット関連の設定も隠すように
* fix
* refactor: ChatServiceからApiに関するドメイン知識を排除
Diffstat (limited to 'packages/frontend/src/router.definition.ts')
| -rw-r--r-- | packages/frontend/src/router.definition.ts | 12 |
1 files changed, 8 insertions, 4 deletions
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<typeof page>) { + 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', |