change order of operations when registering panel

this makes sure plugins always register after our default configuration
This commit is contained in:
Boy132 2025-11-03 15:52:16 +01:00
parent 217685dd79
commit 4f1e98c09e
4 changed files with 22 additions and 18 deletions

View File

@ -3,6 +3,7 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use AchyutN\FilamentLogViewer\FilamentLogViewer; use AchyutN\FilamentLogViewer\FilamentLogViewer;
use App\Facades\Plugins;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Facades\Filament; use Filament\Facades\Filament;
use Filament\Navigation\NavigationGroup; use Filament\Navigation\NavigationGroup;
@ -12,12 +13,10 @@ class AdminPanelProvider extends PanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
$panel $panel = parent::panel($panel)
->id('admin') ->id('admin')
->path('admin') ->path('admin')
->homeUrl('/'); ->homeUrl('/')
return parent::panel($panel)
->breadcrumbs(false) ->breadcrumbs(false)
->sidebarCollapsibleOnDesktop(fn () => !$panel->hasTopNavigation()) ->sidebarCollapsibleOnDesktop(fn () => !$panel->hasTopNavigation())
->userMenuItems([ ->userMenuItems([
@ -42,5 +41,9 @@ class AdminPanelProvider extends PanelProvider
->navigationGroup(fn () => trans('admin/dashboard.advanced')) ->navigationGroup(fn () => trans('admin/dashboard.advanced'))
->navigationIcon('tabler-file-info'), ->navigationIcon('tabler-file-info'),
]); ]);
Plugins::loadPanelPlugins($panel);
return $panel;
} }
} }

View File

@ -3,6 +3,7 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use AchyutN\FilamentLogViewer\FilamentLogViewer; use AchyutN\FilamentLogViewer\FilamentLogViewer;
use App\Facades\Plugins;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Facades\Filament; use Filament\Facades\Filament;
use Filament\Panel; use Filament\Panel;
@ -11,11 +12,9 @@ class AppPanelProvider extends PanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
$panel $panel = parent::panel($panel)
->id('app') ->id('app')
->default(); ->default()
return parent::panel($panel)
->breadcrumbs(false) ->breadcrumbs(false)
->navigation(false) ->navigation(false)
->topbar(true) ->topbar(true)
@ -31,5 +30,9 @@ class AppPanelProvider extends PanelProvider
FilamentLogViewer::make() FilamentLogViewer::make()
->authorize(false), ->authorize(false),
]); ]);
Plugins::loadPanelPlugins($panel);
return $panel;
} }
} }

View File

@ -3,7 +3,6 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use App\Enums\CustomizationKey; use App\Enums\CustomizationKey;
use App\Facades\Plugins;
use App\Filament\Pages\Auth\EditProfile; use App\Filament\Pages\Auth\EditProfile;
use App\Filament\Pages\Auth\Login; use App\Filament\Pages\Auth\Login;
use App\Http\Middleware\LanguageMiddleware; use App\Http\Middleware\LanguageMiddleware;
@ -28,7 +27,7 @@ abstract class PanelProvider extends BasePanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
$panel return $panel
->spa() ->spa()
->databaseNotifications() ->databaseNotifications()
->brandName(config('app.name', 'Pelican')) ->brandName(config('app.name', 'Pelican'))
@ -95,9 +94,5 @@ abstract class PanelProvider extends BasePanelProvider
->authMiddleware([ ->authMiddleware([
Authenticate::class, Authenticate::class,
]); ]);
Plugins::loadPanelPlugins($panel);
return $panel;
} }
} }

View File

@ -2,6 +2,7 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use App\Facades\Plugins;
use App\Filament\Admin\Resources\Servers\Pages\EditServer; use App\Filament\Admin\Resources\Servers\Pages\EditServer;
use App\Filament\App\Resources\Servers\Pages\ListServers; use App\Filament\App\Resources\Servers\Pages\ListServers;
use App\Http\Middleware\Activity\ServerSubject; use App\Http\Middleware\Activity\ServerSubject;
@ -15,12 +16,10 @@ class ServerPanelProvider extends PanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
$panel $panel = parent::panel($panel)
->id('server') ->id('server')
->path('server') ->path('server')
->homeUrl(fn () => Filament::getPanel('app')->getUrl()); ->homeUrl(fn () => Filament::getPanel('app')->getUrl())
return parent::panel($panel)
->tenant(Server::class, 'uuid_short') ->tenant(Server::class, 'uuid_short')
->userMenuItems([ ->userMenuItems([
Action::make('to_serverList') Action::make('to_serverList')
@ -46,5 +45,9 @@ class ServerPanelProvider extends PanelProvider
->tenantMiddleware([ ->tenantMiddleware([
ServerSubject::class, ServerSubject::class,
]); ]);
Plugins::loadPanelPlugins($panel);
return $panel;
} }
} }