Skip to content

Navigation Group Label not as expected in Cluster Sub navigation with Unit Enum #18358

@rajabilal555

Description

@rajabilal555

Package

filament/filament

Package Version

v4.1.10

Laravel Version

11.46.1

Livewire Version

v3.6.4

PHP Version

8.4.11

Problem description

My NavigationGroup Enum:

<?php

namespace App\Enums\Filament;

use Filament\Support\Contracts\HasLabel;

enum UserManagementGroup implements HasLabel
{
    case Employee;
    case Customer;
    case DeliveryMen;

    public function getLabel(): string
    {
        return match ($this) {
            self::Employee => __('messages.employee'),
            self::Customer => __('messages.customer_section'),
            self::DeliveryMen => __('messages.delivery_men'),
        };
    }
}

Usage:

<?php

namespace App\Filament\Clusters\UserManagement\Resources\Users;

use App\Enums\Filament\UserManagementGroup;
use App\Filament\Clusters\UserManagement\Resources\Users\Pages\CreateUser;
use App\Filament\Clusters\UserManagement\Resources\Users\Pages\EditUser;
use App\Filament\Clusters\UserManagement\Resources\Users\Pages\ListUsers;
use App\Filament\Clusters\UserManagement\Resources\Users\Pages\ViewUser;
use App\Filament\Clusters\UserManagement\Resources\Users\Schemas\UserForm;
use App\Filament\Clusters\UserManagement\Resources\Users\Schemas\UserInfolist;
use App\Filament\Clusters\UserManagement\Resources\Users\Tables\UsersTable;
use App\Filament\Clusters\UserManagement\UserManagementCluster;
use App\Models\User;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;

class UserResource extends Resource
{
    protected static ?string $model = User::class;

    protected static ?string $modelLabel = 'Customer';

    protected static string|BackedEnum|null $navigationIcon = Heroicon::Users;

    protected static string|\UnitEnum|null $navigationGroup = UserManagementGroup::Customer;

    protected static ?string $cluster = UserManagementCluster::class;

    protected static ?string $recordTitleAttribute = 'email';

    public static function form(Schema $schema): Schema
    {
        return UserForm::configure($schema);
    }
// ... more code...
}
Image

Expected behavior

The labels to show correctly...

Steps to reproduce

Use enums in cluster sub navigation resource

Reproduction repository (issue will be closed if this is not valid)

https://github.com/rajabilal555/filament-cluster-subnav-issue-repro

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions