// Shared shell primitives — slimmed for the compact "sheet" demo layout. const DG = '#033d2e'; const DG80 = 'rgba(3,61,46,0.8)'; const DG70 = 'rgba(3,61,46,0.7)'; const DG60 = 'rgba(3,61,46,0.6)'; const DG50 = 'rgba(3,61,46,0.5)'; const DG10 = 'rgba(3,61,46,0.1)'; const DG06 = 'rgba(3,61,46,0.06)'; const MINT = '#77deba'; const MINT32 = 'rgba(119,222,186,0.32)'; const MINT12 = 'rgba(119,222,186,0.12)'; const BGMINT = '#d3e8e1'; const BGLIGHT = '#f8faf9'; const SPINE = '#03a878'; // Legacy standalone TopBar — unused in the embedded sheet; kept exported for safety. const TopBar = ({ currentAssistant, onHome }) => (
Hysio — Digitale assistenten {currentAssistant && {currentAssistant.name}}
); // Horizontal chip-tabs that replace the old 248px AssistantSidebar. // First chip is "HOME" (→ hub); then one per assistant. const TopTabs = ({ assistants, currentId, onPick }) => { const chipStyle = (active) => ({ height: 44, padding: '0 14px', borderRadius: 9999, fontSize: 12.5, fontWeight: 600, letterSpacing: '0.02em', border: active ? `1px solid ${DG}` : `1px solid ${MINT32}`, background: active ? DG : 'transparent', color: active ? '#fff' : DG, transition: 'background-color 200ms ease, color 200ms ease, border-color 200ms ease', scrollSnapAlign: 'start', flexShrink: 0, whiteSpace: 'nowrap', cursor: 'pointer', fontFamily: 'inherit', display: 'inline-flex', alignItems: 'center', gap: 6, }); return (
{assistants.map((a) => { const active = a.id === currentId; const num = a.number || a.num; const short = a.shortName || (a.name || '').replace('Hysio ', ''); return ( ); })}
); }; const PatientStrip = ({ patient }) => (
{patient.initials || (patient.name || '').split(' ').map((w) => w[0]).slice(0, 2).join('').toUpperCase()}
{patient.name}
{patient.episode}
{patient.age} jr · {patient.geslacht} · {patient.klacht}
Actief
); // Legacy vertical sidebar — kept exported but no longer rendered by app.jsx. const AssistantSidebar = ({ assistants, currentId, onPick }) => (
{assistants.map((a) => { const active = a.id === currentId; return ( ); })}
); const Chip = ({ children, tone = 'default' }) => { const tones = { default: { bg: BGMINT, color: DG70 }, solid: { bg: DG, color: '#fff' }, active: { bg: 'rgba(3,168,120,0.12)', color: SPINE }, }; const t = tones[tone]; return ( {children} ); }; const Card = ({ children, style = {} }) => (
{children}
); const PrimaryButton = ({ children, onClick, disabled, loading, icon }) => ( ); const GhostButton = ({ children, onClick, icon }) => ( ); const SectionLabel = ({ children, icon }) => (
{icon}{children}
); Object.assign(window, { TopBar, TopTabs, PatientStrip, AssistantSidebar, Chip, Card, PrimaryButton, GhostButton, SectionLabel, DG, DG80, DG70, DG60, DG50, DG10, DG06, MINT, MINT32, MINT12, BGMINT, BGLIGHT, SPINE, });