Live snapshot strip on home page #116

Merged
coding-agent-marvin8 merged 0 commits from refs/pull/116/head into main 2026-07-15 06:18:33 +00:00
coding-agent-marvin8 commented 2026-07-15 04:43:11 +00:00 (Migrated from codeberg.org)

Shows the most recent snapshot from each configured camera in a responsive strip above the calendars on /days. Auto-refreshes every 30 seconds via htmx polling. 2 cameras fill the screen width, max 3 per row. Cameras without snapshots show a placeholder.

Changes:

  • New DB query latest_snapshot_per_camera returns the most recent snapshot per camera
  • GET /live/snapshots/{camera}/img serves the latest snapshot JPEG
  • GET /live-snapshots returns an htmx-swappable HTML fragment
  • CSS grid with auto-fill for responsive layout
  • 194/194 tests pass, all linters green

Closes #115

Shows the most recent snapshot from each configured camera in a responsive strip above the calendars on `/days`. Auto-refreshes every 30 seconds via htmx polling. 2 cameras fill the screen width, max 3 per row. Cameras without snapshots show a placeholder. **Changes:** - New DB query `latest_snapshot_per_camera` returns the most recent snapshot per camera - `GET /live/snapshots/{camera}/img` serves the latest snapshot JPEG - `GET /live-snapshots` returns an htmx-swappable HTML fragment - CSS grid with `auto-fill` for responsive layout - 194/194 tests pass, all linters green Closes #115
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marvin8/cang!116
No description provided.