'Foto', self::TEXT => 'Teks', self::GRAPHIC => 'Grafis', self::VIDEO => 'Video', }; } public function getColor(): string { return match ($this) { self::FOTO => 'info', self::TEXT => 'success', self::GRAPHIC => 'warning', self::VIDEO => 'danger', }; } public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn ($case) => [$case->value => $case->getLabel()]) ->toArray(); } }