mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage
synced 2026-04-11 18:28:15 +00:00
fix: UI polish — nav labels, date picker, rules engine, error messages
- Sidebar: removed "Master" from nav labels (Leads, Patients, Appointments, Call Log) - Appointment form: Dept + Doctor in 2-col row, Date below, disabled cascade - DatePicker: placement="bottom start" + shouldFlip fixes popover positioning - Team Performance: default to "Week", grid KPI cards, chart legend spacing - Rules Engine: manual save (removed auto-debounce), Reset to Defaults uses DEFAULT_PRIORITY_CONFIG (no template endpoint), removed dead saveTimerRef - Automation rules: 6 showcase cards with trigger/condition/action, replaced agent-specific rule with generic round-robin - Recording analysis: friendly error message with retry instead of raw Deepgram error - Sidebar active/hover: brand color reference for theming Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -386,29 +386,29 @@ export const AppointmentForm = ({
|
||||
</Select>
|
||||
)}
|
||||
|
||||
<Select
|
||||
label="Department / Specialty"
|
||||
placeholder={doctors.length === 0 ? 'Loading...' : 'Select department'}
|
||||
items={departmentItems}
|
||||
selectedKey={department}
|
||||
onSelectionChange={(key) => setDepartment(key as string)}
|
||||
isRequired
|
||||
isDisabled={doctors.length === 0}
|
||||
>
|
||||
{(item) => <Select.Item id={item.id} label={item.label} />}
|
||||
</Select>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<Select
|
||||
label="Department *"
|
||||
placeholder={doctors.length === 0 ? 'Loading...' : 'Select department'}
|
||||
items={departmentItems}
|
||||
selectedKey={department}
|
||||
onSelectionChange={(key) => setDepartment(key as string)}
|
||||
isDisabled={doctors.length === 0}
|
||||
>
|
||||
{(item) => <Select.Item id={item.id} label={item.label} />}
|
||||
</Select>
|
||||
|
||||
<Select
|
||||
label="Doctor"
|
||||
placeholder={!department ? 'Select department first' : 'Select doctor'}
|
||||
items={doctorSelectItems}
|
||||
selectedKey={doctor}
|
||||
onSelectionChange={(key) => setDoctor(key as string)}
|
||||
isRequired
|
||||
isDisabled={!department}
|
||||
>
|
||||
{(item) => <Select.Item id={item.id} label={item.label} />}
|
||||
</Select>
|
||||
<Select
|
||||
label="Doctor *"
|
||||
placeholder={!department ? 'Select department first' : 'Select doctor'}
|
||||
items={doctorSelectItems}
|
||||
selectedKey={doctor}
|
||||
onSelectionChange={(key) => setDoctor(key as string)}
|
||||
isDisabled={!department}
|
||||
>
|
||||
{(item) => <Select.Item id={item.id} label={item.label} />}
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-1">
|
||||
<span className="text-xs font-medium text-secondary">Date <span className="text-error-primary">*</span></span>
|
||||
@@ -416,6 +416,7 @@ export const AppointmentForm = ({
|
||||
value={date ? parseDate(date) : null}
|
||||
onChange={(val) => setDate(val ? val.toString() : '')}
|
||||
granularity="day"
|
||||
isDisabled={!doctor}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user