diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 57000b0..91e34f8 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -1,8 +1,6 @@ import { Routes } from '@angular/router'; -import { languageGuard } from './guards/language.guard'; -// Child routes without language prefix -const childRoutes: Routes = [ +export const routes: Routes = [ { path: '', loadComponent: () => import('./pages/home/home.component').then(m => m.HomeComponent) @@ -66,25 +64,9 @@ const childRoutes: Routes = [ { path: 'guarantee', loadComponent: () => import('./pages/info/guarantee/guarantee.component').then(m => m.GuaranteeComponent) - } -]; - -export const routes: Routes = [ - // Routes with language prefix: /ru, /en, /hy - { - path: ':lang', - canActivate: [languageGuard], - children: childRoutes }, - // Redirect root to default language - { - path: '', - pathMatch: 'full', - redirectTo: 'ru' - }, - // Catch-all: redirect unknown routes to home with default language { path: '**', - redirectTo: 'ru' + redirectTo: '' } ]; diff --git a/src/app/guards/language.guard.ts b/src/app/guards/language.guard.ts deleted file mode 100644 index 7cc6099..0000000 --- a/src/app/guards/language.guard.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { inject } from '@angular/core'; -import { CanActivateFn, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { LanguageService } from '../services/language.service'; - -export const languageGuard: CanActivateFn = ( - route: ActivatedRouteSnapshot, - state: RouterStateSnapshot -) => { - const languageService = inject(LanguageService); - const router = inject(Router); - - const langParam = route.paramMap.get('lang'); - - if (langParam) { - const validLanguage = languageService.languages.find( - l => l.code === langParam && l.enabled - ); - - if (validLanguage) { - languageService.setLanguage(langParam); - return true; - } else { - // Invalid language code - redirect to default language - const currentLang = languageService.currentLanguage(); - const pathWithoutLang = state.url.replace(`/${langParam}`, ''); - router.navigate([`/${currentLang}${pathWithoutLang || '/'}`]); - return false; - } - } - - return true; -}; - -export const redirectToLanguageGuard: CanActivateFn = ( - route: ActivatedRouteSnapshot, - state: RouterStateSnapshot -) => { - const languageService = inject(LanguageService); - const router = inject(Router); - - // Check if URL already has language prefix - const firstSegment = state.url.split('/')[1]; - const hasLangPrefix = languageService.languages.some( - l => l.code === firstSegment && l.enabled - ); - - if (!hasLangPrefix) { - // Redirect to URL with language prefix - const currentLang = languageService.currentLanguage(); - const newUrl = `/${currentLang}${state.url === '/' ? '' : state.url}`; - router.navigate([newUrl], { replaceUrl: true }); - return false; - } - - return true; -};