fix: chat input clipping, AI appointments create patients, batched approval

1. Chat input toolbar was clipped in the empty state: the form's overflow-hidden
   made its flex min-height resolve to 0, so the vertically-centered layout
   squeezed it and hid the bottom toolbar (attach/add-patient/model/mic/send).
   Add `shrink-0` to the form; let the empty-state column scroll.
2. AI-imported appointments now create/link a patient: services.ensurePatient
   reuses a same-name patient or creates one (auto file number, source "ai");
   appointments.createAppointment calls it when the booking has no file number,
   so imported people appear on the Patients page.
3. Many proposals collapse into one BatchActionPreviewCard → a review dialog
   with per-row remove and "Add all" (commits sequentially), instead of one
   Add/Discard card per record.

Plus: widen the Live chart right margin so the value pill stays inside the card.
Verified with `next build`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-06-14 21:23:25 +03:00
parent 8c1f520047
commit b946dc9226
8 changed files with 304 additions and 12 deletions
@@ -86,7 +86,7 @@ export function LiveHospitalChart() {
<div className="h-56 w-full">
<LiveLineChart
data={data}
margin={{ left: 44 }}
margin={{ left: 44, right: 28 }}
value={value}
window={WINDOW_SECONDS}
>