carepath-api / interpreter /frontend /src /components /SessionChecklist.tsx
tranth3truong's picture
Deploy public Scribe-only CarePath Space
cc678b9
Raw
History Blame Contribute Delete
1.1 kB
import { useState } from "react";
import { copy, type Language } from "../copy";
type SessionChecklistProps = {
language?: Language;
delivered: boolean;
confirmed: boolean;
escalationLocated: boolean;
};
export function SessionChecklist({ language = "vi", delivered, confirmed, escalationLocated }: SessionChecklistProps) {
const text = copy[language].checklist;
const [dismissed, setDismissed] = useState(() => localStorage.getItem("carepath-session-checklist-dismissed") === "1");
if (dismissed) return null;
const dismiss = () => {
localStorage.setItem("carepath-session-checklist-dismissed", "1");
setDismissed(true);
};
return (
<aside className="session-checklist" aria-label={text.title} aria-live="polite">
<strong>{text.title}</strong>
<ul>
<li>{delivered ? "βœ“ " : "β—‹ "}{text.delivered}</li>
<li>{confirmed ? "βœ“ " : "β—‹ "}{text.confirmed}</li>
<li>{escalationLocated ? "βœ“ " : "β—‹ "}{text.escalation}</li>
</ul>
<button type="button" onClick={dismiss}>{text.dismiss}</button>
</aside>
);
}