import { Route } from '@angular/router'; import { AuthGuard } from 'app/core/auth/guards/auth.guard'; import { NoAuthGuard } from 'app/core/auth/guards/noAuth.guard'; import { LayoutComponent } from 'app/layout/layout.component'; import { InitialDataResolver } from 'app/app.resolvers'; // @formatter:off /* eslint-disable max-len */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ export const appRoutes: Route[] = [ // Redirect empty path to '/dashboards/user' { path: '', pathMatch: 'full', redirectTo: 'dashboards/user' }, // Redirect signed in user to the '/dashboards/user' // // After the user signs in, the sign in page will redirect the user to the 'signed-in-redirect' // path. Below is another redirection for that path to redirect the user to the desired // location. This is a small convenience to keep all main routes together here on this file. { path: 'signed-in-redirect', pathMatch: 'full', redirectTo: 'dashboards/user', }, // Auth routes for guests { path: '', canActivate: [NoAuthGuard], canActivateChild: [NoAuthGuard], component: LayoutComponent, data: { layout: 'empty', }, children: [ { path: 'confirmation-required', loadChildren: () => import( 'app/modules/auth/confirmation-required/confirmation-required.module' ).then((m: any) => m.AuthConfirmationRequiredModule), }, { path: 'forgot-password', loadChildren: () => import( 'app/modules/auth/forgot-password/forgot-password.module' ).then((m: any) => m.AuthForgotPasswordModule), }, { path: 'reset-password', loadChildren: () => import('app/modules/auth/reset-password/reset-password.module').then( (m: any) => m.AuthResetPasswordModule ), }, { path: 'sign-in', loadChildren: () => import('app/modules/auth/sign-in/sign-in.module').then( (m: any) => m.AuthSignInModule ), }, { path: 'sign-up', loadChildren: () => import('app/modules/auth/sign-up/sign-up.module').then( (m: any) => m.AuthSignUpModule ), }, ], }, // Auth routes for authenticated users { path: '', canActivate: [AuthGuard], canActivateChild: [AuthGuard], component: LayoutComponent, data: { layout: 'empty', }, children: [ { path: 'sign-out', loadChildren: () => import('app/modules/auth/sign-out/sign-out.module').then( (m: any) => m.AuthSignOutModule ), }, { path: 'unlock-session', loadChildren: () => import('app/modules/auth/unlock-session/unlock-session.module').then( (m: any) => m.AuthUnlockSessionModule ), }, ], }, // Landing routes { path: '', component: LayoutComponent, data: { layout: 'empty', }, children: [ { path: 'home', loadChildren: () => import('app/modules/landing/home/home.module').then( (m: any) => m.LandingHomeModule ), }, ], }, // Admin routes { path: '', canActivate: [AuthGuard], canActivateChild: [AuthGuard], component: LayoutComponent, resolve: { initialData: InitialDataResolver, }, children: [ // Dashboards { path: 'dashboards', children: [ { path: 'user', loadChildren: () => import('app/modules/admin/dashboards/user/user.module').then( (m: any) => m.UserModule ), }, ], }, // Apps { path: 'member', children: [ { path: 'user', loadChildren: () => import('app/modules/admin/member/user/user.module').then( (m: any) => m.UserModule ), }, { path: 'casinomoney', loadChildren: () => import( 'app/modules/admin/member/casinomoney/casinomoney.module' ).then((m: any) => m.CasinomoneyModule), }, { path: 'unconnected', loadChildren: () => import( 'app/modules/admin/member/unconnected/unconnected.module' ).then((m: any) => m.UnconnectedModule), }, { path: 'current-user', loadChildren: () => import( 'app/modules/admin/member/current-user/current-user.module' ).then((m: any) => m.CurrentUserModule), }, { path: 'partner', loadChildren: () => import('app/modules/admin/member/partner/partner.module').then( (m: any) => m.PartnerModule ), }, { path: 'partner-mainoffice', loadChildren: () => import( 'app/modules/admin/member/partner-mainoffice/partner-mainoffice.module' ).then((m: any) => m.PartnerMainofficeModule), }, { path: 'partner-branch', loadChildren: () => import( 'app/modules/admin/member/partner-branch/partner-branch.module' ).then((m: any) => m.PartnerBranchModule), }, { path: 'partner-division', loadChildren: () => import( 'app/modules/admin/member/partner-division/partner-division.module' ).then((m: any) => m.PartnerDivisionModule), }, { path: 'partner-office', loadChildren: () => import( 'app/modules/admin/member/partner-office/partner-office.module' ).then((m: any) => m.PartnerOfficeModule), }, { path: 'partner-store', loadChildren: () => import( 'app/modules/admin/member/partner-store/partner-store.module' ).then((m: any) => m.PartnerStoreModule), }, { path: 'partner-recommendation', loadChildren: () => import( 'app/modules/admin/member/partner-recommendation/partner-recommendation.module' ).then((m: any) => m.PartnerRecommendationModule), }, { path: 'coupon', loadChildren: () => import('app/modules/admin/member/coupon/coupon.module').then( (m: any) => m.CouponModule ), }, { path: 'coupon-moneylog', loadChildren: () => import( 'app/modules/admin/member/coupon-moneylog/coupon-moneylog.module' ).then((m: any) => m.CouponMoneylogModule), }, { path: 'coupon-log', loadChildren: () => import( 'app/modules/admin/member/coupon-log/coupon-log.module' ).then((m: any) => m.CouponLogModule), }, ], }, { path: 'bank', children: [ { path: 'deposit', loadChildren: () => import('app/modules/admin/bank/deposit/deposit.module').then( (m: any) => m.DepositModule ), }, { path: 'withdraw', loadChildren: () => import('app/modules/admin/bank/withdraw/withdraw.module').then( (m: any) => m.WithdrawModule ), }, ], }, { path: 'game', children: [ { path: 'powerball', loadChildren: () => import('app/modules/admin/game/powerball/powerball.module').then( (m: any) => m.PowerballModule ), }, { path: 'casino', loadChildren: () => import('app/modules/admin/game/casino/casino.module').then( (m: any) => m.CasinoModule ), }, { path: 'evolution', loadChildren: () => import('app/modules/admin/game/evolution/evolution.module').then( (m: any) => m.EvolutionModule ), }, { path: 'slot', loadChildren: () => import('app/modules/admin/game/slot/slot.module').then( (m: any) => m.SlotModule ), }, ], }, { path: 'settings', children: [ { path: 'basic', loadChildren: () => import('app/modules/admin/settings/basic/basic.module').then( (m: any) => m.BasicModule ), }, ], }, { path: 'report', children: [ { path: 'daily', loadChildren: () => import('app/modules/admin/report/daily/daily.module').then( (m: any) => m.DailyModule ), }, { path: 'monthly', loadChildren: () => import('app/modules/admin/report/monthly/monthly.module').then( (m: any) => m.MonthlyModule ), }, { path: 'daily-partner', loadChildren: () => import( 'app/modules/admin/report/daily-partner/daily-partner.module' ).then((m: any) => m.DailyPartnerModule), }, { path: 'today-bet', loadChildren: () => import( 'app/modules/admin/report/today-bet/today-bet.module' ).then((m: any) => m.TodayBetModule), }, { path: 'statistics', loadChildren: () => import( 'app/modules/admin/report/statistics/statistics.module' ).then((m: any) => m.StatisticsModule), }, { path: 'money-log', loadChildren: () => import( 'app/modules/admin/report/money-log/money-log.module' ).then((m: any) => m.MoneyLogModule), }, { path: 'comp-log', loadChildren: () => import('app/modules/admin/report/comp-log/comp-log.module').then( (m: any) => m.CompLogModule ), }, ], }, ], }, ];