pelican-panel-mirror/app/Providers/Filament/AdminPanelProvider.php
2025-11-05 16:24:11 +01:00

47 lines
1.8 KiB
PHP

<?php
namespace App\Providers\Filament;
use AchyutN\FilamentLogViewer\FilamentLogViewer;
use Filament\Actions\Action;
use Filament\Facades\Filament;
use Filament\Navigation\NavigationGroup;
use Filament\Panel;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
$panel
->id('admin')
->path('admin')
->homeUrl('/');
return parent::panel($panel)
->breadcrumbs(false)
->sidebarCollapsibleOnDesktop(fn () => !$panel->hasTopNavigation())
->userMenuItems([
Action::make('exit_admin')
->label(fn () => trans('profile.exit_admin'))
->url(fn () => Filament::getPanel('app')->getUrl())
->icon('tabler-arrow-back'),
])
->navigationGroups([
NavigationGroup::make(fn () => trans('admin/dashboard.server'))
->collapsible(false),
NavigationGroup::make(fn () => trans('admin/dashboard.user'))
->collapsible(false),
NavigationGroup::make(fn () => trans('admin/dashboard.advanced')),
])
->discoverResources(in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources')
->discoverPages(in: app_path('Filament/Admin/Pages'), for: 'App\\Filament\\Admin\\Pages')
->discoverWidgets(in: app_path('Filament/Admin/Widgets'), for: 'App\\Filament\\Admin\\Widgets')
->plugins([
FilamentLogViewer::make()
->authorize(fn () => user()->can('view panelLog'))
->navigationGroup(fn () => trans('admin/dashboard.advanced'))
->navigationIcon('tabler-file-info'),
]);
}
}