No description
Find a file
jtricerolph 13fb30d9a3 Tap a Coming up card -> hourly-detail modal, 20s idle auto-close
Backend now stores hourly points for every day the provider returns (not
just today) -- for Open-Meteo this is free, the hourly= block already
covers the full forecast_days=8 window in the one call, today's strip just
discarded everything past today. Met Office's hourly product window isn't
verified this far out (only daily has been exercised live so far); an
empty result for a given date just means "no hourly detail", handled as a
graceful fallback, not an error.

New GET /api/public/forecast/hourly?date=YYYY-MM-DD backs the modal. The
main /api/public/forecast payload's `hourly` field is now its own scoped
query (today only) rather than filtering the much bigger stored set in JS.

Frontend: tapping any "Coming up" card (tomorrow/day-after or days 4-7)
opens DayModal with that day's hourly points, falling back to the
already-known 3-hourly points (or the single daily summary) if the
provider doesn't have hourly detail that far out. Auto-closes after 20s of
no interaction (pointerdown/keydown/wheel/scroll all reset the timer), with
a depleting progress bar so the countdown isn't a surprise. Extracted
PointMeta/AstroRow and the date/format helpers out of Display.tsx into
shared modules since DayModal needs them too.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 13:26:57 +00:00
backend Tap a Coming up card -> hourly-detail modal, 20s idle auto-close 2026-08-25 13:26:57 +00:00
frontend Tap a Coming up card -> hourly-detail modal, 20s idle auto-close 2026-08-25 13:26:57 +00:00
.gitignore Scaffold weather app: reception forecast display + shared internal API 2026-08-25 12:22:53 +00:00
docker-compose.yml Scaffold weather app: reception forecast display + shared internal API 2026-08-25 12:22:53 +00:00
seed-app.js Scaffold weather app: reception forecast display + shared internal API 2026-08-25 12:22:53 +00:00