// YCI-1a: "I will speak to Mariam today", held in memory for this tab only (PAT-5). import { useSyncExternalStore } from "react"; import type { CallConfirmation } from "../../logic/urgent"; const confirmations = new Map(); const listeners = new Set<() => void>(); export function confirmCall(patientId: string) { confirmations.set(patientId, { patientId, confirmedAt: new Date().toISOString() }); listeners.forEach((l) => l()); } export function useCallConfirmation(patientId: string): CallConfirmation | null { return useSyncExternalStore( (l) => { listeners.add(l); return () => listeners.delete(l); }, () => confirmations.get(patientId) ?? null, ); }