1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?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')
- ->colors([
- 'primary' => Color::Indigo,
- ])
- ->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())),
- ])
- ->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,
- ]);
- }
- }
|