diff --git a/src/app/features/search/components/search-bar/search-bar.component.html b/src/app/features/search/components/search-bar/search-bar.component.html
index 30a3013..88bfa34 100644
--- a/src/app/features/search/components/search-bar/search-bar.component.html
+++ b/src/app/features/search/components/search-bar/search-bar.component.html
@@ -26,7 +26,9 @@
}
-
+
@@ -44,7 +46,7 @@
[attr.aria-selected]="$index === activeSuggestionIndex()"
[attr.aria-label]="suggestionLabel(item)"
(click)="selectSuggestion(item)">
- {{ item.icon }}
+
{{ item.title }}
@if (item.subtitle) {
diff --git a/src/app/features/search/components/search-bar/search-bar.component.scss b/src/app/features/search/components/search-bar/search-bar.component.scss
index bc210bb..5c34ea3 100644
--- a/src/app/features/search/components/search-bar/search-bar.component.scss
+++ b/src/app/features/search/components/search-bar/search-bar.component.scss
@@ -59,11 +59,13 @@
.search-clear-btn {
min-width: 44px;
min-height: 44px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
border: 1px solid var(--border-color) !important;
border-radius: var(--radius-sm);
background: var(--bg-primary) !important;
color: var(--text-secondary) !important;
- font-size: var(--font-size-2xl, 1.25rem);
line-height: 1;
}
@@ -98,8 +100,8 @@
}
.suggestion-icon {
- font-size: var(--font-size-xs, 0.75rem);
- text-transform: uppercase;
+ display: flex;
+ align-items: center;
color: var(--text-secondary);
}
diff --git a/src/app/features/search/components/search-bar/search-bar.component.ts b/src/app/features/search/components/search-bar/search-bar.component.ts
index 1ba4d12..ca776bd 100644
--- a/src/app/features/search/components/search-bar/search-bar.component.ts
+++ b/src/app/features/search/components/search-bar/search-bar.component.ts
@@ -2,12 +2,13 @@ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input,
import { FormsModule } from '@angular/forms';
import { SearchSuggestion } from '../../models/search.model';
import { TranslatePipe } from '../../../../i18n/translate.pipe';
+import { IconComponent } from '../../../../shared/ui/icon/icon.component';
import { TrendingSearchesComponent } from '../trending-searches/trending-searches.component';
@Component({
selector: 'app-search-bar',
standalone: true,
- imports: [FormsModule, TranslatePipe, TrendingSearchesComponent],
+ imports: [FormsModule, TranslatePipe, IconComponent, TrendingSearchesComponent],
templateUrl: './search-bar.component.html',
styleUrls: ['./search-bar.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
diff --git a/src/app/features/search/facade/search.facade.ts b/src/app/features/search/facade/search.facade.ts
index aa526ed..34ea5bf 100644
--- a/src/app/features/search/facade/search.facade.ts
+++ b/src/app/features/search/facade/search.facade.ts
@@ -59,7 +59,7 @@ export class SearchFacade {
type: 'collection',
title: 'Smartphones',
text: 'Smartphones',
- icon: 'trending_up',
+ icon: 'trendingUp',
target: { route: '/search', query: { q: 'Smartphones' } }
},
{
@@ -67,7 +67,7 @@ export class SearchFacade {
type: 'collection',
title: 'Sneakers',
text: 'Sneakers',
- icon: 'trending_up',
+ icon: 'trendingUp',
target: { route: '/search', query: { q: 'Sneakers' } }
},
{
@@ -75,7 +75,7 @@ export class SearchFacade {
type: 'collection',
title: 'Headphones',
text: 'Headphones',
- icon: 'trending_up',
+ icon: 'trendingUp',
target: { route: '/search', query: { q: 'Headphones' } }
},
{
@@ -83,7 +83,7 @@ export class SearchFacade {
type: 'collection',
title: 'Laptops',
text: 'Laptops',
- icon: 'trending_up',
+ icon: 'trendingUp',
target: { route: '/search', query: { q: 'Laptops' } }
},
];
diff --git a/src/app/features/search/models/search.model.ts b/src/app/features/search/models/search.model.ts
index b3e433a..8294df0 100644
--- a/src/app/features/search/models/search.model.ts
+++ b/src/app/features/search/models/search.model.ts
@@ -1,4 +1,5 @@
import { Product, ProductSort } from '../../../core/products/models/product-domain.model';
+import { AppIconName } from '../../../shared/ui/icon/icon-registry';
export type SearchFilterType =
| 'checkbox'
@@ -33,7 +34,7 @@ export interface SearchSuggestion {
text: string;
kind?: 'live' | 'recent' | 'popular';
subtitle?: string;
- icon: string;
+ icon: AppIconName;
target: SearchNavigationTarget;
score?: number;
}
diff --git a/src/app/features/search/services/search-autocomplete.service.ts b/src/app/features/search/services/search-autocomplete.service.ts
index 215ff56..86ef827 100644
--- a/src/app/features/search/services/search-autocomplete.service.ts
+++ b/src/app/features/search/services/search-autocomplete.service.ts
@@ -22,7 +22,7 @@ export class SearchAutocompleteService {
text: item.name,
kind: 'live' as const,
subtitle: item.simpleDescription ?? '',
- icon: 'inventory_2',
+ icon: 'package',
target: { route: '/product', params: { id: item.itemID } },
score: this.score(item.name, normalized),
}))
@@ -39,7 +39,7 @@ export class SearchAutocompleteService {
text: item.title,
kind: 'live' as const,
subtitle: '',
- icon: 'category',
+ icon: 'folder',
target: { route: '/catalog', params: { id: item.id } },
score: this.score(item.title, normalized),
}))
@@ -57,7 +57,7 @@ export class SearchAutocompleteService {
text: tag,
kind: 'live' as const,
subtitle: '',
- icon: 'sell',
+ icon: 'tag',
target: { route: '/search', query: { q: tag } },
score: this.score(tag, normalized),
}))
@@ -71,7 +71,7 @@ export class SearchAutocompleteService {
text: query,
kind: 'live',
subtitle: 'search.aiSuggestionHint',
- icon: 'auto_awesome',
+ icon: 'zap',
target: { route: '/search', query: { q: query } },
score: 0,
}
diff --git a/src/app/shared/ui/icon/icon-registry.ts b/src/app/shared/ui/icon/icon-registry.ts
index 0034217..1acc8fe 100644
--- a/src/app/shared/ui/icon/icon-registry.ts
+++ b/src/app/shared/ui/icon/icon-registry.ts
@@ -73,6 +73,7 @@ import {
LucideThumbsDown as ThumbsDown,
LucideThumbsUp as ThumbsUp,
LucideTrash2 as Trash2,
+ LucideTrendingUp as TrendingUp,
LucideTriangleAlert as TriangleAlert,
LucideUpload as Upload,
LucideUser as User,
@@ -171,7 +172,8 @@ export const APP_ICONS = {
verified: BadgeCheck,
video: Video,
circle: Circle,
- zap: Zap
+ zap: Zap,
+ trendingUp: TrendingUp
} as const;
export type AppIconName = keyof typeof APP_ICONS;