improvments are done

This commit is contained in:
sdarbinyan
2026-02-19 01:23:25 +04:00
parent e3efb270dd
commit 18df968b7a
42 changed files with 281 additions and 744 deletions

View File

@@ -4,7 +4,6 @@ import { environment } from '../../../environments/environment';
@Component({
selector: 'app-back-button',
standalone: true,
template: `
@if (!isnovo) {
<button class="dexar-back-btn" (click)="goBack()" aria-label="Назад">

View File

@@ -2,7 +2,6 @@ import { Component } from '@angular/core';
@Component({
selector: 'app-empty-cart-icon',
standalone: true,
templateUrl: './empty-cart-icon.component.html',
styleUrls: ['./empty-cart-icon.component.scss']
})

View File

@@ -1,14 +1,13 @@
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { RouterLink } from '@angular/router';
import { environment } from '../../../environments/environment';
@Component({
selector: 'app-footer',
standalone: true,
imports: [CommonModule, RouterLink],
imports: [RouterLink],
templateUrl: './footer.component.html',
styleUrls: ['./footer.component.scss']
styleUrls: ['./footer.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class FooterComponent {
currentYear = new Date().getFullYear();

View File

@@ -1,5 +1,4 @@
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { Router, RouterLink, RouterLinkActive } from '@angular/router';
import { CartService } from '../../services';
import { environment } from '../../../environments/environment';
@@ -8,10 +7,10 @@ import { LanguageSelectorComponent } from '../language-selector/language-selecto
@Component({
selector: 'app-header',
standalone: true,
imports: [CommonModule, RouterLink, RouterLinkActive, LogoComponent, LanguageSelectorComponent],
imports: [RouterLink, RouterLinkActive, LogoComponent, LanguageSelectorComponent],
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
styleUrls: ['./header.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class HeaderComponent {
cartItemCount;

View File

@@ -58,7 +58,6 @@
</a>
</div>
</ng-template>
<ul class="p-carousel-indicator-list" data-pc-section="indicatorlist"><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="1" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="2" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="3" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="4" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="5" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator" data-p-active="false" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="-1" aria-label="6" data-pc-section="indicatorbutton"></button></li><li class="p-carousel-indicator p-carousel-indicator-active" data-p-active="true" data-pc-section="indicator"><button type="button" class="p-carousel-indicator-button" tabindex="0" aria-label="7" aria-current="page" data-pc-section="indicatorbutton"></button></li><!----></ul>
</p-carousel>
}
</div>

View File

@@ -1,5 +1,5 @@
import { Component, OnInit, signal } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Component, OnInit, signal, ChangeDetectionStrategy } from '@angular/core';
import { DecimalPipe } from '@angular/common';
import { RouterLink } from '@angular/router';
import { CarouselModule } from 'primeng/carousel';
import { ButtonModule } from 'primeng/button';
@@ -7,13 +7,14 @@ import { TagModule } from 'primeng/tag';
import { ApiService, CartService } from '../../services';
import { Item } from '../../models';
import { environment } from '../../../environments/environment';
import { getDiscountedPrice, getMainImage } from '../../utils/item.utils';
@Component({
selector: 'app-items-carousel',
templateUrl: './items-carousel.component.html',
standalone: true,
imports: [CommonModule, RouterLink, CarouselModule, ButtonModule, TagModule],
styleUrls: ['./items-carousel.component.scss']
imports: [DecimalPipe, RouterLink, CarouselModule, ButtonModule, TagModule],
styleUrls: ['./items-carousel.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ItemsCarouselComponent implements OnInit {
products = signal<Item[]>([]);
@@ -93,19 +94,8 @@ export class ItemsCarouselComponent implements OnInit {
}
}
getItemImage(item: Item): string {
if (item.photos && item.photos.length > 0 && item.photos[0]?.url) {
return item.photos[0].url;
}
return '/assets/images/placeholder.jpg';
}
getDiscountedPrice(item: Item): number {
if (item.discount > 0) {
return item.price * (1 - item.discount / 100);
}
return item.price;
}
readonly getItemImage = getMainImage;
readonly getDiscountedPrice = getDiscountedPrice;
addToCart(event: Event, item: Item): void {
event.preventDefault();

View File

@@ -1,13 +1,12 @@
import { Component, HostListener, ElementRef } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Component, HostListener, ElementRef, ChangeDetectionStrategy } from '@angular/core';
import { LanguageService, Language } from '../../services/language.service';
@Component({
selector: 'app-language-selector',
standalone: true,
imports: [CommonModule],
imports: [],
templateUrl: './language-selector.component.html',
styleUrls: ['./language-selector.component.scss']
styleUrls: ['./language-selector.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class LanguageSelectorComponent {
dropdownOpen = false;

View File

@@ -3,7 +3,6 @@ import { environment } from '../../../environments/environment';
@Component({
selector: 'app-logo',
standalone: true,
template: `<img [src]="logoPath" [alt]="brandName + ' logo'" class="logo-img" fetchpriority="high" />`,
styles: [`
.logo-img {