Skip to content

Adopt signage-kit 2026.7.2 shared chrome; fix badge-hide selector bug - #17

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

Adopt signage-kit 2026.7.2 shared chrome; fix badge-hide selector bug#17
vpetersson merged 1 commit into
masterfrom
feat/adopt-signage-kit-chrome

Conversation

@vpetersson

Copy link
Copy Markdown
Contributor

What

Adopts the @screenly-labs/signage-kit 2026.7.2 shared chrome in this raw-CSS Hono SSR Worker, matching the pattern already merged in the sibling Worker apps (moon).

Shared chrome

  • Fonts: sync-fonts.ts is now the one-line kit wrapper — syncFonts(['bricolage-grotesque','hanken-grotesk','space-mono']) (keeps export const run). The local FONTS manifest and the @fontsource* deps are gone.
  • build.ts: prepends the kit's styles/fonts.css + styles/brand.css to the app's raw main.css before processCss (a raw-CSS Worker can't resolve a bare @import), so the shared rules land first and the app's override where they overlap. includeDegraded: true unchanged.
  • main.css: local @font-face blocks deleted (now supplied by the kit's fonts.css).
  • package.json: kit repointed to #2026.7.2; @fontsource* deps removed.

Badge standardization + bug fix

The footer badge markup used class="rail__brand" (inline in the .rail masthead) while removeScreenlyBranding targeted .brand — so the badge never hid on Screenly players (a real bug). Fixed by standardizing to the kit's fixed corner badge:

  • App.tsx: renamed the badge anchor's class rail__brandbrand (href/rel/aria/img unchanged).
  • main.css: deleted the local .rail__brand / .rail__brand img rules (their border-inline-start divider went with them); the kit's prepended brand.css provides the fixed .brand.
  • main.ts: replaced the pasted-in local removeScreenlyBranding with import { removeScreenlyBranding } from '@screenly-labs/signage-kit/branding'. Now that the element is .brand, it actually hides on players.

Verification

  • bun install, bun run typecheck, bun run lint, bun test (68 pass / 0 fail) — all green.
  • Built main.css: @font-face × 9, .brand{ × 1, position:fixed present, .rail__brand × 0. Built client JS: screenly-viewer × 1.
  • Working tree has no minified files (readable main.css restored; main.js is gitignored). Worker apps validate on stage after merge.

🤖 Generated with Claude Code

Adopt the @screenly-labs/signage-kit shared chrome, matching the pattern
already merged in the sibling Worker apps:

- Fonts: rewrite sync-fonts.ts to the one-line kit wrapper,
  syncFonts(['bricolage-grotesque','hanken-grotesk','space-mono']); drop the
  local FONTS manifest and the @fontsource* deps.
- build.ts: prepend the kit's styles/fonts.css + styles/brand.css to the app's
  raw main.css before processCss (a raw-CSS Worker can't resolve a bare
  @import), keeping includeDegraded.
- main.css: delete the local @font-face blocks (now supplied by the kit's
  fonts.css).
- package.json: repoint the kit to #2026.7.2, remove @fontsource* deps.

Standardize the footer badge AND fix a real bug: the badge markup used
class="rail__brand" (inline in the .rail masthead) while removeScreenlyBranding
targeted .brand — so it NEVER hid on Screenly players. Standardize to the kit's
fixed corner badge: rename the anchor's class rail__brand -> brand (href/rel/
aria/img unchanged), delete the local .rail__brand rules (the kit's prepended
brand.css provides the fixed .brand), and replace the pasted-in local
removeScreenlyBranding with the shared import from
@screenly-labs/signage-kit/branding. The badge now actually hides on players.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vpetersson
vpetersson merged commit cd38d76 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