mirror of
https://github.com/temetro/temetro.git
synced 2026-08-27 19:06:52 +00:00
Patients page, clinical Settings re-theme, Polar-style user footer
- Patients: new /patients directory table (name, MRN, age·sex, status,
last seen, allergies) with search + Add patient; clicking a row opens
the record in the chat via /?patient=<#>. chat-panel reads that search
param (Suspense-wrapped) and runs the lookup once on arrival. Sidebar
"Patients" now links to /patients; lib/patients gains listPatients().
- Settings: re-themed to clinical tabs (Profile · Records · Signing ·
Care team · Developers) — clinician profile, patient notifications,
patient-owned-storage/signed-records features, and a Signing key panel.
Same layout/components, only content changed.
- Sidebar footer: Polar-style NavUser (avatar + name + chevron) opening a
menu upward — Settings · Docs & GitHub · Theme · Log out. Collapsed
("locked"): avatar only, name on hover (tooltip), menu opens to the
right. Placeholder identity (no auth yet).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -261,6 +261,11 @@ const PATIENTS: Record<string, Patient> = {
|
||||
|
||||
export const SAMPLE_FILE_NUMBERS = Object.keys(PATIENTS);
|
||||
|
||||
// Live list of every patient in the store (includes ones added this session).
|
||||
export function listPatients(): Patient[] {
|
||||
return Object.values(PATIENTS);
|
||||
}
|
||||
|
||||
export async function getPatient(fileNumber: string): Promise<Patient | null> {
|
||||
// Simulate retrieval latency so the loading (skeleton) state is visible.
|
||||
await new Promise((resolve) => setTimeout(resolve, 700));
|
||||
|
||||
Reference in New Issue
Block a user