import { NgModule } from '@angular/core' import { RouterModule, Routes } from '@angular/router' import { LoginGuard } from '@app/core' import { VideoTrendingComponent } from './video-list' import { VideoOverviewComponent } from './video-list/overview/video-overview.component' import { VideoLocalComponent } from './video-list/video-local.component' import { VideoRecentlyAddedComponent } from './video-list/video-recently-added.component' import { VideoUserSubscriptionsComponent } from './video-list/video-user-subscriptions.component' import { VideosComponent } from './videos.component' const videosRoutes: Routes = [ { path: '', component: VideosComponent, children: [ { path: 'overview', component: VideoOverviewComponent, data: { meta: { title: $localize`Discover videos` } } }, { path: 'trending', component: VideoTrendingComponent, data: { meta: { title: $localize`Trending videos` } } }, { path: 'most-liked', redirectTo: 'trending?alg=most-liked' }, { path: 'recently-added', component: VideoRecentlyAddedComponent, data: { meta: { title: $localize`Recently added videos` }, reuse: { enabled: true, key: 'recently-added-videos-list' } } }, { path: 'subscriptions', canActivate: [ LoginGuard ], component: VideoUserSubscriptionsComponent, data: { meta: { title: $localize`Subscriptions` }, reuse: { enabled: true, key: 'subscription-videos-list' } } }, { path: 'local', component: VideoLocalComponent, data: { meta: { title: $localize`Local videos` }, reuse: { enabled: true, key: 'local-videos-list' } } } ] } ] @NgModule({ imports: [ RouterModule.forChild(videosRoutes) ], exports: [ RouterModule ] }) export class VideosRoutingModule {}