import { NgModule } from '@angular/core'
-import { RouteReuseStrategy, RouterModule, Routes } from '@angular/router'
+import { RouteReuseStrategy, RouterModule, Routes, UrlMatchResult, UrlSegment } from '@angular/router'
import { CustomReuseStrategy } from '@app/core/routing/custom-reuse-strategy'
import { MenuGuards } from '@app/core/routing/menu-guard.service'
import { POSSIBLE_LOCALES } from '@shared/core-utils/i18n'
import { PreloadSelectedModulesList } from './core'
import { EmptyComponent } from './empty.component'
+import { RootComponent } from './root.component'
const routes: Routes = [
{
loadChildren: () => import('./+signup/+verify-account/verify-account.module').then(m => m.VerifyAccountModule)
},
{
- path: 'accounts',
+ path: 'a',
loadChildren: () => import('./+accounts/accounts.module').then(m => m.AccountsModule)
},
{
- path: 'video-channels',
+ path: 'c',
loadChildren: () => import('./+video-channels/video-channels.module').then(m => m.VideoChannelsModule)
},
{
path: 'video-playlists/watch',
redirectTo: 'videos/watch/playlist'
},
+ {
+ path: 'accounts',
+ redirectTo: 'a'
+ },
+ {
+ path: 'video-channels',
+ redirectTo: 'c'
+ },
+ {
+ matcher: (url): UrlMatchResult => {
+ // Matches /@:actorName
+ if (url.length === 1 && url[0].path.match(/^@[\w]+$/gm)) {
+ return {
+ consumed: url,
+ posParams: {
+ actorName: new UrlSegment(url[0].path.substr(1), {})
+ }
+ }
+ }
+
+ return null
+ },
+ component: RootComponent
+ },
{
path: '',
component: EmptyComponent // Avoid 404, app component will redirect dynamically