'Website', self::TIKTOK => 'Tiktok', self::YOUTUBE => 'Youtube', self::FACEBOOK => 'Facebook', self::INSTAGRAM => 'Instagram', self::TWITTER => 'Twitter', self::OTHER => 'Other', }; } public function getColor(): string { return match ($this) { self::WEBSITE => 'info', self::TIKTOK => 'success', self::YOUTUBE => 'warning', self::FACEBOOK => 'danger', self::INSTAGRAM => 'primary', self::TWITTER => 'secondary', self::OTHER => 'gray', }; } public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn ($case) => [$case->value => $case->getLabel()]) ->toArray(); } }