revert: remove language routing (was breaking navigation)
- Reverted app.routes.ts to original simple routing - Removed language guard - Language routing needs more comprehensive implementation
This commit is contained in:
@@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user