Skip to content

Adopt shared chrome from signage-kit 2026.7.2 - #7

Merged
vpetersson merged 1 commit into
masterfrom
feat/adopt-signage-kit-chrome
Jul 13, 2026
Merged

Adopt shared chrome from signage-kit 2026.7.2#7
vpetersson merged 1 commit into
masterfrom
feat/adopt-signage-kit-chrome

Conversation

@vpetersson

Copy link
Copy Markdown
Contributor

Adopt the shared chrome from @screenly-labs/signage-kit (tag 2026.7.2) so the timer app stops restating code the kit now owns. Pure DRY refactor — nothing visible changes.

What moved into the kit

  • Fonts: import styles/fonts.css (canonical @font-face set) and drop the local @font-face blocks; sync-fonts.js is now a one-line syncFonts(['bricolage-grotesque','hanken-grotesk']). The @fontsource* deps are removed — the kit owns them.
  • Badge: import styles/brand.css and delete the local .brand* rules (byte-identical, incl. z-index: 2). main.ts now imports removeScreenlyBranding from @screenly-labs/signage-kit/branding instead of a local copy.
  • Stage: import styles/stage.css and delete the local .stage rule (byte-identical to the canonical frame).
  • Fluid root: express the override as --root-min/-gain/-max (16px / 1 / 54px); the clamp() lives in the preset.

Kept per-app (design identity)

  • --font-display: 'Bricolage Grotesque' override (the preset default is Fraunces).
  • All color tokens, the @media (orientation: portrait) 2×2 grid, and the count-up mint tint.
  • --font-sans deleted — it equalled the preset (Hanken Grotesk).

Verification

  • typecheck + lint + test (28 pass) + build all clean.
  • Screenshot matrix (1080p / portrait / 800×480 Pi / 4K): badge renders in full and degraded mode; removed under a screenly-viewer UA.
  • Side-by-side vs the pre-refactor master build: layout, fonts, hierarchy, and badge position unchanged. Degraded mode fully legible.

🤖 Generated with Claude Code

Pull the footer badge, canonical @font-face set, fonts vendoring, and the
.stage frame from @screenly-labs/signage-kit instead of restating them here:

- @import the kit's fonts.css / brand.css / stage.css; drop the local
  @font-face blocks, the .brand rules, and the .stage rule (byte-identical to
  the canonical frame).
- Drop the @fontsource deps (the kit owns them) and reduce sync-fonts.js to a
  one-line call to the kit's syncFonts(['bricolage-grotesque','hanken-grotesk']).
- Import removeScreenlyBranding from the kit instead of the local copy.
- Express the fluid root as --root-min/-gain/-max overrides (clamp lives in
  the preset); --font-sans (Hanken Grotesk) now comes from the preset, while
  --font-display stays overridden to Bricolage Grotesque, this app's display
  face. Keep the portrait 2x2 grid rule.

Repoint the kit to #2026.7.2. Verified: build clean; badge in full+degraded
across the resolution matrix (1080p/portrait/800x480/4K); removed under
screenly-viewer UA; design unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vpetersson
vpetersson merged commit 305d36c into master Jul 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant