diff --git a/packages/framework/src/Facades/Features.php b/packages/framework/src/Facades/Features.php index 078d40d2375..3ce7c204e80 100644 --- a/packages/framework/src/Facades/Features.php +++ b/packages/framework/src/Facades/Features.php @@ -5,6 +5,7 @@ namespace Hyde\Facades; use Hyde\Hyde; +use Illuminate\Support\Str; use Hyde\Pages\MarkdownPost; use Hyde\Pages\DocumentationPage; use Hyde\Enums\Feature; @@ -12,6 +13,7 @@ use Hyde\Support\Contracts\SerializableContract; use Illuminate\Support\Arr; +use function collect; use function is_array; use function array_filter; use function extension_loaded; @@ -53,7 +55,7 @@ public static function has(Feature $feature): bool */ public static function enabled(): array { - return Arr::map(Hyde::features()->features, fn (Feature $feature): string => $feature->value); + return Arr::map(Hyde::features()->features, fn (Feature $feature): string => Str::kebab($feature->name)); } public static function hasHtmlPages(): bool @@ -139,7 +141,7 @@ public static function hasTorchlight(): bool public function toArray(): array { return Arr::mapWithKeys(Feature::cases(), fn (Feature $feature): array => [ - $feature->value => static::has($feature), + Str::kebab($feature->name) => static::has($feature), ]); } @@ -152,9 +154,9 @@ public static function mock(string|array $feature, bool $enabled = null): void { foreach (is_array($feature) ? $feature : [$feature => $enabled] as $feature => $enabled) { if ($enabled !== true) { - Hyde::features()->features = array_filter(Hyde::features()->features, fn (Feature $search): bool => $search !== Feature::from($feature)); + Hyde::features()->features = array_filter(Hyde::features()->features, fn (Feature $search): bool => Str::kebab($search->name) !== $feature); } else { - Hyde::features()->features[] = Feature::from($feature); + Hyde::features()->features[] = collect(Feature::cases())->firstOrFail(fn (Feature $search): bool => Str::kebab($search->name) === $feature); } } }