diff --git a/src/app/components/language-selector/language-selector.component.html b/src/app/components/language-selector/language-selector.component.html index 6190a1a..3918622 100644 --- a/src/app/components/language-selector/language-selector.component.html +++ b/src/app/components/language-selector/language-selector.component.html @@ -26,9 +26,7 @@
diff --git a/src/app/components/telegram-login/telegram-login.component.html b/src/app/components/telegram-login/telegram-login.component.html index 8debe8a..32bd6a8 100644 --- a/src/app/components/telegram-login/telegram-login.component.html +++ b/src/app/components/telegram-login/telegram-login.component.html @@ -1,16 +1,12 @@ @if (showDialog()) {
@@ -95,12 +91,7 @@ @if (!hasSubcategories() && categoryItems().length === 0) {
- - - - - - +

{{ 'subcategories.emptyTitle' | translate }}

{{ 'subcategories.emptyDesc' | translate }}

diff --git a/src/app/pages/category/subcategories.component.ts b/src/app/pages/category/subcategories.component.ts index 862f997..67866b1 100644 --- a/src/app/pages/category/subcategories.component.ts +++ b/src/app/pages/category/subcategories.component.ts @@ -11,10 +11,11 @@ import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass, getTran import { ProductFacade } from '../../facades/platform/product.facade'; import { CategoryFacade } from '../../facades/platform/category.facade'; import { Category } from '../../core/categories/models/category-domain.model'; +import { IconComponent } from '../../shared/ui/icon/icon.component'; @Component({ selector: 'app-subcategories', - imports: [DecimalPipe, RouterLink, LangRoutePipe, TranslatePipe], + imports: [DecimalPipe, RouterLink, LangRoutePipe, TranslatePipe, IconComponent], templateUrl: './subcategories.component.html', styleUrls: ['./subcategories.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush diff --git a/src/app/pages/item-detail/item-detail.component.html b/src/app/pages/item-detail/item-detail.component.html index 599185f..7c90bab 100644 --- a/src/app/pages/item-detail/item-detail.component.html +++ b/src/app/pages/item-detail/item-detail.component.html @@ -42,11 +42,7 @@ } } @else {
- - - - - + {{ 'itemDetail.noImage' | translate }}
} @@ -76,9 +72,7 @@
@for (star of [1, 2, 3, 4, 5]; track star) { - - - + }
{{ item()!.rating }} @@ -104,7 +98,7 @@ {{ getStockLabel() }} @if (effectiveRemaining() != null) { - ({{ effectiveRemaining() }} øò.) + ({{ effectiveRemaining() }} ��.) }
@@ -177,11 +171,7 @@ } @@ -260,14 +250,14 @@ @if (reviewSubmitStatus() === 'success') {
- + {{ 'itemDetail.reviewSuccess' | translate }}
} @if (reviewSubmitStatus() === 'error') {
- + {{ 'itemDetail.reviewError' | translate }}
} @@ -287,9 +277,7 @@ @if (callback.rating) {
@for (star of [1, 2, 3, 4, 5]; track star) { - - - + }
} @@ -313,20 +301,20 @@ @for (question of item()!.questions!; track $index) {
-  + � {{ question.question }}
- Π+ � {{ question.answer }}
diff --git a/src/app/pages/item-detail/item-detail.component.scss b/src/app/pages/item-detail/item-detail.component.scss index c3e828e..e3038b6 100644 --- a/src/app/pages/item-detail/item-detail.component.scss +++ b/src/app/pages/item-detail/item-detail.component.scss @@ -204,6 +204,10 @@ $dx-card-bg: #f5f3f9; gap: 3px; } +.dx-star--filled svg path { + fill: currentColor; +} + .dx-rating-value { font-weight: 700; font-size: 1rem; @@ -310,7 +314,7 @@ $dx-card-bg: #f5f3f9; } } -// Variant chips (colour/size) — shared between platform and alt +// Variant chips (colour/size) � shared between platform and alt .dx-variants, .alt-variants { display: flex; flex-direction: column; @@ -812,7 +816,7 @@ $dx-card-bg: #f5f3f9; // ========== platform RESPONSIVE ========== -// Large desktop — constrain gallery height +// Large desktop � constrain gallery height @media (min-width: 1201px) { .dx-main-photo { max-height: 560px; diff --git a/src/app/pages/item-detail/item-detail.component.ts b/src/app/pages/item-detail/item-detail.component.ts index f2c4280..1ebc44a 100644 --- a/src/app/pages/item-detail/item-detail.component.ts +++ b/src/app/pages/item-detail/item-detail.component.ts @@ -14,10 +14,11 @@ import { TranslatePipe } from '../../i18n/translate.pipe'; import { TranslateService } from '../../i18n/translate.service'; import { ProductFacade } from '../../facades/platform/product.facade'; import { ProductCardComponent } from '../../components/product-card/product-card.component'; +import { IconComponent } from '../../shared/ui/icon/icon.component'; @Component({ selector: 'app-item-detail', - imports: [DecimalPipe, RouterLink, FormsModule, LangRoutePipe, TranslatePipe, ProductCardComponent], + imports: [DecimalPipe, RouterLink, FormsModule, LangRoutePipe, TranslatePipe, ProductCardComponent, IconComponent], templateUrl: './item-detail.component.html', styleUrls: ['./item-detail.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush diff --git a/src/app/shared/ui/icon/icon-registry.ts b/src/app/shared/ui/icon/icon-registry.ts index 1e5b96b..0034217 100644 --- a/src/app/shared/ui/icon/icon-registry.ts +++ b/src/app/shared/ui/icon/icon-registry.ts @@ -56,6 +56,7 @@ import { LucidePencil as Pencil, LucidePlus as Plus, LucidePlusCircle as PlusCircle, + LucideRefreshCw as RefreshCw, LucideSave as Save, LucideScale as Scale, LucideSearch as Search, @@ -69,6 +70,8 @@ import { LucideTable as Table, LucideTag as Tag, LucideTags as Tags, + LucideThumbsDown as ThumbsDown, + LucideThumbsUp as ThumbsUp, LucideTrash2 as Trash2, LucideTriangleAlert as TriangleAlert, LucideUpload as Upload, @@ -121,6 +124,7 @@ export const APP_ICONS = { plus: Plus, plusCircle: PlusCircle, minus: Minus, + refresh: RefreshCw, check: Check, checkCircle: CheckCircle2, x: X, @@ -162,6 +166,8 @@ export const APP_ICONS = { stop: Square, table: Table, layoutGrid: LayoutGrid, + thumbsUp: ThumbsUp, + thumbsDown: ThumbsDown, verified: BadgeCheck, video: Video, circle: Circle, diff --git a/src/app/shared/ui/icon/icon.component.ts b/src/app/shared/ui/icon/icon.component.ts index 3057de8..8baeab1 100644 --- a/src/app/shared/ui/icon/icon.component.ts +++ b/src/app/shared/ui/icon/icon.component.ts @@ -19,6 +19,7 @@ import { APP_ICONS, type AppIconName } from './icon-registry'; @@ -32,6 +33,7 @@ import { APP_ICONS, type AppIconName } from './icon-registry'; export class IconComponent { readonly name = input.required(); readonly size = input(20); + readonly color = input('currentColor'); readonly strokeWidth = input(2); readonly ariaLabel = input(null);