integration new apis

This commit is contained in:
sdarbinyan
2026-03-24 00:09:11 +04:00
parent 3445f55758
commit 56f4c56b9e
47 changed files with 2603 additions and 1577 deletions

View File

@@ -18,7 +18,7 @@
<div class="item-card">
<a [routerLink]="['/item', product.itemID] | langRoute" class="item-link">
<div class="item-image">
<img [src]="getItemImage(product)" [alt]="product.name" loading="lazy" />
<img [src]="getItemImage(product)" [alt]="itemName(product)" loading="lazy" />
@if (product.discount > 0) {
<span class="discount-badge">-{{ product.discount }}%</span>
}
@@ -32,7 +32,7 @@
</div>
<div class="item-details">
<h3 class="item-name">{{ product.name }}</h3>
<h3 class="item-name">{{ itemName(product) }}</h3>
@if (product.rating) {
<div class="item-rating">

View File

@@ -1,4 +1,4 @@
import { Component, OnInit, signal, ChangeDetectionStrategy } from '@angular/core';
import { Component, OnInit, signal, ChangeDetectionStrategy, inject } from '@angular/core';
import { DecimalPipe } from '@angular/common';
import { RouterLink } from '@angular/router';
import { CarouselModule } from 'primeng/carousel';
@@ -7,7 +7,8 @@ import { TagModule } from 'primeng/tag';
import { ApiService, CartService } from '../../services';
import { Item } from '../../models';
import { environment } from '../../../environments/environment';
import { getDiscountedPrice, getMainImage, getBadgeClass } from '../../utils/item.utils';
import { getDiscountedPrice, getMainImage, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
import { LanguageService } from '../../services/language.service';
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
import { TranslatePipe } from '../../i18n/translate.pipe';
@@ -100,6 +101,9 @@ export class ItemsCarouselComponent implements OnInit {
readonly getDiscountedPrice = getDiscountedPrice;
readonly getBadgeClass = getBadgeClass;
private langService = inject(LanguageService);
itemName(product: Item): string { return getTranslatedField(product, 'name', this.langService.currentLanguage()); }
addToCart(event: Event, item: Item): void {
event.preventDefault();
event.stopPropagation();