]>
Commit | Line | Data |
---|---|---|
df98563e | 1 | import { NgModule } from '@angular/core' |
dd24f1bb | 2 | import { RouterModule, Routes, UrlSegment } from '@angular/router' |
ba5d4a84 | 3 | import { LoginGuard } from '@app/core' |
dd24f1bb | 4 | import { VideosListCommonPageComponent } from './video-list' |
1942f11d | 5 | import { VideoOverviewComponent } from './video-list/overview/video-overview.component' |
67ed6552 | 6 | import { VideoUserSubscriptionsComponent } from './video-list/video-user-subscriptions.component' |
1942f11d | 7 | import { VideosComponent } from './videos.component' |
0629423c | 8 | |
693b1aba | 9 | const videosRoutes: Routes = [ |
0629423c | 10 | { |
1942f11d | 11 | path: '', |
0629423c C |
12 | component: VideosComponent, |
13 | children: [ | |
2d3741d6 C |
14 | { |
15 | path: 'overview', | |
16 | component: VideoOverviewComponent, | |
17 | data: { | |
18 | meta: { | |
f29f487e | 19 | title: $localize`Discover videos` |
2d3741d6 C |
20 | } |
21 | } | |
22 | }, | |
dd24f1bb | 23 | |
0629423c | 24 | { |
dd24f1bb | 25 | // Old URL redirection |
c07eb946 | 26 | path: 'most-liked', |
dd24f1bb | 27 | redirectTo: 'trending?sort=most-liked' |
c07eb946 | 28 | }, |
9bf9d2a5 | 29 | { |
dd24f1bb C |
30 | matcher: (url: UrlSegment[]) => { |
31 | if (url.length === 1 && [ 'recently-added', 'trending', 'local' ].includes(url[0].path)) { | |
32 | return { | |
33 | consumed: url, | |
34 | posParams: { | |
35 | page: new UrlSegment(url[0].path, {}) | |
36 | } | |
37 | } | |
38 | } | |
39 | ||
40 | return null | |
41 | }, | |
42 | ||
43 | component: VideosListCommonPageComponent, | |
b58c69a1 | 44 | data: { |
489290b8 C |
45 | reuse: { |
46 | enabled: true, | |
dd24f1bb | 47 | key: 'videos-list' |
b58c69a1 C |
48 | } |
49 | } | |
0629423c | 50 | }, |
dd24f1bb | 51 | |
066e94c5 | 52 | { |
22a16e36 | 53 | path: 'subscriptions', |
b2dd58a8 | 54 | canActivate: [ LoginGuard ], |
22a16e36 C |
55 | component: VideoUserSubscriptionsComponent, |
56 | data: { | |
57 | meta: { | |
f29f487e | 58 | title: $localize`Subscriptions` |
489290b8 C |
59 | }, |
60 | reuse: { | |
61 | enabled: true, | |
62 | key: 'subscription-videos-list' | |
22a16e36 C |
63 | } |
64 | } | |
0629423c C |
65 | } |
66 | ] | |
67 | } | |
df98563e | 68 | ] |
693b1aba C |
69 | |
70 | @NgModule({ | |
71 | imports: [ RouterModule.forChild(videosRoutes) ], | |
72 | exports: [ RouterModule ] | |
73 | }) | |
74 | export class VideosRoutingModule {} |