On a failed fetch the store now keeps the last real payload (stale > fake) and flags `disconnected` instead of overwriting live data with bundled demo data. Sample fallback is gated behind import.meta.env.DEV, so `vite build` tree-shakes it out entirely (verified: no sample strings in dist). - cold start / no data: centered reconnect spinner that keeps retrying - data present + drop: stale data stays, header shows amber "reconnecting" - polling retries faster (4s) while disconnected, recovers automatically - sample.ts data moved into sampleOverview() so the module fully tree-shakes Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| assets | ||
| index.html | ||