Files
temetro/frontend
Khalid Abdi 000591f87f frontend: space separated panels in settings frames
Add an opt-in `separated` prop to SettingsFrame/SettingsSection that adds the
COSS "Separated Panels" gap-4 between sibling panels (matches CardFrame's
built-in -1rem clip vars so rounded corners clip across the gap). Turn it on
for the multi-toggle frames — AI availability and the two notification
sections — so their panels no longer stack flush. Joined divide-y lists stay
flush.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 23:48:30 +03:00
..
2026-07-15 20:54:37 +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-15 21:12:01 +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.