]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+videos/videos-routing.module.ts
Prevent hotkeys playback rate/seek with lives
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / videos-routing.module.ts
index f658182e01e44476046a847c4573ff30d53bad3c..8c777fbb6a5fe40ad49b6d362239e9e251dd9ca7 100644 (file)
@@ -1,20 +1,13 @@
 import { NgModule } from '@angular/core'
-import { RouterModule, Routes } from '@angular/router'
+import { RouterModule, Routes, UrlSegment } from '@angular/router'
 import { LoginGuard } from '@app/core'
-import { MetaGuard } from '@ngx-meta/core'
+import { VideosListCommonPageComponent } from './video-list'
 import { VideoOverviewComponent } from './video-list/overview/video-overview.component'
-import { VideoLocalComponent } from './video-list/video-local.component'
-import { VideoMostLikedComponent } from './video-list/video-most-liked.component'
-import { VideoRecentlyAddedComponent } from './video-list/video-recently-added.component'
-import { VideoTrendingComponent } from './video-list/video-trending.component'
 import { VideoUserSubscriptionsComponent } from './video-list/video-user-subscriptions.component'
-import { VideosComponent } from './videos.component'
 
 const videosRoutes: Routes = [
   {
     path: '',
-    component: VideosComponent,
-    canActivateChild: [ MetaGuard ],
     children: [
       {
         path: 'overview',
@@ -25,45 +18,35 @@ const videosRoutes: Routes = [
           }
         }
       },
+
       {
-        path: 'trending',
-        component: VideoTrendingComponent,
-        data: {
-          meta: {
-            title: $localize`Trending videos`
-          },
-          reuse: {
-            enabled: true,
-            key: 'trending-videos-list'
-          }
-        }
-      },
-      {
+        // Old URL redirection
         path: 'most-liked',
-        component: VideoMostLikedComponent,
-        data: {
-          meta: {
-            title: $localize`Most liked videos`
-          },
-          reuse: {
-            enabled: true,
-            key: 'most-liked-videos-list'
-          }
-        }
+        redirectTo: 'trending?sort=most-liked'
       },
       {
-        path: 'recently-added',
-        component: VideoRecentlyAddedComponent,
+        matcher: (url: UrlSegment[]) => {
+          if (url.length === 1 && [ 'recently-added', 'trending', 'local' ].includes(url[0].path)) {
+            return {
+              consumed: url,
+              posParams: {
+                page: new UrlSegment(url[0].path, {})
+              }
+            }
+          }
+
+          return null
+        },
+
+        component: VideosListCommonPageComponent,
         data: {
-          meta: {
-            title: $localize`Recently added videos`
-          },
           reuse: {
             enabled: true,
-            key: 'recently-added-videos-list'
+            key: 'videos-list'
           }
         }
       },
+
       {
         path: 'subscriptions',
         canActivate: [ LoginGuard ],
@@ -77,44 +60,6 @@ const videosRoutes: Routes = [
             key: 'subscription-videos-list'
           }
         }
-      },
-      {
-        path: 'local',
-        component: VideoLocalComponent,
-        data: {
-          meta: {
-            title: $localize`Local videos`
-          },
-          reuse: {
-            enabled: true,
-            key: 'local-videos-list'
-          }
-        }
-      },
-      {
-        path: 'upload',
-        loadChildren: () => import('@app/+videos/+video-edit/video-add.module').then(m => m.VideoAddModule),
-        data: {
-          meta: {
-            title: $localize`Upload a video`
-          }
-        }
-      },
-      {
-        path: 'update/:uuid',
-        loadChildren: () => import('@app/+videos/+video-edit/video-update.module').then(m => m.VideoUpdateModule),
-        data: {
-          meta: {
-            title: $localize`Edit a video`
-          }
-        }
-      },
-      {
-        path: 'watch',
-        loadChildren: () => import('@app/+videos/+video-watch/video-watch.module').then(m => m.VideoWatchModule),
-        data: {
-          preload: 3000
-        }
       }
     ]
   }