Skip to content

feat(web): port the decided iOS Train look — DIN-style display type + media-led hero - #34

Merged
lemmy-winks merged 1 commit into
mainfrom
claude/web-din-media-redesign
Jul 27, 2026
Merged

feat(web): port the decided iOS Train look — DIN-style display type + media-led hero#34
lemmy-winks merged 1 commit into
mainfrom
claude/web-din-media-redesign

Conversation

@lemmy-winks

Copy link
Copy Markdown
Owner

Summary

  • Bebas Neue (free stand-in for DIN Condensed, which iOS ships but browsers can't license) drives a new --display token — screen titles, kickers, CTA text, and headline-scale numerals go condensed uppercase, matching the decided Train system in docs/native-app-design.md. Space Grotesk stays as the --num fallback for smaller inline numerals.
  • Today's hero card and the session-summary PR banner get the mockups' media-led treatment: full-bleed photo + scrim in dark, photo stacked above the text in light (never behind it — the contrast rule the redesign rounds settled on). Photos are the mockups' placeholder set, copied into web/public/media/mood/.
  • CLAUDE.md's design-system section updated to describe the new type/media system.
  • Rebased onto main post-Merge beta into main — nutrition track joins the trunk #32 (food) merge; resolved one conflict in today.tsx's hero card (kept the food feature's "Tonight · dinner" line, nested inside the new photo overlay).

Scope: Train-equivalent web screens only (Today/Plan, session logging, Progress) — Cook/Shop are native-only modules with no web surface to touch.

Test plan

  • cd server && python -m pytest tests/ -q — 85 passed
  • cd web && npm run build — clean
  • Drove the app with demo data (dark + light): Today hero photo + scrim/stacking, session logging numerals, Progress, PR banner, and the Food tab (to confirm the shared type changes don't break it) all render correctly with no overlap/clipping

🤖 Generated with Claude Code

… media-led hero

Bebas Neue (free stand-in for DIN Condensed, which iOS ships but browsers
can't license) drives a new --display token: screen titles, kickers, CTA
text, and headline-scale numerals go condensed uppercase, matching
docs/native-app-design.md's decided Train system. Space Grotesk stays as
the --num fallback for inline numerals below headline scale.

Today's hero card and the session-summary PR banner get the mockups'
media-led treatment — full-bleed photo + scrim in dark, photo stacked
above the text in light (never behind it, per the round's contrast rule).
Photos are the mockups' placeholder set, copied into web/public/media/mood/.

CLAUDE.md's design-system section updated to describe the new system.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@lemmy-winks
lemmy-winks merged commit 07cf71b into main Jul 27, 2026
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