123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
-
- namespace App\Providers\Filament;
-
- use App\Http\Middleware\Authenticate;
- use Filament\Http\Middleware\{DisableBladeIconComponents, DispatchServingFilamentEvent};
- use Filament\Navigation\{MenuItem, NavigationItem};
- use Filament\Support\Colors\Color;
- use Filament\{Pages, Panel, PanelProvider, Widgets};
- use Illuminate\Cookie\Middleware\{AddQueuedCookiesToResponse, EncryptCookies};
- use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
- use Illuminate\Routing\Middleware\SubstituteBindings;
- use Illuminate\Session\Middleware\{AuthenticateSession, StartSession};
- use Illuminate\Support\Facades\Auth;
- use Illuminate\View\Middleware\ShareErrorsFromSession;
- use Wallo\FilamentCompanies\Pages\User\{PersonalAccessTokens, Profile};
-
- class UserPanelProvider extends PanelProvider
- {
- public function panel(Panel $panel): Panel
- {
- return $panel
- ->id('user')
- ->path('user')
- ->userMenuItems([
- 'profile' => MenuItem::make()
- ->label('Profile')
- ->icon('heroicon-o-user-circle')
- ->url(static fn () => url(Profile::getUrl())),
- MenuItem::make()
- ->label('Company')
- ->icon('heroicon-o-building-office')
- ->url(static fn () => url(Pages\Dashboard::getUrl(panel: 'company', tenant: Auth::user()?->personalCompany()))),
- ])
- ->navigationItems([
- NavigationItem::make('Personal Access Tokens')
- ->label(static fn (): string => __('filament-companies::default.navigation.links.tokens'))
- ->icon('heroicon-o-key')
- ->url(static fn () => url(PersonalAccessTokens::getUrl())),
- ])
- ->colors([
- 'primary' => Color::Indigo,
- ])
- ->viteTheme('resources/css/filament/user/theme.css')
- ->discoverResources(in: app_path('Filament/User/Resources'), for: 'App\\Filament\\User\\Resources')
- ->discoverPages(in: app_path('Filament/User/Pages'), for: 'App\\Filament\\User\\Pages')
- ->pages([
- Pages\Dashboard::class,
- Profile::class,
- PersonalAccessTokens::class,
- ])
- ->discoverWidgets(in: app_path('Filament/User/Widgets'), for: 'App\\Filament\\User\\Widgets')
- ->widgets([
- Widgets\AccountWidget::class,
- Widgets\FilamentInfoWidget::class,
- ])
- ->middleware([
- EncryptCookies::class,
- AddQueuedCookiesToResponse::class,
- StartSession::class,
- AuthenticateSession::class,
- ShareErrorsFromSession::class,
- VerifyCsrfToken::class,
- SubstituteBindings::class,
- DisableBladeIconComponents::class,
- DispatchServingFilamentEvent::class,
- ])
- ->authMiddleware([
- Authenticate::class,
- ]);
- }
- }
|