fix(icons): replace remaining hand-rolled inline SVGs with Lucide
telegram-login: close X and lock icons (auth-gate icon reused across telegram-login and cart - same 'log in required' concept, now the same lock icon in both instead of two different hand-drawn shapes); retry/refresh icon (QR expired/error states, was duplicated). Added missing aria-label on the close button (had none). catalog-empty-state, category, subcategories, item-detail: empty-state illustrations (package/search/grid), add-to-cart icons, success/error status icons, and thumbs up/down vote icons replaced. Rating stars (item-detail, both product rating and per-review rating) now use one Star icon with a color input and a .dx-star--filled CSS class for the solid/outline toggle, instead of hand-toggling raw fill/stroke SVG attributes - fixes the same rating-star pattern being drawn two different ways (outline-only in the carousel earlier, fill-toggling here). Added color input to app-icon (was stroke-only via currentColor before) and four more icons to the registry: refresh, thumbsUp/Down, locate/mapPin (added earlier this session). Also fixed the currency-dropdown chevron in language-selector that a prior replace_all missed (same markup, different [class.rotated] binding target). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -19,6 +19,7 @@ import { APP_ICONS, type AppIconName } from './icon-registry';
|
||||
<svg
|
||||
[lucideIcon]="iconData()"
|
||||
[size]="size()"
|
||||
[color]="color()"
|
||||
[strokeWidth]="strokeWidth()"
|
||||
[title]="ariaLabel()"
|
||||
></svg>
|
||||
@@ -32,6 +33,7 @@ import { APP_ICONS, type AppIconName } from './icon-registry';
|
||||
export class IconComponent {
|
||||
readonly name = input.required<AppIconName>();
|
||||
readonly size = input<number>(20);
|
||||
readonly color = input<string>('currentColor');
|
||||
readonly strokeWidth = input<number>(2);
|
||||
readonly ariaLabel = input<string | null>(null);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user