NewTube/src/app.routes.ts

99 lines
3.3 KiB
TypeScript

import { Routes } from '@angular/router';
export const APP_ROUTES: Routes = [
{ path: '', pathMatch: 'full', redirectTo: 't/trending' },
// Theme pages
{
path: 't/:theme',
loadComponent: () => import('./components/themes/theme-page.component').then(m => m.ThemePageComponent),
title: 'NewTube - Theme'
},
{
path: 'p/:provider/t/:theme',
loadComponent: () => import('./components/themes/provider-theme-page.component').then(m => m.ProviderThemePageComponent),
title: 'NewTube - Provider Theme'
},
{
path: 'search',
loadComponent: () => import('./components/search/search.component').then(m => m.SearchComponent),
title: 'NewTube - Search'
},
{
path: 'shorts',
loadComponent: () => import('./components/shorts/watch-short.component').then(m => m.WatchShortComponent),
title: 'NewTube - Shorts'
},
{
path: 'watch/:id',
loadComponent: () => import('./components/watch/watch.component').then(m => m.WatchComponent),
title: 'NewTube - Watch'
},
// Alias supporting provider in path: /watch/:provider/:id
{
path: 'watch/:provider/:id',
loadComponent: () => import('./components/watch/watch.component').then(m => m.WatchComponent),
title: 'NewTube - Watch'
},
{
path: 'library',
pathMatch: 'full',
redirectTo: 'library/playlists'
},
{
path: 'library/playlists',
loadComponent: () => import('./components/library/playlists/playlists.component').then(m => m.PlaylistsComponent),
title: 'NewTube - Playlists'
},
{
path: 'library/playlists/:id',
loadComponent: () => import('./components/library/playlists/playlist-detail.component').then(m => m.PlaylistDetailComponent),
title: 'NewTube - Playlist'
},
{
path: 'library/liked',
loadComponent: () => import('./components/library/liked/liked.component').then(m => m.LikedComponent),
title: 'NewTube - Liked'
},
{
path: 'library/subscriptions',
loadComponent: () => import('./components/library/subscriptions/subscriptions.component').then(m => m.SubscriptionsComponent),
title: 'NewTube - Subscriptions'
},
{
path: 'account',
pathMatch: 'full',
redirectTo: 'account/preferences'
},
{
path: 'account/preferences',
loadComponent: () => import('./components/account/preferences/preferences.component').then(m => m.PreferencesComponent),
title: 'NewTube - Preferences'
},
{
path: 'account/history',
loadComponent: () => import('./components/account/history/history.component').then(m => m.HistoryComponent),
title: 'NewTube - History'
},
{
path: 'account/sessions',
loadComponent: () => import('./components/account/sessions/sessions.component').then(m => m.SessionsComponent),
title: 'NewTube - Sessions'
},
{
path: 'auth/login',
loadComponent: () => import('./components/auth/login/login.component').then(m => m.LoginComponent),
title: 'NewTube - Login'
},
{
path: 'auth/register',
loadComponent: () => import('./components/auth/register/register.component').then(m => m.RegisterComponent),
title: 'NewTube - Register'
},
{
path: 'info/utilisation',
loadComponent: () => import('./components/info/utilisation/utilisation.component').then(m => m.UtilisationComponent),
title: 'NewTube - Utilisation'
},
{ path: '**', redirectTo: '' }
];