add startPage option, other fixes and improvements
This commit is contained in:
@@ -1,61 +1,62 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
|
||||
import { AuthGuard, AuthUpdateGuard, AuthenticatedGuard, AnonymousGuard, AdminGuard } from './auth/auth.guard';
|
||||
import { MainComponent } from './ui/main/main.component';
|
||||
import { FormLoginComponent } from './pages/form-login/form-login.component';
|
||||
import { FormLogin2FAComponent } from './pages/form-login-2fa/form-login-2fa.component';
|
||||
import { PasswordComponent } from './pages/password/password.component';
|
||||
import { PasswordResetComponent } from './pages/password-reset/password-reset.component';
|
||||
import { AdminGuard, AnonymousGuard, AuthGuard, AuthUpdateGuard, AuthenticatedGuard } from './auth/auth.guard';
|
||||
import { AccountComponent } from './pages/account/account.component';
|
||||
import { RegisterComponent } from './pages/register/register.component';
|
||||
import { TokensComponent } from './pages/tokens/tokens.component';
|
||||
import { ServicesComponent } from './pages/services/services.component';
|
||||
import { InfoComponent } from './pages/account/info/info.component';
|
||||
import { ProfileComponent } from './pages/account/profile/profile.component';
|
||||
import { VoucherComponent } from './pages/account/voucher/voucher.component';
|
||||
import { SecurityComponent } from './pages/account/security/security.component';
|
||||
import { UnavailableComponent } from './pages/unavailable/unavailable.component';
|
||||
import { NotfoundComponent } from './pages/notfound/notfound.component';
|
||||
import { UserComponent } from './pages/user/user.component'
|
||||
import { JitsiComponent } from './pages/jitsi/jitsi.component'
|
||||
import { ParteyComponent } from './pages/partey/partey.component'
|
||||
import { ParteyTimeslotsComponent } from './pages/partey/timeslots/timeslots.compontent'
|
||||
import { AliasesComponent } from './pages/account/aliases/aliases.component';
|
||||
import { DomainsComponent } from './pages/account/domains/domains.component';
|
||||
import { InvitesComponent } from './pages/invites/invites.component';
|
||||
import { UrlShortenerComponent, UrlShortenerPasswordComponent } from './pages/urlshortener/urlshortener.component';
|
||||
import { MinetestAccountsComponent } from './pages/minetest/accounts/accounts.component';
|
||||
import { DividertestComponent } from './pages/dividertest/dividertest.component'
|
||||
import { BorrowProvingComponent } from './pages/borrow/proving/proving.component';
|
||||
import { BorrowItemEditComponent, BorrowItemsComponent } from './pages/borrow/items/items.component';
|
||||
import { BorrowRequestsComponent } from './pages/borrow/requests/requests.component';
|
||||
import { BorrowComponent } from './pages/borrow/borrow.component';
|
||||
import { InviteCodeComponent } from './pages/invites/code/code.component';
|
||||
import { JukeboxComponent } from './pages/jukebox/jukebox.compontent';
|
||||
import { FormLoginOidcComponent } from './pages/form-login-oidc/form-login-oidc.component';
|
||||
import { DyndnsComponent } from './pages/account/dyndns/dyndns.component';
|
||||
import { InfoComponent } from './pages/account/info/info.component';
|
||||
import { ProfileComponent } from './pages/account/profile/profile.component';
|
||||
import { SecurityComponent } from './pages/account/security/security.component';
|
||||
import { VoucherComponent } from './pages/account/voucher/voucher.component';
|
||||
import { AdminComponent } from './pages/admin/admin.component';
|
||||
import { AdminUsersComponent } from './pages/admin/users/users.component';
|
||||
import { AdminServicesComponent } from './pages/admin/services/services.component';
|
||||
import { AdminPermissionsComponent } from './pages/admin/permissions/permissions.component';
|
||||
import { AdminQuotasComponent } from './pages/admin/quotas/quotas.component';
|
||||
import { AdminJitsiRoomsComponent } from './pages/admin/jitsi-rooms/jitsi-rooms.component';
|
||||
import { AdminMinetestAccountsComponent } from './pages/admin/minetest-accounts/minetest-accounts.component';
|
||||
import { AdminShortenedUrlsComponent } from './pages/admin/shortened-urls/shortened-urls.component';
|
||||
import { AdminJukeboxComponent } from './pages/admin/jukebox/jukebox.component';
|
||||
import { AdminParteyMapsComponent } from './pages/admin/partey-maps/partey-maps.component';
|
||||
import { AdminParteyTagsComponent } from './pages/admin/partey-tags/partey-tags.component';
|
||||
import { AdminParteyReportsComponent } from './pages/admin/partey-reports/partey-reports.component';
|
||||
import { AdminTimeslotsComponent } from './pages/admin/timeslots/timeslots.component';
|
||||
import { AdminSystemPropertiesComponent } from './pages/admin/system-properties/system-properties.component';
|
||||
import { AdminPermissionMappingsComponent } from './pages/admin/permission-mappings/permission-mappings.component';
|
||||
import { AdminQuotaMappingsComponent } from './pages/admin/quota-mappings/quota-mappings.component';
|
||||
import { AdminVoucherMappingsComponent } from './pages/admin/voucher-mappings/voucher-mappings.component';
|
||||
import { AdminSystemProfileFieldsComponent } from './pages/admin/system-profile-fields/system-profile-fields.component';
|
||||
import { AdminUserAliasesComponent } from './pages/admin/user-aliases/user-aliases.component';
|
||||
import { AdminOidcClientsComponent } from './pages/admin/oidc-clients/oidc-clients.component';
|
||||
import { AdminI18nComponent } from './pages/admin/i18n/i18n.component';
|
||||
import { AdminJitsiRoomsComponent } from './pages/admin/jitsi-rooms/jitsi-rooms.component';
|
||||
import { AdminJukeboxComponent } from './pages/admin/jukebox/jukebox.component';
|
||||
import { AdminMinetestAccountsComponent } from './pages/admin/minetest-accounts/minetest-accounts.component';
|
||||
import { AdminOidcClientsComponent } from './pages/admin/oidc-clients/oidc-clients.component';
|
||||
import { AdminParteyMapsComponent } from './pages/admin/partey-maps/partey-maps.component';
|
||||
import { AdminParteyReportsComponent } from './pages/admin/partey-reports/partey-reports.component';
|
||||
import { AdminParteyTagsComponent } from './pages/admin/partey-tags/partey-tags.component';
|
||||
import { AdminPermissionMappingsComponent } from './pages/admin/permission-mappings/permission-mappings.component';
|
||||
import { AdminPermissionsComponent } from './pages/admin/permissions/permissions.component';
|
||||
import { AdminQuotaMappingsComponent } from './pages/admin/quota-mappings/quota-mappings.component';
|
||||
import { AdminQuotasComponent } from './pages/admin/quotas/quotas.component';
|
||||
import { AdminServicesComponent } from './pages/admin/services/services.component';
|
||||
import { AdminShortenedUrlsComponent } from './pages/admin/shortened-urls/shortened-urls.component';
|
||||
import { AdminSystemProfileFieldsComponent } from './pages/admin/system-profile-fields/system-profile-fields.component';
|
||||
import { AdminSystemPropertiesComponent } from './pages/admin/system-properties/system-properties.component';
|
||||
import { AdminTimeslotsComponent } from './pages/admin/timeslots/timeslots.component';
|
||||
import { AdminUserAliasesComponent } from './pages/admin/user-aliases/user-aliases.component';
|
||||
import { AdminUsersComponent } from './pages/admin/users/users.component';
|
||||
import { AdminVoucherMappingsComponent } from './pages/admin/voucher-mappings/voucher-mappings.component';
|
||||
import { BorrowComponent } from './pages/borrow/borrow.component';
|
||||
import { BorrowItemsComponent } from './pages/borrow/items/items.component';
|
||||
import { BorrowProvingComponent } from './pages/borrow/proving/proving.component';
|
||||
import { BorrowRequestsComponent } from './pages/borrow/requests/requests.component';
|
||||
import { DividertestComponent } from './pages/dividertest/dividertest.component';
|
||||
import { FormLogin2FAComponent } from './pages/form-login-2fa/form-login-2fa.component';
|
||||
import { FormLoginOidcComponent } from './pages/form-login-oidc/form-login-oidc.component';
|
||||
import { FormLoginComponent } from './pages/form-login/form-login.component';
|
||||
import { StartPageComponent } from './pages/home-redirect/home-redirect.component';
|
||||
import { InviteCodeComponent } from './pages/invites/code/code.component';
|
||||
import { InvitesComponent } from './pages/invites/invites.component';
|
||||
import { JitsiComponent } from './pages/jitsi/jitsi.component';
|
||||
import { JukeboxComponent } from './pages/jukebox/jukebox.compontent';
|
||||
import { MinetestAccountsComponent } from './pages/minetest/accounts/accounts.component';
|
||||
import { NotfoundComponent } from './pages/notfound/notfound.component';
|
||||
import { ParteyComponent } from './pages/partey/partey.component';
|
||||
import { ParteyTimeslotsComponent } from './pages/partey/timeslots/timeslots.compontent';
|
||||
import { PasswordResetComponent } from './pages/password-reset/password-reset.component';
|
||||
import { PasswordComponent } from './pages/password/password.component';
|
||||
import { RegisterComponent } from './pages/register/register.component';
|
||||
import { ServicesComponent } from './pages/services/services.component';
|
||||
import { TokensComponent } from './pages/tokens/tokens.component';
|
||||
import { UnavailableComponent } from './pages/unavailable/unavailable.component';
|
||||
import { UrlShortenerComponent, UrlShortenerPasswordComponent } from './pages/urlshortener/urlshortener.component';
|
||||
import { UserComponent } from './pages/user/user.component';
|
||||
import { MainComponent } from './ui/main/main.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'profile/:username', component: UserComponent, canActivate: [AuthUpdateGuard] },
|
||||
@@ -64,10 +65,11 @@ const routes: Routes = [
|
||||
{ path: 'partey/manage', component: ParteyComponent, canActivate: [AuthenticatedGuard] },
|
||||
{
|
||||
path: '', component: MainComponent, children: [
|
||||
{ path: '', redirectTo: "/account/info", pathMatch: 'full' },
|
||||
{ path: '', redirectTo: "/home", pathMatch: 'full' },
|
||||
{ path: 'login', component: FormLoginComponent, canActivate: [AnonymousGuard] },
|
||||
{ path: 'login/2fa', component: FormLogin2FAComponent, canActivate: [AnonymousGuard] },
|
||||
{ path: 'login/oidc', component: FormLoginOidcComponent, canActivate: [AuthenticatedGuard] },
|
||||
{ path: 'home', component: StartPageComponent, canActivate: [AuthenticatedGuard] },
|
||||
{ path: 'service-login', component: FormLoginComponent, canActivate: [AnonymousGuard] },
|
||||
{ path: 'service-login/2fa', component: FormLogin2FAComponent, canActivate: [AnonymousGuard] },
|
||||
{ path: 'password', component: PasswordComponent, canActivate: [AnonymousGuard] },
|
||||
@@ -107,7 +109,8 @@ const routes: Routes = [
|
||||
{ path: 'invite/:code', component: InviteCodeComponent, canActivate: [AuthGuard] },
|
||||
{
|
||||
path: 'admin', component: AdminComponent, canActivate: [AdminGuard], children: [
|
||||
{ path: '', redirectTo: "/admin/users", pathMatch: 'full' },
|
||||
{ path: '', redirectTo: "/admin/i18n", pathMatch: 'full' },
|
||||
{ path: 'i18n', component: AdminI18nComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'users', component: AdminUsersComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'permissions', component: AdminPermissionsComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'permission-mappings', component: AdminPermissionMappingsComponent, canActivate: [AdminGuard] },
|
||||
@@ -126,8 +129,7 @@ const routes: Routes = [
|
||||
{ path: 'partey-maps', component: AdminParteyMapsComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'partey-tags', component: AdminParteyTagsComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'partey-reports', component: AdminParteyReportsComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'timeslots', component: AdminTimeslotsComponent, canActivate: [AdminGuard] },
|
||||
{ path: 'i18n', component: AdminI18nComponent, canActivate: [AdminGuard] }
|
||||
{ path: 'timeslots', component: AdminTimeslotsComponent, canActivate: [AdminGuard] }
|
||||
]
|
||||
},
|
||||
{ path: 'unavailable', component: UnavailableComponent },
|
||||
|
||||
Reference in New Issue
Block a user