AdminPanelProvider.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Providers\Filament;
  3. use Filament\Http\Middleware\Authenticate;
  4. use Filament\Http\Middleware\AuthenticateSession;
  5. use Filament\Http\Middleware\DisableBladeIconComponents;
  6. use Filament\Http\Middleware\DispatchServingFilamentEvent;
  7. use Filament\Pages\Dashboard;
  8. use Filament\Panel;
  9. use Filament\PanelProvider;
  10. use Filament\Support\Colors\Color;
  11. use Filament\Widgets\AccountWidget;
  12. use Filament\Widgets\FilamentInfoWidget;
  13. use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
  14. use Illuminate\Cookie\Middleware\EncryptCookies;
  15. use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
  16. use Illuminate\Routing\Middleware\SubstituteBindings;
  17. use Illuminate\Session\Middleware\StartSession;
  18. use Illuminate\View\Middleware\ShareErrorsFromSession;
  19. class AdminPanelProvider extends PanelProvider
  20. {
  21. public function panel(Panel $panel): Panel
  22. {
  23. return $panel
  24. ->default()
  25. ->id('admin')
  26. ->path('admin')
  27. ->login()
  28. ->colors([
  29. 'primary' => Color::hex('#4163ff'),
  30. ])
  31. ->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources')
  32. ->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages')
  33. ->pages([
  34. Dashboard::class,
  35. ])
  36. ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets')
  37. ->widgets([
  38. AccountWidget::class,
  39. FilamentInfoWidget::class,
  40. ])
  41. ->renderHook('panels::head.end', fn (): string =>
  42. view('filament.layout.vite-styles')->render() . view('filament.layout.vite-scripts')->render()
  43. )
  44. ->middleware([
  45. EncryptCookies::class,
  46. AddQueuedCookiesToResponse::class,
  47. StartSession::class,
  48. AuthenticateSession::class,
  49. ShareErrorsFromSession::class,
  50. VerifyCsrfToken::class,
  51. SubstituteBindings::class,
  52. DisableBladeIconComponents::class,
  53. DispatchServingFilamentEvent::class,
  54. ])
  55. ->authMiddleware([
  56. Authenticate::class,
  57. ]);
  58. }
  59. }