registerEnabledPluginProviders(); return $panel ->default() ->id('admin') ->path('admin') ->login() ->brandName(fn (): string => __('admin.brand')) ->colors([ 'primary' => Color::Teal, ]) ->maxContentWidth(Width::Full) ->sidebarWidth('13.5rem') ->collapsedSidebarWidth('3.75rem') ->sidebarFullyCollapsibleOnDesktop() ->collapsibleNavigationGroups(false) ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages') ->pages([ Dashboard::class, ]) ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') ->widgets([ AccountWidget::class, ]) ->renderHook( PanelsRenderHook::GLOBAL_SEARCH_AFTER, fn (): string => Blade::render('@livewire(\'admin.clear-cache-button\')'), ) ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, ]) ->authMiddleware([ Authenticate::class, ]); } protected function registerEnabledPluginProviders(): void { try { if (! Schema::hasTable('plugins')) { return; } app(PluginManager::class)->registerEnabledProviders(); } catch (\Throwable) { // Ignore during installs / early package discovery without DB. } } }