78 lines
2.5 KiB
TypeScript
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)
|
|
}
|
|
];
|