Reads from the existing usePrices store (latest tick + 60-min history). Seeds latest from snapshot.coinbase_price on mount, converting the ISO ts string and snake_case volume_24h to the store's number-ts and camelCase volume24h shapes (verified against live snapshot). Hero price uses --type-num-xl mono with tabular-nums — the dashboard's biggest single number by design. Color stays --fg-1 regardless of direction. The 1H change row uses △ / ▽ glyph + sign for direction (not green/red) per the ethos no-branded-color-per-metric rule. Compute is (last - first) / first * 100 over the 60 minute-bar closes. Stale indicator goes amber when last tick > 60s ago (Coinbase WS expects sub-second updates; 60s of silence = real staleness). 24H change is deferred — would need backend snapshot to send 24h of minute bars; the store caps at 60. Plan said both 1H and 24H but 24H isn't computable from the available data yet. Showing only 1H is honest — the missing row would be permanent "—" otherwise. Sparkline is the 60-minute close ladder. Renders null while history is shorter than 2 points (Sparkline primitive's own contract). Empty panel surface is fine — operator UI doesn't onboard. Plan 5 Task 18 Design QA: hero is the largest single number, price color stays --fg-1, change row uses glyph + sign (no color), sparkline is single-stroke currentColor with no fill or axes, no animated count-up on price change. |
||
|---|---|---|
| .. | ||
| advanced | ||
| beginner | ||
| intermediate | ||