<?php

namespace App\Enums;

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

enum ShippingType: string implements HasIcon, HasLabel
{
    case THEY_SHIP = 'They ship';
    case WE_SHIP   = 'We ship';
    case PICKUP    = 'Pickup';
    case OTHER     = 'Other';

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

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