mirror of https://github.com/Chocobozzz/PeerTube
181 lines
5.1 KiB
TypeScript
181 lines
5.1 KiB
TypeScript
import { Routes } from '@angular/router'
|
|
import { CanDeactivateGuard, LoginGuard } from '../core'
|
|
import { MyAccountAbusesListComponent } from './my-account-abuses/my-account-abuses-list.component'
|
|
import { MyAccountApplicationsComponent } from './my-account-applications/my-account-applications.component'
|
|
import { MyAccountBlocklistComponent } from './my-account-blocklist/my-account-blocklist.component'
|
|
import { MyAccountServerBlocklistComponent } from './my-account-blocklist/my-account-server-blocklist.component'
|
|
import { MyAccountNotificationsComponent } from './my-account-notifications/my-account-notifications.component'
|
|
import { MyAccountSettingsComponent } from './my-account-settings/my-account-settings.component'
|
|
import { MyAccountImportExportComponent, UserImportExportService } from './my-account-import-export'
|
|
import { MyAccountComponent } from './my-account.component'
|
|
import { MyAccountTwoFactorComponent } from './my-account-settings/my-account-two-factor/my-account-two-factor.component'
|
|
import { AbuseService } from '@app/shared/shared-moderation/abuse.service'
|
|
import { BlocklistService } from '@app/shared/shared-moderation/blocklist.service'
|
|
import { VideoBlockService } from '@app/shared/shared-moderation/video-block.service'
|
|
import { TwoFactorService } from '@app/shared/shared-users/two-factor.service'
|
|
import { VideoCommentService } from '@app/shared/shared-video-comment/video-comment.service'
|
|
import { PluginPagesComponent } from '@app/shared/shared-plugin-pages/plugin-pages.component'
|
|
|
|
export default [
|
|
{
|
|
path: '',
|
|
component: MyAccountComponent,
|
|
providers: [
|
|
UserImportExportService,
|
|
TwoFactorService,
|
|
BlocklistService,
|
|
AbuseService,
|
|
VideoCommentService,
|
|
VideoBlockService
|
|
],
|
|
canActivateChild: [ LoginGuard ],
|
|
children: [
|
|
{
|
|
path: '',
|
|
redirectTo: 'settings',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'settings',
|
|
component: MyAccountSettingsComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Account settings`
|
|
}
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'two-factor-auth',
|
|
component: MyAccountTwoFactorComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Two factor authentication`
|
|
}
|
|
}
|
|
},
|
|
|
|
{
|
|
path: 'video-channels',
|
|
redirectTo: '/my-library/video-channels',
|
|
pathMatch: 'full'
|
|
},
|
|
|
|
{
|
|
path: 'video-playlists',
|
|
redirectTo: '/my-library/video-playlists',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'video-playlists/create',
|
|
redirectTo: '/my-library/video-playlists/create',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'video-playlists/:videoPlaylistId',
|
|
redirectTo: '/my-library/video-playlists/:videoPlaylistId',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'video-playlists/update/:videoPlaylistId',
|
|
redirectTo: '/my-library/video-playlists/update/:videoPlaylistId',
|
|
pathMatch: 'full'
|
|
},
|
|
|
|
{
|
|
path: 'videos',
|
|
redirectTo: '/my-library/videos',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'video-imports',
|
|
redirectTo: '/my-library/video-imports',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'subscriptions',
|
|
redirectTo: '/my-library/subscriptions',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'ownership',
|
|
redirectTo: '/my-library/ownership',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'blocklist/accounts',
|
|
component: MyAccountBlocklistComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Muted accounts`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'blocklist/servers',
|
|
component: MyAccountServerBlocklistComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Muted servers`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'history/videos',
|
|
redirectTo: '/my-library/history/videos',
|
|
pathMatch: 'full'
|
|
},
|
|
{
|
|
path: 'notifications',
|
|
component: MyAccountNotificationsComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Notifications`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'abuses',
|
|
component: MyAccountAbusesListComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`My abuse reports`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'applications',
|
|
component: MyAccountApplicationsComponent,
|
|
data: {
|
|
meta: {
|
|
title: $localize`Applications`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'import-export',
|
|
component: MyAccountImportExportComponent,
|
|
canDeactivate: [ CanDeactivateGuard ],
|
|
data: {
|
|
meta: {
|
|
title: $localize`Import/Export`
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: 'p',
|
|
children: [
|
|
{
|
|
path: '**',
|
|
component: PluginPagesComponent,
|
|
data: {
|
|
parentRoute: '/my-account',
|
|
pluginScope: 'my-account'
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
] satisfies Routes
|