added language routing system
This commit is contained in:
25
src/app/pipes/lang-route.pipe.ts
Normal file
25
src/app/pipes/lang-route.pipe.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { Pipe, PipeTransform, inject } from '@angular/core';
|
||||
import { LanguageService } from '../services/language.service';
|
||||
|
||||
@Pipe({
|
||||
name: 'langRoute',
|
||||
pure: false
|
||||
})
|
||||
export class LangRoutePipe implements PipeTransform {
|
||||
private langService = inject(LanguageService);
|
||||
|
||||
transform(value: string | (string | number)[]): string | (string | number)[] {
|
||||
const lang = this.langService.currentLanguage();
|
||||
|
||||
if (typeof value === 'string') {
|
||||
return value === '/' ? `/${lang}` : `/${lang}${value}`;
|
||||
}
|
||||
|
||||
if (Array.isArray(value) && value.length > 0) {
|
||||
const [first, ...rest] = value;
|
||||
return [`/${lang}${first}`, ...rest];
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user