mirror of
https://github.com/hanzoai/chat.git
synced 2026-09-30 20:51:17 +00:00
Class-coverage audit of the live page found markup carrying classes no stylesheet defines. Every one is now either backed by a real rule or gone: - items-between + @container (ChatForm composer row): dead classes deleted — the mx-auto spacer already does the distribution; @container is TW4 syntax this TW3 build never compiles. - bg-token-main-surface-primary -> bg-presentation (EditMessage, EditTextPart; MobileNav already carried bg-presentation beside it). - bg-token-sidebar-surface-primary -> bg-surface-primary-alt (SidePanel Nav, matching the left nav). - bg-surface-primary/95, hover:bg-primary/90: Tailwind cannot alpha a var() color, so these generated NO rule. Overlay card goes solid bg-surface-primary; hovers get one alpha-capable token (primary-hover = the same 90% color-mix .btn-primary:hover uses) across all 8 sites incl. the shared Button variants. - max-w-11/12 -> max-w-[91.667%] (OGDialog finally gets its mobile margin). - The rest of the token-* family in the side panels: bg-token-surface-primary gets the missing shim rule beside its secondary sibling; variant-prefixed shims (dark:/hover:/aria-selected:) move to config tokens Tailwind can actually variant; text-token-secondary was never defined -> text-text-secondary. Mobile: starter/mode pills min-h-11 (38px -> 44px touch targets); viewport-fit=cover + env(safe-area-inset-*) padding on the sticky top bar and the footer so an installed PWA clears the notch and home indicator (both env() resolve to 0 in a browser tab). Boot noise: files + agent-tool-auth queries gate on isAuthenticated like useGetFileConfig already does — 7 guaranteed 401s per anonymous visit -> 0, measured. Bytes: silence.mp3 (the autoplay-unlock asset fetched on EVERY first paint) re-encoded 36,494 B -> 405 B. Same mechanism, same format. Deps: @hanzogui/shell ^8.0.3 -> ^8.0.6 (8.0.3 shipped 966 LOC of ruleless Tailwind), @hanzo/ui -> ^8.0.42, @hanzo/design -> ^0.4.6; pnpm dedupe collapses the second @hanzo/ui instance. Shell 8.0.6 verified against the installed package: zero hardcoded className strings in dist. Verified in Chromium at 390/768/1280 against the live backend: class coverage uncovered 17-18 -> 1 (the bare lucide icon marker), 0 sub-44px targets at 390, 0 horizontal overflow, 0 boot 401s, pills 44px measured. Co-authored-by: Hanzo Dev <[email protected]>
405 B
405 B