diff --git a/src/PanelSwitch.php b/src/PanelSwitch.php index 5a066a5..99a2d07 100644 --- a/src/PanelSwitch.php +++ b/src/PanelSwitch.php @@ -278,6 +278,15 @@ public function getPanels(): array return collect(Filament::getPanels()) ->reject(fn (Panel $panel) => in_array($panel->getId(), $this->getExcludes())) + ->reject(function (Panel $panel) { + $user = auth()->user(); + + if ($user && method_exists($user, 'canAccessPanel')) { + return ! $user->canAccessPanel($panel); + } + + return false; + }) ->when( value: filled($panelIds), callback: function ($panelCollection) use ($panelIds) {