asignua/filament-themes
asignua/filament-themes adds theme management to Filament admin panels, letting you register, organize, and switch between custom themes. It provides a straightforward way to integrate theme selection into your Filament resources and pages.
Architecture fit
hasnayeen/themes contract for custom themes keeps theme definition in plain PHP classes — compatible with our config-driven, code-reviewed deployment model. No DB-stored CSS/HTML blobs, which is a meaningful security and reviewability win.Integration feasibility
theme_settings table vs. columns on the user model) is the main design decision. The table is the safer default; user columns are simpler but couple theme state to our user schema and complicate multi-tenant or guest/anonymous cases.canChangeTheme gate plus per-panel theme lists give us the policy levers we need to expose themes to some tiers/tenants and lock others to a single brand theme — enough to support commercial packaging without forking.Technical risk
hasnayeen/themes. If that contract shifts, our theme classes break. Mitigate with an internal adapter/base class so the blast radius is one file per theme.#rrggbb primary colour lets users pick combinations that fail contrast. Our compliance posture depends on either restricting the free-form input or validating it ourselves.Key questions
hasnayeen/themes version-constrained, and is it maintained by the same author? What is the semver/deprecation policy for the theme contract?Stack fit
theme_settings table with a tenant scope over user-model columns, and keep panel-wide defaults in config.Migration path
Compatibility
hasnayeen/themes constraint. Pin all four in composer.json and record them in our dependency register.Sequencing
Maintenance
Support
Scaling
theme_settings each request it is a small but universal read. Confirm caching, and plan to cache panel-wide defaults.Failure modes
canChangeTheme misconfiguration → users or admins unable to change their theme; ensure a config-level override so we can always recover.Ramp-up
How can I help you explore Laravel packages today?