Signal/signal-ui/src/components/StatCard.jsx
Kisa a424ac9d13 feat: add reason strings per patient, fix export headers, add signal-ui source
- Add _build_reason() to backend — per-patient reason strings with specific
  day counts (e.g. "Supply lapsed 70 days ago. Prescriber contact required.")
- Add reason field to RecordOut model and backend /api/export CSV
- Fix export column headers: Coverage End Date → Resupply End Date,
  Days Until Coverage End → Days Until Resupply End
- Pass reason through apiRecordToLocal in frontend api.js
- Display reason as muted sub-line under status badge in WorklistTable
- Add reason column to client-side CSVExport
- Add signal-ui React source to repo (was untracked)
- CLAUDE.md: add Billing and CMS integrations to Phase 2 deferred table
- research: restore Section 14 stat verification (May 23 recovery)

Deployed to Railway production — health check confirmed live.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 09:45:02 -04:00

32 lines
No EOL
915 B
JavaScript

export default function StatCard({
label,
value,
sub,
priority = false,
}) {
return (
<div
className={`rounded-[10px] p-5 border transition-all duration-200 ${
priority
? "border-[var(--accent)] shadow-[var(--accent-glow)] bg-[var(--bg-card)]"
: "border-[var(--border-color)] shadow-[var(--shadow-card-md)] bg-[var(--bg-card)]"
}`}
>
<div className="text-[11px] font-medium tracking-[0.06em] uppercase text-[var(--text-muted)] mb-[10px]">
{label}
</div>
<div
className={`font-mono text-[34px] font-medium tracking-[-0.02em] leading-none mb-[2px] ${
priority ? "text-[var(--accent-text)]" : "text-[var(--text-heading)]"
}`}
>
{value}
</div>
{sub && (
<div className="text-xs text-[var(--text-secondary)] mt-[6px]">
{sub}
</div>
)}
</div>
);
}