<?php

namespace App\Filament;

use BackedEnum;
use Filament\Support\Contracts\HasIcon;
use Filament\Support\Contracts\HasLabel;
use Illuminate\Contracts\Support\Htmlable;

enum NavigationGroup implements HasIcon, HasLabel
{
    case Users;

    case Data;

    case System;

    public function getLabel(): string
    {
        return match ($this) {
            self::Users => 'Users',
            self::Data => 'Data',
            self::System => 'System',
        };
    }

    public function getIcon(): string|BackedEnum|Htmlable|null
    {
        return match ($this) {
            self::Users => 'heroicon-o-users',
            self::Data => 'heroicon-o-circle-stack',
            self::System => 'heroicon-o-cog-6-tooth',
        };
    }
}
