Files
temetro/frontend
Khalid Abdi b299501ab2 frontend+backend: patients/settings UI, AI Auto/Off modes, wallet doc push
- patients: move status filter to its own "Filter" row above the table
- patient sheet: name + ⋯ menu on one left row; Edit moved into the ⋯ menu
- settings: redesign sections with the COSS CardFrame surface (SettingsFrame)
- AI: add Automatic (auto-pick provider) and Off modes; default to Automatic
  so a fresh install shows the setup banner until a provider is configured
- AI: fix the setup banner never showing (defaulted Ollama URL counted as
  configured); add an "AI off" notice; add a fallback render for unknown chat
  data parts so cards never silently vanish
- backend: include patient attachment metadata in the wallet record-update
  bundle so pushed documents reach the wallet
- i18n: add mode/off/card keys across all five locales

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 20:22:36 +03:00
..
2026-05-31 11:19:10 +03:00
2026-07-12 21:17:55 +03:00
2026-06-17 20:50:09 +03:00
2026-07-10 20:51:04 +03:00
2026-07-13 02:16:07 +03:00

temetro frontend

The clinician-facing AI chat UI for temetro — a Next.js 16 app where clinicians retrieve and organize patient data in natural language, rendered as rich record cards. It's wired to the ../backend for real auth, multi-tenant clinics, and live patient data.

temetro AI chat

Stack

Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · COSS UI components (Base UI) · i18next · Socket.io client.

This app runs a customized Next.js 16 whose conventions differ from the public docs (e.g. route protection lives in proxy.ts, not middleware.ts). See CLAUDE.md and node_modules/next/dist/docs/ before writing Next.js code.

Develop

npm install
npm run dev      # Next dev server (Turbopack) on http://localhost:3000

Other scripts: npm run build (production build), npm run start (serve the build), npm run lint. There is no test runner — verify changes by running the dev server.

Talking to the backend

The frontend needs the API running (see ../backend). It resolves the backend URL from the host you open the app on — so it works on localhost and across the clinic LAN (http://<server-IP>:3000) without a rebuild. Set NEXT_PUBLIC_API_URL only to pin a fixed or reverse-proxied URL; see lib/backend-url.ts.

Architecture

  • app/ — App Router. app/(app)/ is the authenticated product shell; app/(auth)/ holds the login / signup / onboarding pages.
  • components/chat/ — the chat UI (input, message state, patient cards).
  • components/settings/ — settings panels, including About & updates (version + LAN access).
  • components/ui/ — COSS primitives (Base UI, added via the shadcn CLI).
  • lib/ — API + auth clients, i18n, and data helpers.

See CLAUDE.md for the full architecture, theming, and gotchas.

License

MIT.