mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-27 22:16:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Providers\Filament;
 | |
| 
 | |
| use App\Filament\Pages\Auth\Login;
 | |
| use App\Filament\Pages\Auth\EditProfile;
 | |
| use App\Http\Middleware\LanguageMiddleware;
 | |
| use App\Http\Middleware\RequireTwoFactorAuthentication;
 | |
| use Filament\Actions\Action;
 | |
| use Filament\Facades\Filament;
 | |
| use Filament\Http\Middleware\Authenticate;
 | |
| use Filament\Http\Middleware\DisableBladeIconComponents;
 | |
| use Filament\Http\Middleware\DispatchServingFilamentEvent;
 | |
| use Filament\Panel;
 | |
| use Filament\PanelProvider;
 | |
| use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
 | |
| use Illuminate\Cookie\Middleware\EncryptCookies;
 | |
| use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
 | |
| use Illuminate\Routing\Middleware\SubstituteBindings;
 | |
| use Illuminate\Session\Middleware\AuthenticateSession;
 | |
| use Illuminate\Session\Middleware\StartSession;
 | |
| use Illuminate\View\Middleware\ShareErrorsFromSession;
 | |
| 
 | |
| class AppPanelProvider extends PanelProvider
 | |
| {
 | |
|     public function panel(Panel $panel): Panel
 | |
|     {
 | |
|         return $panel
 | |
|             ->id('app')
 | |
|             ->spa()
 | |
|             ->databaseNotifications()
 | |
|             ->breadcrumbs(false)
 | |
|             ->brandName(config('app.name', 'Pelican'))
 | |
|             ->brandLogo(config('app.logo'))
 | |
|             ->brandLogoHeight('2rem')
 | |
|             ->favicon(config('app.favicon', '/pelican.ico'))
 | |
|             ->topNavigation(config('panel.filament.top-navigation', false))
 | |
|             ->maxContentWidth(config('panel.filament.display-width', 'screen-2xl'))
 | |
|             ->navigation(false)
 | |
|             ->profile(EditProfile::class, false)
 | |
|             ->login(Login::class)
 | |
|             ->passwordReset()
 | |
|             ->userMenuItems([
 | |
|                 'profile' => fn (Action $action) => $action->label(auth()->user()->username),
 | |
|                 Action::make('toAdmin')
 | |
|                     ->label('Admin')
 | |
|                     ->url('/admin')
 | |
|                     ->icon('tabler-arrow-forward')
 | |
|                     ->sort(5)
 | |
|                     ->visible(fn (): bool => auth()->user()->canAccessPanel(Filament::getPanel('admin'))),
 | |
|             ])
 | |
|             ->discoverResources(in: app_path('Filament/App/Resources'), for: 'App\\Filament\\App\\Resources')
 | |
|             ->middleware([
 | |
|                 EncryptCookies::class,
 | |
|                 AddQueuedCookiesToResponse::class,
 | |
|                 StartSession::class,
 | |
|                 AuthenticateSession::class,
 | |
|                 ShareErrorsFromSession::class,
 | |
|                 VerifyCsrfToken::class,
 | |
|                 SubstituteBindings::class,
 | |
|                 DisableBladeIconComponents::class,
 | |
|                 DispatchServingFilamentEvent::class,
 | |
|                 LanguageMiddleware::class,
 | |
|                 RequireTwoFactorAuthentication::class,
 | |
|             ])
 | |
|             ->authMiddleware([
 | |
|                 Authenticate::class,
 | |
|             ]);
 | |
|     }
 | |
| }
 | 
