Files
Toju/toju-app/src/app/app.routes.ts
2026-05-17 15:14:52 +02:00

78 lines
2.5 KiB
TypeScript

import { Routes } from '@angular/router';
/** Application route configuration with lazy-loaded feature components. */
export const routes: Routes = [
{
path: '',
redirectTo: 'search',
pathMatch: 'full'
},
{
path: 'login',
loadComponent: () =>
import('./domains/authentication/feature/login/login.component').then((module) => module.LoginComponent)
},
{
path: 'register',
loadComponent: () =>
import('./domains/authentication/feature/register/register.component').then((module) => module.RegisterComponent)
},
{
path: 'invite/:inviteId',
loadComponent: () =>
import('./domains/server-directory/feature/invite/invite.component').then((module) => module.InviteComponent)
},
{
path: 'search',
loadComponent: () =>
import('./domains/server-directory/feature/server-search/server-search.component').then(
(module) => module.ServerSearchComponent
)
},
{
path: 'room/:roomId',
loadComponent: () =>
import('./features/room/chat-room/chat-room.component').then((module) => module.ChatRoomComponent)
},
{
path: 'dm',
loadComponent: () =>
import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent)
},
{
path: 'dm/:conversationId',
loadComponent: () =>
import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent)
},
{
path: 'pm',
loadComponent: () =>
import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent)
},
{
path: 'pm/:conversationId',
loadComponent: () =>
import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent)
},
{
path: 'call/:callId',
loadComponent: () =>
import('./features/direct-call/private-call.component').then((module) => module.PrivateCallComponent)
},
{
path: 'settings',
loadComponent: () =>
import('./features/settings/settings.component').then((module) => module.SettingsComponent)
},
{
path: 'plugin-store',
loadComponent: () =>
import('./domains/plugins/feature/plugin-store/plugin-store.component').then((module) => module.PluginStoreComponent)
},
{
path: 'plugins/:pluginId/:pageId',
loadComponent: () =>
import('./domains/plugins/feature/plugin-page-host/plugin-page-host.component').then((module) => module.PluginPageHostComponent)
}
];