diff --git a/app/Filament/Admin/Pages/Settings.php b/app/Filament/Admin/Pages/Settings.php index cd6dc6e7b..4332388c9 100644 --- a/app/Filament/Admin/Pages/Settings.php +++ b/app/Filament/Admin/Pages/Settings.php @@ -43,8 +43,6 @@ class Settings extends Page implements HasForms protected static ?string $navigationIcon = 'tabler-settings'; - protected static ?string $navigationGroup = 'Advanced'; - protected static string $view = 'filament.pages.settings'; public ?array $data = []; diff --git a/app/Filament/Admin/Resources/EggResource.php b/app/Filament/Admin/Resources/EggResource.php index 24cd52684..d5fc86f1a 100644 --- a/app/Filament/Admin/Resources/EggResource.php +++ b/app/Filament/Admin/Resources/EggResource.php @@ -12,6 +12,8 @@ class EggResource extends Resource protected static ?string $navigationIcon = 'tabler-eggs'; + protected static ?string $navigationGroup = 'Server'; + protected static ?string $recordTitleAttribute = 'name'; public static function getNavigationBadge(): ?string diff --git a/app/Filament/Admin/Resources/NodeResource.php b/app/Filament/Admin/Resources/NodeResource.php index c71a9d954..1a0e6b414 100644 --- a/app/Filament/Admin/Resources/NodeResource.php +++ b/app/Filament/Admin/Resources/NodeResource.php @@ -13,6 +13,8 @@ class NodeResource extends Resource protected static ?string $navigationIcon = 'tabler-server-2'; + protected static ?string $navigationGroup = 'Server'; + protected static ?string $recordTitleAttribute = 'name'; public static function getNavigationBadge(): ?string diff --git a/app/Filament/Admin/Resources/RoleResource.php b/app/Filament/Admin/Resources/RoleResource.php index 623811732..8c7843f28 100644 --- a/app/Filament/Admin/Resources/RoleResource.php +++ b/app/Filament/Admin/Resources/RoleResource.php @@ -24,7 +24,7 @@ class RoleResource extends Resource protected static ?string $navigationIcon = 'tabler-users-group'; - protected static ?string $navigationGroup = 'Advanced'; + protected static ?string $navigationGroup = 'User'; protected static ?string $recordTitleAttribute = 'name'; diff --git a/app/Filament/Admin/Resources/ServerResource.php b/app/Filament/Admin/Resources/ServerResource.php index 0ddf495bf..daf8a60b3 100644 --- a/app/Filament/Admin/Resources/ServerResource.php +++ b/app/Filament/Admin/Resources/ServerResource.php @@ -12,6 +12,8 @@ class ServerResource extends Resource protected static ?string $navigationIcon = 'tabler-brand-docker'; + protected static ?string $navigationGroup = 'Server'; + protected static ?string $recordTitleAttribute = 'name'; public static function getNavigationBadge(): ?string diff --git a/app/Filament/Admin/Resources/UserResource.php b/app/Filament/Admin/Resources/UserResource.php index 26d7fc5ef..12c203694 100644 --- a/app/Filament/Admin/Resources/UserResource.php +++ b/app/Filament/Admin/Resources/UserResource.php @@ -13,6 +13,8 @@ class UserResource extends Resource protected static ?string $navigationIcon = 'tabler-users'; + protected static ?string $navigationGroup = 'User'; + protected static ?string $recordTitleAttribute = 'username'; public static function getNavigationBadge(): ?string diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 98eb37bad..a79bac4f0 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -9,9 +9,9 @@ use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\DisableBladeIconComponents; use Filament\Http\Middleware\DispatchServingFilamentEvent; use Filament\Navigation\MenuItem; +use Filament\Navigation\NavigationGroup; use Filament\Panel; use Filament\PanelProvider; -use Filament\Support\Facades\FilamentAsset; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\EncryptCookies; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; @@ -22,28 +22,24 @@ use Illuminate\View\Middleware\ShareErrorsFromSession; class AdminPanelProvider extends PanelProvider { - public function boot(): void - { - FilamentAsset::registerCssVariables([ - 'sidebar-width' => '16rem !important', - ]); - } - public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') - ->topNavigation(config('panel.filament.top-navigation', true)) - ->login(Login::class) - ->breadcrumbs(false) ->homeUrl('/') - ->favicon(config('app.favicon', '/pelican.ico')) + ->spa() + ->databaseNotifications() + ->breadcrumbs(false) ->brandName(config('app.name', 'Pelican')) ->brandLogo(config('app.logo')) ->brandLogoHeight('2rem') + ->favicon(config('app.favicon', '/pelican.ico')) + ->topNavigation(config('panel.filament.top-navigation', true)) + ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl')) ->profile(EditProfile::class, false) + ->login(Login::class) ->userMenuItems([ MenuItem::make() ->label('Exit Admin') @@ -51,11 +47,16 @@ class AdminPanelProvider extends PanelProvider ->icon('tabler-arrow-back') ->sort(24), ]) - ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl')) - ->spa() + ->navigationGroups([ + NavigationGroup::make('Server') + ->collapsible(false), + NavigationGroup::make('User') + ->collapsible(false), + NavigationGroup::make('Advanced'), + ]) + ->sidebarCollapsibleOnDesktop() ->discoverResources(in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources') ->discoverPages(in: app_path('Filament/Admin/Pages'), for: 'App\\Filament\\Admin\\Pages') - ->databaseNotifications() ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, diff --git a/app/Providers/Filament/AppPanelProvider.php b/app/Providers/Filament/AppPanelProvider.php index e6f2d472f..8d5111878 100644 --- a/app/Providers/Filament/AppPanelProvider.php +++ b/app/Providers/Filament/AppPanelProvider.php @@ -26,6 +26,7 @@ class AppPanelProvider extends PanelProvider return $panel ->id('app') ->spa() + ->databaseNotifications() ->breadcrumbs(false) ->brandName(config('app.name', 'Pelican')) ->brandLogo(config('app.logo')) @@ -45,7 +46,6 @@ class AppPanelProvider extends PanelProvider ->visible(fn (): bool => auth()->user()->canAccessPanel(Filament::getPanel('admin'))), ]) ->discoverResources(in: app_path('Filament/App/Resources'), for: 'App\\Filament\\App\\Resources') - ->databaseNotifications() ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, diff --git a/app/Providers/Filament/ServerPanelProvider.php b/app/Providers/Filament/ServerPanelProvider.php index 37ecf5f16..9636d3b1e 100644 --- a/app/Providers/Filament/ServerPanelProvider.php +++ b/app/Providers/Filament/ServerPanelProvider.php @@ -33,6 +33,7 @@ class ServerPanelProvider extends PanelProvider ->path('app/server') ->homeUrl('/') ->spa() + ->databaseNotifications() ->tenant(Server::class) ->brandName(config('app.name', 'Pelican')) ->brandLogo(config('app.logo')) @@ -65,7 +66,6 @@ class ServerPanelProvider extends PanelProvider ->discoverResources(in: app_path('Filament/Server/Resources'), for: 'App\\Filament\\Server\\Resources') ->discoverPages(in: app_path('Filament/Server/Pages'), for: 'App\\Filament\\Server\\Pages') ->discoverWidgets(in: app_path('Filament/Server/Widgets'), for: 'App\\Filament\\Server\\Widgets') - ->databaseNotifications() ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class,