File size: 2,562 Bytes
e4ab6d0 f8794d4 e4ab6d0 f8794d4 e4ab6d0 f8794d4 e4ab6d0 f8794d4 e4ab6d0 f8794d4 e4ab6d0 f8794d4 e4ab6d0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { ChatComponent } from './chat/chat.component';
import { HomeComponent } from './home/home.component';
import { ListenComponent } from './listen/listen.component';
import { GenerateQuestionsComponent } from './generate-questions/generate-questions.component';
import { VoiceComponent } from './voice/voice.component';
import { WritingComponent } from './writing/writing.component';
import { VocabularyBuilderComponent } from './vocabulary-builder/vocabulary-builder.component';
import { FindwordComponent } from './findword/findword.component';
import { ReadingComponent } from './reading/reading.component';
import { AuthenticationComponent } from './authentication/authentication.component';
import { authenticationGuard } from './authentication/authentication.guard'; // Use correct import
import { AuthComponent } from './auth/auth.component';
import { authGuard } from './auth/auth.guard';
import { rootRedirectGuard } from './auth/root-redirect.guard';
import { RootRedirectComponent } from './root-redirect/root-redirect.component';
import { SignInComponent } from './sign-in/sign-in.component';
// Define and export routes
export const routes: Routes = [
// Default public home page
{ path: '', component: HomeComponent, pathMatch: 'full' },
// Public home route (no guard)
{ path: 'home', component: HomeComponent },
// Protected module routes
{ path: 'chat', component: ChatComponent, canActivate: [authGuard] },
{ path: 'generate-questions', component: GenerateQuestionsComponent, canActivate: [authGuard] },
{ path: 'voice', component: VoiceComponent, canActivate: [authGuard] },
{ path: 'listen', component: ListenComponent, canActivate: [authGuard] },
{ path: 'writing', component: WritingComponent, canActivate: [authGuard] },
{ path: 'vocabulary-builder', component: VocabularyBuilderComponent, canActivate: [authGuard] },
{ path: 'findword', component: FindwordComponent, canActivate: [authGuard] },
{ path: 'reading', component: ReadingComponent, canActivate: [authGuard] },
// Auth routes
{ path: 'authentication', component: AuthenticationComponent },
// Use integrated SignIn (with embedded SignUp) for auth and login aliases
{ path: 'auth', component: SignInComponent },
{ path: 'login', component: SignInComponent },
// Fallback
{ path: '**', redirectTo: '' },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
|