cameras/src/app
Michael Mainguy 0ec434ca26 Add read-only camera settings page and dashboard stream summary
Read-only settings and stream URLs (vrek gol-2nxgqjn), shaped by a
read-only probe of the real cameras (findings fnd-*) and decisions
dec-s205dvs and dec-gtw493s.

- src/lib/camera-settings.ts: reads streams, image, time/NTP and
  network over ONVIF behind a CameraSettingsSource interface, so an
  ISAPI source can be added later. Sections are read independently
  and fail on their own with fixed text. RTSP URLs have credentials
  stripped and use the registry host. camera.ts exports its cached
  connect() and the profile helpers it shares with it (iss-7eaywtf).
- /cameras/[id]: server-rendered page with an access check, 404 for
  unknown ids or non-private hosts, and a streamed Suspense section.
  Shows streams (with copyable RTSP URLs and an ONVIF-login note),
  image, time/NTP with a drift warning, and network, plus Refresh
  and back. Copy falls back to execCommand over plain LAN HTTP,
  where the clipboard API is unavailable (iss-s935a4n).
- Dashboard card: the name links to the camera page; a main-stream
  summary line ("Main 4096×1860 · H.264 · 20 fps"); a manufacturer
  of "ONVIF" is hidden (iss-pv2bvzj).

522 tests, 99.9% line coverage. Checked by the user in a browser
against both cameras. Refreshes the vrek export (the icon principle
now covers the page's new icons).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-19 13:00:37 -05:00
..
api Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
cameras/[id] Add read-only camera settings page and dashboard stream summary 2026-09-19 13:00:37 -05:00
login Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
setup Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
auth-actions.test.ts Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
auth-actions.ts Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
auth-forms.test.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
auth-pages.test.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
camera-card.test.tsx Add read-only camera settings page and dashboard stream summary 2026-09-19 13:00:37 -05:00
camera-card.tsx Add read-only camera settings page and dashboard stream summary 2026-09-19 13:00:37 -05:00
camera-queries.ts Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
camera-scanner.test.tsx Move dashboard client onto React Query hooks 2026-09-19 09:01:34 -05:00
camera-scanner.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
camera-status.test.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
camera-status.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
camera-summary.test.ts Add read-only camera settings page and dashboard stream summary 2026-09-19 13:00:37 -05:00
camera-summary.ts Add read-only camera settings page and dashboard stream summary 2026-09-19 13:00:37 -05:00
favicon.ico Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
globals.css Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
icons.test.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
layout.test.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
layout.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
page.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
providers.test.tsx Reach 99.8% test coverage and enforce a 95% floor 2026-09-19 09:17:55 -05:00
providers.tsx Add ONVIF camera app with a server-rendered camera dashboard 2026-09-19 08:40:32 -05:00
refresh-rate-select.test.tsx Move dashboard client onto React Query hooks 2026-09-19 09:01:34 -05:00
refresh-rate-select.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00
refresh-rate.test.ts Add Vitest test suite with coverage reporting 2026-09-19 08:49:50 -05:00
refresh-rate.ts Add ONVIF camera app with a server-rendered camera dashboard 2026-09-19 08:40:32 -05:00
security-bar.test.tsx Enforce admin login: login, first-run setup, proxy and access checks 2026-09-19 11:58:20 -05:00
security-bar.tsx Add Lucide icons: camera status badge, actions and warnings 2026-09-19 12:33:16 -05:00