Fix interface fidelity: invalid Tailwind classes + restore lost HomeScreen

Side-by-side comparison surfaced that several restyle classes silently
generated NO CSS (confirmed against the compiled .next CSS) — invisible
to tests because unit tests assert class strings, not computed styles,
and visual baselines were captured from the broken build.

Root causes fixed:
- rounded-radius-button (51) / rounded-radius-squircle (3) generated
  nothing → every pill/button/chip was border-radius:0. Tailwind v4 maps
  --radius-button to 'rounded-button', not 'rounded-radius-button'.
  Replaced with rounded-full / rounded-[17px].
- duration-normal/fast/slow (58) generated nothing → transitions had
  easing but 0 duration (snapped). Replaced with the token-arbitrary
  form duration-(--duration-normal). (Also fixed an over-replace that
  double-wrapped var(--duration-normal) inside animate-[…] values.)
- HomeScreen.tsx was the OLD emoji version — the R3 rewrite was never
  committed. Restored: brand Chrome/Slack squircle tiles, coral
  GradientGlyph icons, 56px tiles with press-scale, and the frosted
  glass dock (bg-white/[0.07] backdrop-blur-[40px] saturate-150).

Targeted gaps from the feedback:
- raised surface --color-surface-warm-muted #1f1f1f → #1a1a1a (composer,
  chips, tabs)
- welcome chips: max-w-[422px] gap-3 → centered 2×2 grid
- composer input + rail nav labels → 14px
- DeviceSizeToggle: Full/Tablet/Phone text → lucide monitor/tablet/
  smartphone icons (aria-label keeps the radio names)
- SW cache bumped v1→v2 so redeployed clients purge the stale bundle
- LeftRail drawer: ref-during-render → prev-state pattern (lint)

Compiled CSS now emits .rounded-full, transition-duration:var(--duration-
normal), border-radius:17px, and shadow-dock-capsule. Button/Avatar unit
tests updated to the real class names. 83 unit tests green.

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
Omar Sobh
2026-06-10 21:21:20 -05:00
co-authored by Claude Fable 5
parent 889c65685e
commit 0383d8fd77
33 changed files with 155 additions and 119 deletions
@@ -19,7 +19,7 @@ export function AgentRosterItem({
className="group flex w-full flex-col items-center gap-1 py-1.5"
>
<span
className={`rounded-[19px] p-0.5 transition-colors duration-normal ease-app ${
className={`rounded-[19px] p-0.5 transition-colors duration-(--duration-normal) ease-app ${
active ? "ring-2 ring-coral" : ""
}`}
>
@@ -40,7 +40,7 @@ export function AgentRosterItem({
</span>
</span>
<span
className={`max-w-full truncate text-xs transition-colors duration-normal ease-app ${
className={`max-w-full truncate text-xs transition-colors duration-(--duration-normal) ease-app ${
active
? "text-foreground"
: "text-muted-foreground group-hover:text-foreground"