<?php

namespace App\Enums;

/**
 * The lifecycle status of a contact form submission.
 */
enum ContactStatus: string
{
    case New = 'new';
    case Contacted = 'contacted';
    case Converted = 'converted';
    case Archived = 'archived';

    /**
     * Get the display label for the status.
     */
    public function label(): string
    {
        return match ($this) {
            self::New => 'New',
            self::Contacted => 'Contacted',
            self::Converted => 'Converted',
            self::Archived => 'Archived',
        };
    }

    /**
     * Get the badge color used to represent this status in the admin UI.
     */
    public function badgeColor(): string
    {
        return match ($this) {
            self::New => 'blue',
            self::Contacted => 'amber',
            self::Converted => 'green',
            self::Archived => 'zinc',
        };
    }
}
