added language routing system

This commit is contained in:
sdarbinyan
2026-02-26 22:23:08 +04:00
parent a4765ffe98
commit e4206d8abc
34 changed files with 197 additions and 98 deletions

View File

@@ -1,13 +1,14 @@
import { Component, ChangeDetectionStrategy, Renderer2, inject, DOCUMENT } from '@angular/core';
import { Router, RouterLink, RouterLinkActive } from '@angular/router';
import { CartService } from '../../services';
import { CartService, LanguageService } from '../../services';
import { environment } from '../../../environments/environment';
import { LogoComponent } from '../logo/logo.component';
import { LanguageSelectorComponent } from '../language-selector/language-selector.component';
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
@Component({
selector: 'app-header',
imports: [RouterLink, RouterLinkActive, LogoComponent, LanguageSelectorComponent],
imports: [RouterLink, RouterLinkActive, LogoComponent, LanguageSelectorComponent, LangRoutePipe],
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
@@ -21,6 +22,7 @@ export class HeaderComponent {
private renderer = inject(Renderer2);
private document = inject(DOCUMENT);
private langService = inject(LanguageService);
constructor(private cartService: CartService, private router: Router) {
this.cartItemCount = this.cartService.itemCount;
@@ -41,12 +43,14 @@ export class HeaderComponent {
}
navigateToSearch(): void {
this.router.navigate(['/search']);
const lang = this.langService.currentLanguage();
this.router.navigate([`/${lang}/search`]);
}
navigateToCatalog(): void {
this.closeMenu();
this.router.navigate(['/']).then(() => {
const lang = this.langService.currentLanguage();
this.router.navigate([`/${lang}`]).then(() => {
setTimeout(() => {
this.document.getElementById('catalog')?.scrollIntoView({ behavior: 'smooth' });
}, 100);