- What is luttje/livewire-gloom used for?
- The package blurb describes a small Livewire component for Laravel that adds a dark mode theme toggle, persists each user's preference, and syncs with Tailwind's dark class. The technical assessment describes it as a presentational Livewire component applying a cosmetic gloom visual treatment. The provided overview also calls it Laravel Dusk helpers for Livewire, so verify the repository README and composer.json before adopting it.
- How do I install luttje/livewire-gloom in a Laravel app?
- Install it with Composer using composer require luttje/livewire-gloom, then drop the component tag into a Blade view that already renders Livewire components. You may optionally publish views or assets with vendor:publish if you need to customize markup or styles. No adapter is needed for a standard Laravel plus Livewire front end.
- Which Livewire versions does luttje/livewire-gloom support?
- The package follows Livewire majors: version 4.0.0 is aligned with Livewire 4, while the 3.3.3 line targets Livewire 3. There is no single version that straddles both, so confirm your installed Livewire major before choosing a package version. Check the composer.json constraint for the exact livewire/livewire requirement.
- Does version 4.0.0 require Livewire 4?
- Yes, based on the assessment, 4.0.0 exists primarily to match Livewire's major and is expected to require livewire/livewire ^4.0. The 4.0.0 diff appears to be CI-only plus a constraint bump, so runtime behavior may be nearly identical to 3.3.3. Confirm the actual runtime diff, including views, assets, and JavaScript, before upgrading.
- How does the dark mode toggle work with Tailwind?
- The component syncs with Tailwind's dark class so existing dark: utilities switch themes instantly. It is designed for minimal setup: add the toggle where you want it and let the package apply the class. If you have custom CSS specificity rules or a design-system wrapper, verify there are no collisions.
- Does it persist each user's theme preference?
- The package blurb says it persists each user's preference so the chosen theme survives navigation and return visits. The mechanism is likely client-side or Livewire-state based rather than a database schema, so check the source before assuming cross-device sync. For a cosmetic toggle, a localStorage-style preference is usually sufficient. Confirm the persistence behavior in your own browser and session tests.
- Can I use it in a Blade-only, Inertia/Vue, or API-only app?
- No, not without an adapter. It fits Laravel apps that already render Livewire components, and the assessment says it is not worth building an adapter for a cosmetic effect. Blade-only, Inertia/Vue, and API-first front ends should use a plain Tailwind or framework-native toggle instead.
- What are the production risks of depending on this package?
- The main risks are version alignment, compounding immaturity, and leaf-dependency hazard. A cosmetic package with a hard Livewire constraint can pin the whole application's upgrade path, and a single maintainer with dependency-bot-driven activity has a low responsiveness ceiling. Treat it as a visual affordance whose failure degrades one UI element, not a core workflow.
- How should I upgrade from 3.3.3 to 4.0.0?
- Bump luttje/livewire-gloom and livewire/livewire together in one branch, never letting them drift. Re-publish views and assets, then diff against any locally overridden copies because stale published assets are a common post-upgrade breakage. Run visual regression checks on every surface where the component renders, not just a smoke test.
- Is the package tested and actively maintained?
- The assessment describes a single maintainer and dependency-bot-driven activity, with no clear evidence of a runtime test suite or visual tests beyond CI dependency bumps. Expect the version number to track Livewire majors rather than bug fixes or features. Pin the version, review releases manually, and do not auto-merge its updates.