default() ->id('admin') ->path('admin') ->login() ->colors([ 'primary' => Color::Amber, ]) ->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, FilamentInfoWidget::class, ])->navigationItems([ NavigationItem::make('Analytics') ->url('https://filament.pirsch.io', shouldOpenInNewTab: true) ->icon('heroicon-o-presentation-chart-line') ->group('Reports') ->sort(3), NavigationItem::make('dashboard') ->label(fn (): string => __('filament-panels::pages/dashboard.title')) ->url(fn (): string => Dashboard::getUrl()) ->isActiveWhen(fn () => original_request()->routeIs('filament.admin.pages.dashboard')), // ... ]) ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, ]) ->authMiddleware([ Authenticate::class, ])->plugins([ FilamentEditProfilePlugin::make() ->userMenuItems([ 'profile' => Action::make('profile') ->label(fn () => auth()->user()->name) ->url(fn (): string => EditProfilePage::getUrl()) ->icon('heroicon-m-user-circle') // If you are using tenancy need to check with the visible method where ->company() is the relation between the user and tenancy model as you called ->visible(function (): bool { return auth()->user()->company()->exists(); }), ]), ]); } }