Skip to content

feat(ui): migrate to Tailwind CSS v4#2969

Merged
enoch85 merged 1 commit into
developmentfrom
chore/tailwind-v4-ui
May 23, 2026
Merged

feat(ui): migrate to Tailwind CSS v4#2969
enoch85 merged 1 commit into
developmentfrom
chore/tailwind-v4-ui

Conversation

@enoch85

@enoch85 enoch85 commented May 23, 2026

Copy link
Copy Markdown
Collaborator

Migrates the UI from Tailwind CSS v3 → v4, matching the website (maintainerr.info).

CSS-first setup

  • Theme + plugins live in apps/ui/styles/globals.css via @theme / @plugin; tailwind.config.js removed.
  • Build uses @tailwindcss/vite (drops postcss, autoprefixer, @tailwindcss/aspect-ratio).
  • Prettier uses tailwindStylesheet; class sort order updated repo-wide.

v4 regressions fixed

  • @tailwindcss/forms registers a .form-input utility that collided with our component class (white inputs under v4 layering) → strategy: base.
  • Dead bg-opacity-* classes (removed in v4) → /<n> slash syntax (38 across 11 files).
  • Checkbox focus ring (blue ring + white offset) → single reusable .checkbox class with focus:ring-0 focus:ring-offset-0; applied to all checkboxes.
  • Restored translucent backgrounds and dark prose colors (unlayered so they win over the typography plugin's defaults).

Consistency

  • Standardized the Plex checkboxes, the "Manual" badge (bg-maintainerr-600), and .input-action button states (no white inversion on press).
  • Delayed the overlay-schedule loading hint so fast loads don't flash it.

Dev tooling

  • dev/seed-db.mjs seeds collections / rules / storage for local testing (fictional media, placeholder posters).

Note: collection-detail media grids and Overview still need a live media server (they hydrate each item against it); the DB seed covers the Collections, Rules, and Storage pages.

- CSS-first theme: @theme + @plugin in globals.css; remove tailwind.config.js
- Use @tailwindcss/vite; drop postcss, autoprefixer, @tailwindcss/aspect-ratio
- Fix v4 regressions: @tailwindcss/forms .form-input collision (strategy: base),
  dead bg-opacity-* -> slash syntax, checkbox focus ring + single .checkbox class,
  translucent backgrounds, unlayered prose colors
- Standardize Plex checkboxes, Manual badge, and input-action button states;
  delay the overlay-schedule loading hint
- Add dev/seed-db.mjs to seed collections/rules/storage for local testing
@enoch85 enoch85 marked this pull request as ready for review May 23, 2026 23:19
@enoch85 enoch85 merged commit 3baeebc into development May 23, 2026
14 checks passed
@enoch85 enoch85 deleted the chore/tailwind-v4-ui branch May 23, 2026 23:20
@maintainerr-automation

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.13.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant