diff --git a/DECISIONS.md b/DECISIONS.md index 96e8097..6be833c 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1059,3 +1059,9 @@ Implementation decisions not spelled out in `memory-bank/implementation-plan.md` - **Game-time spans read "4.3 game h"** so they can't be mistaken for real hours next to a real countdown. - **Reduced motion has two sources**: the OS media query (unless the player turned motion back on) and the player's override. The map keeps moving ships but stills its background. - **Pure helpers read preferences directly** (`displayPreferences()`) where they format strings outside React (the dispatch sheet's problem lines); those re-render every second with the clock anyway. + +## Fix: header on phones (user report during Phase 10K) + +- **User report:** "On a phone screen the credits and time line can't be read" (screenshot at about 430 px): the credits chip was drawn over the DEADHEAD wordmark. The wordmark showed from 420 px, and 10K.2's gear plus 10K.3's device-locale clock ("2145-07-11 7:18 PM") made the right side wider than the space left. +- **Fix:** the wordmark now shows from 640 px (`sm`), the logo side clips instead of overflowing, the game clock shows only the time below 640 px (the date returns above), chips sit a little closer, and the gear is 32 px on phones. The gear icon is now a cog (it read as a sun). +- **Checked** in headless Chrome at 375, 390 and 430 px with a 1,234,567 cr balance and a 12-hour clock: no overlapping header items and no horizontal scroll (`docs/screenshots/header-phone-390.png`). diff --git a/apps/web/src/clock/GameClock.tsx b/apps/web/src/clock/GameClock.tsx index aa7d0c5..3afa0dd 100644 --- a/apps/web/src/clock/GameClock.tsx +++ b/apps/web/src/clock/GameClock.tsx @@ -10,5 +10,12 @@ export { formatGameTime }; export function GameClock() { const now = useClock((state) => state.now); const clock = usePreferences((p) => p.clock); - return ; + const [date, ...time] = formatGameTime(realToGame(now, content.config), clock).split(" "); + // Phones show the time only; the date joins it from 640 px (it no longer fit). + return ( + + ); } diff --git a/apps/web/src/layout/Layout.tsx b/apps/web/src/layout/Layout.tsx index 2a33897..fa9260f 100644 --- a/apps/web/src/layout/Layout.tsx +++ b/apps/web/src/layout/Layout.tsx @@ -28,16 +28,17 @@ export function Layout({ return (