diff --git a/src/app/core/services/event/event.interface.ts b/src/app/core/services/event/event.interface.ts index af35f52..a51cce6 100644 --- a/src/app/core/services/event/event.interface.ts +++ b/src/app/core/services/event/event.interface.ts @@ -2,6 +2,7 @@ import { ApiPaginatedResponse } from '../api-paginated-response.interface'; export interface StoreEvent { id: number; + slug: string; event_category_id: number | null; title: string; subtitle: string | null; diff --git a/src/app/core/services/event/event.service.ts b/src/app/core/services/event/event.service.ts index ebb186b..0affe3c 100644 --- a/src/app/core/services/event/event.service.ts +++ b/src/app/core/services/event/event.service.ts @@ -16,9 +16,9 @@ export class EventService extends BaseApiService { }); } - get(id: number): Observable> { + get(slug: string): Observable> { return this.http.get>( - `${this.tenantService.getTenantApiUrl()}/events/${id}`, + `${this.tenantService.getTenantApiUrl()}/events/${slug}`, ); } } diff --git a/src/app/features/store/components/event-card/event-card.component.html b/src/app/features/store/components/event-card/event-card.component.html index 75e1cb6..3c64eaa 100644 --- a/src/app/features/store/components/event-card/event-card.component.html +++ b/src/app/features/store/components/event-card/event-card.component.html @@ -1,4 +1,4 @@ - +
@if (event().image) { diff --git a/src/app/features/store/pages/event-detail-page/event-detail-page.component.ts b/src/app/features/store/pages/event-detail-page/event-detail-page.component.ts index 125dafd..e2fc382 100644 --- a/src/app/features/store/pages/event-detail-page/event-detail-page.component.ts +++ b/src/app/features/store/pages/event-detail-page/event-detail-page.component.ts @@ -62,9 +62,9 @@ export class EventDetailPageComponent { constructor() { this.route.paramMap.pipe( - map((params) => Number(params.get('id'))), - switchMap((id) => Number.isInteger(id) && id > 0 - ? this.events.get(id).pipe(map((response) => response.data), catchError(() => of(null))) + map((params) => params.get('slug')?.trim() ?? ''), + switchMap((slug) => slug + ? this.events.get(slug).pipe(map((response) => response.data), catchError(() => of(null))) : of(null)), takeUntilDestroyed(this.destroyRef), ).subscribe((event) => { diff --git a/src/app/features/store/store.routes.ts b/src/app/features/store/store.routes.ts index 70e6b74..9d1bd50 100644 --- a/src/app/features/store/store.routes.ts +++ b/src/app/features/store/store.routes.ts @@ -98,7 +98,7 @@ export const routes: Routes = [ import('./pages/search-page/search-page.component').then((m) => m.SearchPageComponent), }, { - path: 'evento/:id', + path: 'evento/:slug', canMatch: [isMultiEventStorefront], canActivate: [hasMenuGuard('event.detail')], loadComponent: () =>