feat: adopt Tailwind CSS utility classes for styling - #5
Draft
nicomiguelino wants to merge 1 commit into
Draft
Conversation
Rework index.html to use Tailwind utility classes instead of custom CSS classes, keeping visual appearance and behavior unchanged. Slim the CSS entry point down to just the design-system import. Bump @screenly/edge-apps to ^1.3.0 for upcoming Tailwind CSS support. Regenerate screenshots to reflect the change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of the company-wide rollout converting edge-app repos to Tailwind CSS utility classes (see Screenly/clock-app#12 and Screenly/weather-app#6 for reference implementations).
index.htmltemplates to use Tailwind utility classes (arbitrary-value bracket syntax) instead of custom CSS classes, reproducing everyclamp()font-size, box-shadow, gradient, and text-shadow value exactly.querySelector/classList.addinsrc/main.tsandsrc/render.ts) are preserved verbatim:.severity-badge,.nws-content,.nws-preamble,.nws-forecast-list,.nws-wwwi-list,.wwwi-label,.wwwi-content,.period-label,.period-content.@screenly/edge-appsapp-shell (no<auto-scaler>/<app-header>), sosrc/input.csskeeps the bare@import 'tailwindcss';(with Preflight enabled) rather than switching to thetheme/base/utilitieslayered split +@screenly/edge-apps/stylesimport. Several plain elements here (<ul>,<li>,<h2>,<h3>,<p>) rely on Preflight's reset for zeroed margins/padding andlist-style: none; dropping Preflight without extensive compensating classes would risk visual regressions (e.g. reappearing bullet points/list indentation) for no benefit, since there's no design-system CSS being layered in anyway.status-banner-blue/red/orange/gray) and the "Actual" pulse animation (status-actual-pulse) are chosen dynamically at runtime viaclassList.add(...)based on the CAP alert's<status>value — these can't be expressed as static Tailwind utility classes on elements inindex.html, so they're kept as plain CSS insrc/input.css, unchanged.src/nws.css— its rules (list resets, bullet::beforecontent, label coloring) are now inlined directly as Tailwind utilities on the NWS forecast/WWWI list templates.@screenly/edge-appsto^1.3.0(unpublished; ships Tailwind support).screenshots/*for all supported resolutions.Test plan
bun run type-checkpassesbun run buildsucceeds (pre-existing, unrelated Vite warnings aboutimport.meta/screenly.jsmodule type only)bun run screenshots(Playwright) regenerates all 10 resolution screenshots successfullyseverity-badge,nws-*,period-*,wwwi-*) still present and functional after conversion