jeffersongoncalves/filament-panel-theme-isolation
Isolate Filament panel themes so each panel renders its own styles without leaking into others. Keep multiple panels visually independent, avoid CSS conflicts, and simplify theme customization in one lightweight package.
admin for staff, app for customers, partner for resellers) without users' dark/light preference bleeding between panels. If the roadmap includes panel proliferation, this removes a known cosmetic/UX defect class rather than a feature bet.localStorage keys — trivially describable, but easy to implement inconsistently across panels, custom themes, and future Filament upgrades. Vendoring a maintained package is cheaper than owning that surface area.Consider adoption when all of the following hold:
Look elsewhere or build in-house when:
localStorage solution, not a preferences backend.Risk note for the adoption decision: the package is small and its failure mode is cosmetic, so the downside of trying it is low and reversible. The real cost is a permanent minor dependency plus an upgrade gate on Filament v4.
For executives: We run multiple admin interfaces on one domain, and today a user's light/dark preference in one leaks into the others — a small but recurring polish defect that generates support noise and undermines confidence in our internal tools. A focused, low-cost plugin isolates that preference per panel. It is a low-risk adoption: the fix is cosmetic in nature, easy to remove, and requires no changes to our data model or infrastructure. Main caveat: it ties us to Filament v3, so it should be logged as an input to our eventual v4 upgrade planning, not treated as a permanent fixture.
For engineering: This is a single-purpose Filament v3 plugin that namespaces theme preference in localStorage per panel, resolving cross-panel theme bleed. Requirements: Filament v3, Laravel 10+, PHP 8.1+. Integration is negligible — install, register the plugin on the panels that need isolation, verify existing custom themes aren't already prefixing their own keys. Two things to confirm before merge: (1) whether our Filament v4 timeline makes this a short-lived dependency, and (2) that the package's key-prefixing strategy composes cleanly with any bespoke theme JS we've written. If either is unfavorable, the underlying behaviour is small enough to reimplement internally in an afternoon — so treat this as a convenience purchase, not a strategic commitment.
How can I help you explore Laravel packages today?