feat(uat-batch-16): Interest Overview cleanup — hide legacy reminder panel, deprioritize PaymentsSection
Two coordinated layout changes on the interest Overview tab so the active milestone gets visual priority. - Legacy `interest.reminderEnabled` panel removed from Overview. The field still drives the auto-follow-up worker (`processFollowUpReminders`) and the REMINDERS section + bell-in- header surface active reminders, so the read-only duplicate panel was pure noise. Backend behaviour unchanged; no schema impact. - PaymentsSection mount relocated from above the milestone strip to below it. The active milestone above carries the rep's day-to-day attention; deposits-tracking is reference / history once expected. Render order: past strip → current milestone(s) → future (collapsed) → PaymentsSection → Lead/Source grid. Pre-Reservation the section still doesn't render at all (unchanged). Collapsed-bar + summary-chip refinement parked. tsc clean. 1419/1419 vitest pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -987,14 +987,8 @@ function OverviewTab({
|
|||||||
deposit_paid stage server-side. Hidden before the reservation
|
deposit_paid stage server-side. Hidden before the reservation
|
||||||
stage: no deposit is expected yet, so the empty card is just
|
stage: no deposit is expected yet, so the empty card is just
|
||||||
noise — the next-milestone card carries the actionable copy
|
noise — the next-milestone card carries the actionable copy
|
||||||
instead. */}
|
instead. Render order: deprioritized below the milestone strip
|
||||||
{showPaymentsSection ? (
|
so the rep's eye lands on the active step first. */}
|
||||||
<PaymentsSection
|
|
||||||
interestId={interestId}
|
|
||||||
depositExpectedAmount={interest.depositExpectedAmount ?? null}
|
|
||||||
depositExpectedCurrency={interest.depositExpectedCurrency ?? null}
|
|
||||||
/>
|
|
||||||
) : null}
|
|
||||||
{/* Pre-reservation: the dedicated "Next step" guidance card was
|
{/* Pre-reservation: the dedicated "Next step" guidance card was
|
||||||
removed in favour of a brighter NEXT STEP pill on the active
|
removed in favour of a brighter NEXT STEP pill on the active
|
||||||
MilestoneSection below (it already owns the workflow actions —
|
MilestoneSection below (it already owns the workflow actions —
|
||||||
@@ -1067,6 +1061,18 @@ function OverviewTab({
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* Payments section relocated below milestones (was above): the
|
||||||
|
deposit-tracking surface is reference/history, not the rep's
|
||||||
|
primary focus once they're at Reservation+. The active
|
||||||
|
milestone above carries the actionable copy. */}
|
||||||
|
{showPaymentsSection ? (
|
||||||
|
<PaymentsSection
|
||||||
|
interestId={interestId}
|
||||||
|
depositExpectedAmount={interest.depositExpectedAmount ?? null}
|
||||||
|
depositExpectedCurrency={interest.depositExpectedCurrency ?? null}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
{/* Lead & Source (editable) */}
|
{/* Lead & Source (editable) */}
|
||||||
<div className="space-y-1">
|
<div className="space-y-1">
|
||||||
@@ -1199,19 +1205,12 @@ function OverviewTab({
|
|||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Reminder */}
|
{/* Legacy `interest.reminderEnabled` / `reminderDays` / `reminderLastFired`
|
||||||
{interest.reminderEnabled && (
|
still drive the auto-follow-up worker (`processFollowUpReminders`),
|
||||||
<div className="space-y-1">
|
but the Overview surface for them is hidden: the REMINDERS
|
||||||
<h3 className="text-sm font-medium mb-2">Reminder</h3>
|
section below shows the full reminders table and the bell-in-
|
||||||
<dl>
|
header surfaces active counts. Removing the duplicate read-only
|
||||||
<InfoRow
|
panel cleans Overview without affecting the backend job. */}
|
||||||
label="Reminder Days"
|
|
||||||
value={interest.reminderDays ? `${interest.reminderDays} days` : null}
|
|
||||||
/>
|
|
||||||
<InfoRow label="Last Fired" value={formatDate(interest.reminderLastFired)} />
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Most-recent threaded note teaser. Saves a click into the Notes
|
{/* Most-recent threaded note teaser. Saves a click into the Notes
|
||||||
tab when the rep just wants to peek at "what was discussed last."
|
tab when the rep just wants to peek at "what was discussed last."
|
||||||
|
|||||||
Reference in New Issue
Block a user