default()
->id('admin')
->path('admin')
->login()
->brandLogo(fn () => new HtmlString(
'
'.
''.config('app.name').''
))
->colors([
'primary' => Color::Amber,
])
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->resources([
// PluginResource::class, // Removed as it's a custom page now
])
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([
Pages\Dashboard::class,
\App\Filament\Pages\InstallPluginPage::class,
// \App\Filament\Pages\ListPlugins::class, // Removed duplicate entry
])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
->widgets([
Widgets\AccountWidget::class,
Widgets\FilamentInfoWidget::class,
\App\Filament\Widgets\ApiProviderHealth::class,
\App\Filament\Widgets\AppStatsOverview::class,
])
->middleware([
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
AuthenticateSession::class,
SetLocale::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
SubstituteBindings::class,
DisableBladeIconComponents::class,
DispatchServingFilamentEvent::class,
])
->authMiddleware([
Authenticate::class,
])
->plugins([
])
->profile(isSimple: false)
->userMenuItems([
MenuItem::make()
->label(fn () => 'English')
->color(fn () => App::getLocale() === 'en' ? 'primary' : null)
->icon('heroicon-o-language')
->url(fn () => request()->fullUrlWithQuery(['locale' => 'en'])),
MenuItem::make()
->label(fn () => 'Deutsch')
->color(fn () => App::getLocale() === 'de' ? 'primary' : null)
->icon('heroicon-o-language')
->url(fn () => request()->fullUrlWithQuery(['locale' => 'de'])),
]);
if (Auth::check()) {
$user = Auth::user();
if ($user->theme_preference === 'dark') {
$panel->darkMode();
} else {
$panel->lightMode();
}
}
return $panel;
}
}