Go to file
Michael Mainguy 870b4cd2af Move dashboard client onto React Query hooks
Adds src/app/camera-queries.ts: React Query hooks over our own routes,
with each camera's queries keyed ['camera', id]. The camera card,
snapshot polling, login form and network scan use these hooks instead
of hand-rolled fetch/useEffect state (vrek iss-2fm6x2y, iss-ksxmctm,
iss-m032zwq, iss-8hfq2y2).

- Snapshot polling pauses in hidden tabs, never overlaps a slow
  frame, and stops after a failure until Retry. Each frame's object
  URL is created and revoked in one effect, so none leak under Strict
  Mode.
- Saving or forgetting a login resets only that camera's queries.
- New "Forget saved login" action, shown for stored logins.
- Fix: a scan timeout typed below 1 s now clamps to 1 s instead of
  falling back to 5 s.

Adds jsdom component tests (test/dom.tsx helpers): 93 tests, line
coverage 54.3%. Refreshes the vrek export.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-19 09:01:34 -05:00
.idea Track vrek export, MCP config and IDE VCS mapping 2026-09-19 08:52:49 -05:00
.vrek Move dashboard client onto React Query hooks 2026-09-19 09:01:34 -05:00
public Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
scripts Add ONVIF camera app with a server-rendered camera dashboard 2026-09-19 08:40:32 -05:00
src Move dashboard client onto React Query hooks 2026-09-19 09:01:34 -05:00
test Move dashboard client onto React Query hooks 2026-09-19 09:01:34 -05:00
.gitignore Track vrek export, MCP config and IDE VCS mapping 2026-09-19 08:52:49 -05:00
.mcp.json Track vrek export, MCP config and IDE VCS mapping 2026-09-19 08:52:49 -05:00
AGENTS.md Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
CLAUDE.md Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
eslint.config.mjs Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
next.config.ts Add ONVIF camera app with a server-rendered camera dashboard 2026-09-19 08:40:32 -05:00
package-lock.json Add Vitest test suite with coverage reporting 2026-09-19 08:49:50 -05:00
package.json Add Vitest test suite with coverage reporting 2026-09-19 08:49:50 -05:00
postcss.config.mjs Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
README.md Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
tsconfig.json Initial commit from Create Next App 2026-09-19 07:15:19 -05:00
vitest.config.mts Add Vitest test suite with coverage reporting 2026-09-19 08:49:50 -05:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.