From 0037b4a1d4b3f524a0e35df9a2eb7f795223ffce Mon Sep 17 00:00:00 2001 From: Boy132 Date: Wed, 23 Apr 2025 16:02:21 +0200 Subject: [PATCH] Only use navigation groups when using sidebar (#1288) * Revert "Remove `NavigationGroups` for Admin Navbar (#1248)" This reverts commit a1869002629b18500b346e5c505869bc45d43456. * make navigation groups conditional --- app/Filament/Admin/Resources/EggResource.php | 5 +++++ app/Filament/Admin/Resources/NodeResource.php | 5 +++++ app/Filament/Admin/Resources/RoleResource.php | 2 +- app/Filament/Admin/Resources/ServerResource.php | 5 +++++ app/Filament/Admin/Resources/UserResource.php | 5 +++++ app/Providers/Filament/AdminPanelProvider.php | 6 +++++- app/Providers/Filament/AppPanelProvider.php | 2 +- app/Providers/Filament/ServerPanelProvider.php | 2 +- lang/en/admin/dashboard.php | 2 ++ 9 files changed, 30 insertions(+), 4 deletions(-) diff --git a/app/Filament/Admin/Resources/EggResource.php b/app/Filament/Admin/Resources/EggResource.php index 234651828..2fe7d9d4e 100644 --- a/app/Filament/Admin/Resources/EggResource.php +++ b/app/Filament/Admin/Resources/EggResource.php @@ -19,6 +19,11 @@ class EggResource extends Resource return static::getModel()::count() ?: null; } + public static function getNavigationGroup(): ?string + { + return config('panel.filament.top-navigation', false) ? null : trans('admin/dashboard.server'); + } + public static function getNavigationLabel(): string { return trans('admin/egg.nav_title'); diff --git a/app/Filament/Admin/Resources/NodeResource.php b/app/Filament/Admin/Resources/NodeResource.php index 6758df398..0dbfa408d 100644 --- a/app/Filament/Admin/Resources/NodeResource.php +++ b/app/Filament/Admin/Resources/NodeResource.php @@ -30,6 +30,11 @@ class NodeResource extends Resource return trans('admin/node.model_label_plural'); } + public static function getNavigationGroup(): ?string + { + return config('panel.filament.top-navigation', false) ? null : trans('admin/dashboard.server'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::count() ?: null; diff --git a/app/Filament/Admin/Resources/RoleResource.php b/app/Filament/Admin/Resources/RoleResource.php index b63571ee8..0f9140cf8 100644 --- a/app/Filament/Admin/Resources/RoleResource.php +++ b/app/Filament/Admin/Resources/RoleResource.php @@ -48,7 +48,7 @@ class RoleResource extends Resource public static function getNavigationGroup(): ?string { - return trans('admin/dashboard.advanced'); + return config('panel.filament.top-navigation', false) ? trans('admin/dashboard.advanced') : trans('admin/dashboard.user'); } public static function getNavigationBadge(): ?string diff --git a/app/Filament/Admin/Resources/ServerResource.php b/app/Filament/Admin/Resources/ServerResource.php index 8666ba9ac..0fe7d9bb1 100644 --- a/app/Filament/Admin/Resources/ServerResource.php +++ b/app/Filament/Admin/Resources/ServerResource.php @@ -29,6 +29,11 @@ class ServerResource extends Resource return trans('admin/server.model_label_plural'); } + public static function getNavigationGroup(): ?string + { + return config('panel.filament.top-navigation', false) ? null : trans('admin/dashboard.server'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::count() ?: null; diff --git a/app/Filament/Admin/Resources/UserResource.php b/app/Filament/Admin/Resources/UserResource.php index b91323630..04bb45a43 100644 --- a/app/Filament/Admin/Resources/UserResource.php +++ b/app/Filament/Admin/Resources/UserResource.php @@ -43,6 +43,11 @@ class UserResource extends Resource return trans('admin/user.model_label_plural'); } + public static function getNavigationGroup(): ?string + { + return config('panel.filament.top-navigation', false) ? null : trans('admin/dashboard.user'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::count() ?: null; diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 96ca5c83d..afee87b13 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -37,7 +37,7 @@ class AdminPanelProvider extends PanelProvider ->brandLogo(config('app.logo')) ->brandLogoHeight('2rem') ->favicon(config('app.favicon', '/pelican.ico')) - ->topNavigation(config('panel.filament.top-navigation', true)) + ->topNavigation(config('panel.filament.top-navigation', false)) ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl')) ->defaultAvatarProvider(fn () => get_class(AvatarProvider::getProvider(config('panel.filament.avatar-provider')))) ->login(Login::class) @@ -53,6 +53,10 @@ class AdminPanelProvider extends PanelProvider ->sort(24), ]) ->navigationGroups([ + NavigationGroup::make(trans('admin/dashboard.server')) + ->collapsible(false), + NavigationGroup::make(trans('admin/dashboard.user')) + ->collapsible(false), NavigationGroup::make(trans('admin/dashboard.advanced')), ]) ->sidebarCollapsibleOnDesktop() diff --git a/app/Providers/Filament/AppPanelProvider.php b/app/Providers/Filament/AppPanelProvider.php index 7f0288627..da903f9c2 100644 --- a/app/Providers/Filament/AppPanelProvider.php +++ b/app/Providers/Filament/AppPanelProvider.php @@ -33,7 +33,7 @@ class AppPanelProvider extends PanelProvider ->brandLogo(config('app.logo')) ->brandLogoHeight('2rem') ->favicon(config('app.favicon', '/pelican.ico')) - ->topNavigation(config('panel.filament.top-navigation', true)) + ->topNavigation(config('panel.filament.top-navigation', false)) ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl')) ->defaultAvatarProvider(fn () => get_class(AvatarProvider::getProvider(config('panel.filament.avatar-provider')))) ->navigation(false) diff --git a/app/Providers/Filament/ServerPanelProvider.php b/app/Providers/Filament/ServerPanelProvider.php index 0760f069c..0fbb41d4e 100644 --- a/app/Providers/Filament/ServerPanelProvider.php +++ b/app/Providers/Filament/ServerPanelProvider.php @@ -40,7 +40,7 @@ class ServerPanelProvider extends PanelProvider ->brandLogo(config('app.logo')) ->brandLogoHeight('2rem') ->favicon(config('app.favicon', '/pelican.ico')) - ->topNavigation(config('panel.filament.top-navigation', true)) + ->topNavigation(config('panel.filament.top-navigation', false)) ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl')) ->defaultAvatarProvider(fn () => get_class(AvatarProvider::getProvider(config('panel.filament.avatar-provider')))) ->login(Login::class) diff --git a/lang/en/admin/dashboard.php b/lang/en/admin/dashboard.php index 46611dce2..49ff57726 100644 --- a/lang/en/admin/dashboard.php +++ b/lang/en/admin/dashboard.php @@ -4,6 +4,8 @@ return [ 'heading' => 'Welcome to Pelican!', 'version' => 'Version: :version', 'advanced' => 'Advanced', + 'server' => 'Server', + 'user' => 'User', 'sections' => [ 'intro-developers' => [ 'heading' => 'Information for Developers',