multiple panels on single dashboard as tabs?
Wondering how/if we can have multiple panels visible on a common dashboard for easy navigation!
Instead of having example.com/admin, example.com/booking, example.com/billing etc, we have example.com/dashboard which has individual (horizontal tabs) for admin, booking & billing. Ability to control the tab visibility (& access which anyways is handled in the panel) with roles/permissions would be important. Managing it using the usual permission package or think of something like feature flags (thinking more from a SAAS angle where one customer gets booking, other gets billing etc) perhaps?
Any alternative ideas or suggestions? Thanks.
7 Replies
I don't think it's possible, as each panel in Filament requires its own settings, URL, etc.
Unless you're talking about non-Filament outside app which would show those links as tabs with checking permissions, and then inside you would have those three tabs.
Or a separate ovrerarching Filament installation on some subdomain that would lead to those three separate links on another subdomain
Hi Povilas, Panel switching is actually possible. There's a plugin for that, https://filamentphp.com/plugins/bezhansalleh-panel-switch, and you can also restrict who can and cannot use the panel swith, aither with roles or permissions
@Desmond Njuguna mmm, that's news to me. Adding that plugin for a review on YouTube, thanks π
Anytime sensei
Here is a demo for the same, I have restricted to only admins to switch panels
@PovilasKorop @Desmond Njuguna thanks for the inputs. The plugin for panel switching looks interesting. But a shell over filament panels to show them as tabs explicitly will be very helpful ux wise IMO. Let me explore a bit more on this topic and then revert.
Just have a look at what the plugin is doing under the hood. You should be able to do the same thing and output them as a 'menu' instead of a select with a renderhook.
Thanks. Yes that is the direction I would be looking at. At least understand how that plugin is working. I hope I can come up with something like a superpanel :squint: