fix: assessment scenarios UX tweaks and projection improvements
- Reorder sidebar: Assessment Scenarios now directly under Budget Planning - Simplify special assessment form: remove Total Amount, keep Per Unit only - Replace Duration field from free-text installments to dropdown (one-time/quarterly/6mo/annual) - Update Change column display to show total per-unit with duration label - Fix Reserve Coverage to use planned capital project costs instead of budget expenses - Include capital_projects table in projection engine alongside projects table - Replace actions dropdown menu with inline Edit/Remove icon buttons - Remove Refresh Projection button (projection auto-refreshes on changes) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -117,32 +117,27 @@ export function AssessmentChangeForm({ opened, onClose, onSubmit, initialData, l
|
||||
|
||||
{isSpecial && (
|
||||
<>
|
||||
<Group grow>
|
||||
<NumberInput
|
||||
label="Total Amount"
|
||||
value={form.specialTotal}
|
||||
onChange={(v) => setForm({ ...form, specialTotal: Number(v) || 0 })}
|
||||
min={0}
|
||||
decimalScale={2}
|
||||
thousandSeparator=","
|
||||
prefix="$"
|
||||
/>
|
||||
<NumberInput
|
||||
label="Per Unit Amount"
|
||||
value={form.specialPerUnit}
|
||||
onChange={(v) => setForm({ ...form, specialPerUnit: Number(v) || 0 })}
|
||||
min={0}
|
||||
decimalScale={2}
|
||||
prefix="$"
|
||||
/>
|
||||
</Group>
|
||||
<NumberInput
|
||||
label="Installments"
|
||||
description="1 = one-time lump sum, 6 = spread over 6 months, etc."
|
||||
value={form.specialInstallments}
|
||||
label="Per Unit Amount"
|
||||
description="Total amount each unit will be assessed"
|
||||
value={form.specialPerUnit}
|
||||
onChange={(v) => setForm({ ...form, specialPerUnit: Number(v) || 0 })}
|
||||
min={0}
|
||||
decimalScale={2}
|
||||
thousandSeparator=","
|
||||
prefix="$"
|
||||
/>
|
||||
<Select
|
||||
label="Duration"
|
||||
description="How the assessment is collected"
|
||||
value={String(form.specialInstallments)}
|
||||
onChange={(v) => setForm({ ...form, specialInstallments: Number(v) || 1 })}
|
||||
min={1}
|
||||
max={60}
|
||||
data={[
|
||||
{ value: '1', label: 'One-time (lump sum)' },
|
||||
{ value: '3', label: 'Quarterly (3 monthly payments)' },
|
||||
{ value: '6', label: '6 months' },
|
||||
{ value: '12', label: 'Annual (12 monthly payments)' },
|
||||
]}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user