X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fapp-routing.module.ts;h=bcae29c9a3e962087308c33cbd2d034082a7d4c3;hb=07098c33df3f5e00c2a150d3025abb779d0edb6c;hp=7ca51f226df24bf37c0055e85743ce3b5b5498de;hpb=b6a1dd4d1b3b0032f8b968e72cbd074f646e8827;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/app-routing.module.ts b/client/src/app/app-routing.module.ts index 7ca51f226..bcae29c9a 100644 --- a/client/src/app/app-routing.module.ts +++ b/client/src/app/app-routing.module.ts @@ -1,49 +1,81 @@ import { NgModule } from '@angular/core' import { RouteReuseStrategy, RouterModule, Routes } from '@angular/router' - -import { PreloadSelectedModulesList } from './core' -import { AppComponent } from '@app/app.component' import { CustomReuseStrategy } from '@app/core/routing/custom-reuse-strategy' +import { MenuGuards } from '@app/core/routing/menu-guard.service' +import { PreloadSelectedModulesList } from './core' +import { EmptyComponent } from './empty.component' +import { POSSIBLE_LOCALES } from '@shared/core-utils/i18n' const routes: Routes = [ { path: 'admin', - loadChildren: './+admin/admin.module#AdminModule' + canActivate: [ MenuGuards.close() ], + canDeactivate: [ MenuGuards.open() ], + loadChildren: () => import('./+admin/admin.module').then(m => m.AdminModule) }, { path: 'my-account', - loadChildren: './+my-account/my-account.module#MyAccountModule' + loadChildren: () => import('./+my-account/my-account.module').then(m => m.MyAccountModule) + }, + { + path: 'my-library', + loadChildren: () => import('./+my-library/my-library.module').then(m => m.MyLibraryModule) }, { path: 'verify-account', - loadChildren: './+signup/+verify-account/verify-account.module#VerifyAccountModule' + loadChildren: () => import('./+signup/+verify-account/verify-account.module').then(m => m.VerifyAccountModule) }, { path: 'accounts', - loadChildren: './+accounts/accounts.module#AccountsModule' + loadChildren: () => import('./+accounts/accounts.module').then(m => m.AccountsModule) }, { path: 'video-channels', - loadChildren: './+video-channels/video-channels.module#VideoChannelsModule' + loadChildren: () => import('./+video-channels/video-channels.module').then(m => m.VideoChannelsModule) }, { path: 'about', - loadChildren: './+about/about.module#AboutModule' + loadChildren: () => import('./+about/about.module').then(m => m.AboutModule) }, { path: 'signup', - loadChildren: './+signup/+register/register.module#RegisterModule' + loadChildren: () => import('./+signup/+register/register.module').then(m => m.RegisterModule) }, { - path: '', - component: AppComponent // Avoid 404, app component will redirect dynamically + path: 'reset-password', + loadChildren: () => import('./+reset-password/reset-password.module').then(m => m.ResetPasswordModule) + }, + { + path: 'login', + loadChildren: () => import('./+login/login.module').then(m => m.LoginModule) }, { - path: '**', - loadChildren: './+page-not-found/page-not-found.module#PageNotFoundModule' + path: 'search', + loadChildren: () => import('./+search/search.module').then(m => m.SearchModule) + }, + { + path: 'videos', + loadChildren: () => import('./+videos/videos.module').then(m => m.VideosModule) + }, + { + path: '', + component: EmptyComponent // Avoid 404, app component will redirect dynamically } ] +// Avoid 404 when changing language +for (const locale of POSSIBLE_LOCALES) { + routes.push({ + path: locale, + component: EmptyComponent + }) +} + +routes.push({ + path: '**', + loadChildren: () => import('./+page-not-found/page-not-found.module').then(m => m.PageNotFoundModule) +}) + @NgModule({ imports: [ RouterModule.forRoot(routes, { @@ -54,6 +86,7 @@ const routes: Routes = [ }) ], providers: [ + MenuGuards.guards, PreloadSelectedModulesList, { provide: RouteReuseStrategy, useClass: CustomReuseStrategy } ],