// PatientPanel.jsx — Left sidebar
import { Upload, User, AlertCircle } from 'lucide-react';
const RISK_COLOR = { critical: 'var(--red-critical)', moderate: 'var(--amber-warning)', stable: 'var(--green-safe)' };
const RISK_DOT = { critical: 'badge-critical', moderate: 'badge-moderate', stable: 'badge-stable' };
export function PatientCard({ patient, selected, onClick }) {
const risk = patient.risk_level || 'stable';
return (
onClick(patient)}
style={{
padding: '12px 14px', borderRadius: 10, cursor: 'pointer', marginBottom: 6,
background: selected ? 'rgba(10,132,255,0.12)' : 'var(--bg-surface)',
border: `1px solid ${selected ? 'rgba(10,132,255,0.4)' : 'var(--border-subtle)'}`,
transition: 'all 0.15s',
}}
>
{patient.display_name}
{risk}
{patient.age}y {patient.gender}
·
{(patient.conditions || []).join(', ') || 'No conditions'}
{patient.allergy_count} allergies · {patient.med_count} meds
);
}
export function PatientPanel({ patients, selected, onSelect, onUpload, loading }) {
return (