default() ->id('admin') ->path('admin') ->login() ->tenant(Tenant::class, slugAttribute: 'external_id') ->tenantRoutePrefix('t') ->searchableTenantMenu() ->tenantRegistration(RegisterTenant::class) ->colors([ 'primary' => Color::Amber, ]) ->renderHook( PanelsRenderHook::BODY_START, fn () => view('filament.partials.break-glass-banner')->render() ) ->renderHook( PanelsRenderHook::HEAD_END, fn () => view('filament.partials.livewire-intercept-shim')->render() ) ->renderHook( PanelsRenderHook::BODY_END, fn () => (bool) config('tenantpilot.bulk_operations.progress_widget_enabled', true) ? view('livewire.bulk-operation-progress-wrapper')->render() : '' ) ->discoverClusters(in: app_path('Filament/Clusters'), for: 'App\Filament\Clusters') ->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages') ->pages([ TenantDashboard::class, ]) ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets') ->widgets([ AccountWidget::class, FilamentInfoWidget::class, ]) ->databaseNotifications() ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, DenyNonMemberTenantAccess::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, ]) ->authMiddleware([ Authenticate::class, ]); if (! app()->runningUnitTests()) { $panel->viteTheme('resources/css/filament/admin/theme.css'); } return $panel; } }