<?php

namespace App\Enums;

use Filament\Support\Contracts\HasIcon;
use Filament\Support\Contracts\HasLabel;

enum OrderAttributes: string implements HasIcon, HasLabel
{
    case new_art       = 'New Art';
    case repeat        = 'Repeat';
    case rush          = 'Rush';
    case event         = 'Event';
    case digitizing    = 'Digitizing';
    case garments      = 'Garments';
    case supplied_file = 'Customer Supplied File';

    public function getLabel(): ?string
    {
        return $this->value;
    }

    public function getIcon(): ?string
    {
        return match ($this) {
            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,
        };
    }
}
