fix(front-end): fix no index in products #53

Merged
JoeKung merged 3 commits from dev into main 2026-03-23 17:36:11 +01:00
Showing only changes of commit a1cc9f18c4 - Show all commits

View File

@@ -14,7 +14,15 @@ import {
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
import { Router, RouterLink } from '@angular/router';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { catchError, combineLatest, finalize, of, switchMap, tap } from 'rxjs';
import {
EMPTY,
catchError,
combineLatest,
finalize,
of,
switchMap,
tap,
} from 'rxjs';
import { SeoService } from '../../core/services/seo.service';
import { LanguageService } from '../../core/services/language.service';
import { findColorHex, getColorHex } from '../../core/constants/colors.const';
@@ -220,7 +228,12 @@ export class ProductDetailComponent {
this.modelModalOpen.set(false);
}),
switchMap(([productSlug]) => {
if (!productSlug) {
if (productSlug === undefined) {
return EMPTY;
}
const normalizedProductSlug = productSlug.trim();
if (!normalizedProductSlug) {
this.languageService.clearLocalizedRouteOverrides();
this.error.set('SHOP.NOT_FOUND');
this.setResponseStatus(404);
@@ -229,7 +242,9 @@ export class ProductDetailComponent {
return of(null);
}
return this.shopService.getProductByPublicPath(productSlug).pipe(
return this.shopService
.getProductByPublicPath(normalizedProductSlug)
.pipe(
catchError((error) => {
this.languageService.clearLocalizedRouteOverrides();
this.product.set(null);