Moved hard-coded icon names to IconEnum

This commit is contained in:
Nisse Lommerde 2025-02-11 14:50:09 -05:00
parent aa60cf18ee
commit 686cda21bf
5 changed files with 69 additions and 37 deletions

View File

@ -4,6 +4,7 @@
enum IconEnum: string
{
// Sidebar Icons
case DEFAULT = 'heroicon-o-rectangle-stack';
case INVOICE = 'lucide-file-text';
case ORDER = 'lucide-shopping-cart';
@ -13,14 +14,45 @@ enum IconEnum: string
case SHIPPING_ENTRY = 'lucide-truck';
case USER = 'lucide-users';
case TAX_RATE = 'lucide-circle-dollar-sign';
case DISTRIBUTE_PAYMENTS = 'lucide-rotate-cw';
case PRODUCT_SERVICE = 'heroicon-o-rectangle';
case CUSTOMER_SALES = 'lucide-book-user';
case INVOICE_REPORT = 'lucide-files';
case INVOICE_REPORT = 'lucide-file-spreadsheet';
case DISTRIBUTE_PAYMENTS = 'lucide-rotate-cw';
// Tabs
case TAB_ALL = 'lucide-layout-grid';
case TAB_OVERDUE = 'lucide-calendar-clock';
// Action Icons
case PRINT = 'lucide-printer';
case TRASH = 'lucide-trash-2';
case SAVE = 'lucide-save';
case COPY = 'lucide-copy';
// Invoice Status
case UNPAID = 'lucide-circle-x';
case PAID = 'lucide-circle-check';
case VOID = 'lucide-circle-slash';
// Order Attributes
case NEW_ART = 'lucide-brush';
case REPEAT = 'lucide-files';
case RUSH = 'lucide-bell-ring';
case EVENT = 'lucide-calendar-range';
case DIGITIZING = 'lucide-computer';
case GARMENTS = 'lucide-shirt';
case SUPPLIED_FILE = 'lucide-file-check';
// Order Status
case DRAFT = 'lucide-pencil';
case APPROVED = 'lucide-check-check';
case PRODUCTION = 'lucide-refresh-cw';
case SHIPPED = 'lucide-send';
case INVOICED = 'lucide-credit-card';
// Shipping Types (THEY_SHIP => SHIPPING_ENTRY)
case WE_SHIP = 'lucide-house';
case PICKUP = 'lucide-handshake';
case SHIPPING_OTHER = 'lucide-ellipsis';
}

View File

@ -29,9 +29,9 @@ public function getColor(): string|array|null
public function getIcon(): ?string
{
return match ($this) {
self::UNPAID => 'lucide-circle-x',
self::PAID => 'lucide-circle-check',
self::VOID => 'lucide-circle-slash',
self::UNPAID => IconEnum::UNPAID->value,
self::PAID => IconEnum::PAID->value,
self::VOID => IconEnum::VOID->value,
};
}
}

View File

@ -23,13 +23,13 @@ public function getLabel(): ?string
public function getIcon(): ?string
{
return match ($this) {
self::new_art => 'lucide-brush',
self::repeat => 'lucide-files',
self::rush => 'lucide-bell-ring',
self::event => 'lucide-calendar-range',
self::digitizing => 'lucide-computer',
self::garments => 'lucide-shirt',
self::supplied_file => 'lucide-file-check',
self::new_art => IconEnum::NEW_ART->value,
self::repeat => IconEnum::REPEAT->value,
self::rush => IconEnum::RUSH->value,
self::event => IconEnum::EVENT->value,
self::digitizing => IconEnum::DIGITIZING->value,
self::garments => IconEnum::GARMENTS->value,
self::supplied_file => IconEnum::SUPPLIED_FILE->value,
};
}
}

View File

@ -33,11 +33,11 @@ public function getColor(): string|array|null
public function getIcon(): ?string
{
return match ($this) {
self::DRAFT => 'lucide-pencil',
self::APPROVED => 'lucide-check-check',
self::PRODUCTION => 'lucide-refresh-cw',
self::SHIPPED => 'lucide-send',
self::INVOICED => 'lucide-credit-card',
self::DRAFT => IconEnum::DRAFT->value,
self::APPROVED => IconEnum::APPROVED->value,
self::PRODUCTION => IconEnum::PRODUCTION->value,
self::SHIPPED => IconEnum::SHIPPED->value,
self::INVOICED => IconEnum::INVOICED->value,
};
}
}

View File

@ -20,10 +20,10 @@ public function getLabel(): ?string
public function getIcon(): ?string
{
return match ($this) {
self::THEY_SHIP => 'lucide-truck',
self::WE_SHIP => 'lucide-house',
self::PICKUP => 'lucide-handshake',
self::OTHER => 'lucide-ellipsis'
self::THEY_SHIP => IconEnum::SHIPPING_ENTRY->value,
self::WE_SHIP => IconEnum::WE_SHIP->value,
self::PICKUP => IconEnum::PICKUP->value,
self::OTHER => IconEnum::SHIPPING_OTHER->value,
};
}
}