diff --git a/src/app/(protected)/workorders/_components/wizard/use-wizard-date-field-state.ts b/src/app/(protected)/workorders/_components/wizard/use-wizard-date-field-state.ts index ada32016..ae48b4b5 100644 --- a/src/app/(protected)/workorders/_components/wizard/use-wizard-date-field-state.ts +++ b/src/app/(protected)/workorders/_components/wizard/use-wizard-date-field-state.ts @@ -52,13 +52,21 @@ export function useWizardDateFieldState({ const [rangeStart, setRangeStart] = useState(value || ""); const [rangeEnd, setRangeEnd] = useState(scheduleEnd || ""); + useEffect(() => { + if (!open) { + return; + } + // Keep draft props as source of truth while open so parent clears + // (e.g. Clear schedule) cannot leave stale rangeStart/rangeEnd. + setRangeStart(value || ""); + setRangeEnd(scheduleEnd || ""); + }, [open, value, scheduleEnd]); + useEffect(() => { if (open) { - setRangeStart(value || ""); - setRangeEnd(scheduleEnd || ""); setCellMode(initialMode); } - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps -- reseat mode only when the popover opens }, [open]); function handleRangeClick(iso: string) { diff --git a/src/app/(protected)/workorders/_components/wizard/wizard-step-location-site-select.tsx b/src/app/(protected)/workorders/_components/wizard/wizard-step-location-site-select.tsx index 3cc42c58..8d06d966 100644 --- a/src/app/(protected)/workorders/_components/wizard/wizard-step-location-site-select.tsx +++ b/src/app/(protected)/workorders/_components/wizard/wizard-step-location-site-select.tsx @@ -41,6 +41,7 @@ export function WizardStepLocationSiteSelect({ siteCode: loc ? resolveSiteCode(loc) : "", pocName: "", pocPhone: "", + pocNotes: "", }); }} /> diff --git a/src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx b/src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx index cb2a7cbf..7dbcb199 100644 --- a/src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx +++ b/src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx @@ -2,10 +2,7 @@ import { Clock, ExternalLink, Mail, User, Wrench } from "lucide-react"; import { Text } from "@/components/ui/text"; import type { VendorDropdownItem } from "@/domain/work-orders/types/work-order"; import { - ALL_WIZARD_STATUSES, TIME_SLOTS, - WIZARD_STATUS_DOTS, - type WizardWOStatus, type WorkOrderWizardDraft, } from "@/domain/work-orders/types/work-order-wizard"; import { calcDuration, fmt12 } from "@/domain/work-orders/utils/wizard-date-utils"; @@ -19,7 +16,6 @@ import { DLG_INPUT_STYLE, } from "@/app/(protected)/workorders/_components/wizard/wizard-input-styles"; import { - ColorDot, Detail, WizLabel, WizLabelRow, @@ -117,8 +113,6 @@ export function WizardStepVendorTime({ onPatch, }: WizardStepVendorTimeProps) { const selectedVendor = vendors.find((v) => String(v.id) === draft.vendorId); - const statusValue = (draft.status || "Incomplete") as WizardWOStatus; - const statusDotColor = WIZARD_STATUS_DOTS[statusValue] ?? WIZARD_STATUS_DOTS.Incomplete; const selectedDistance = formatVendorDistance(selectedVendor?.distanceMiles); return ( @@ -234,22 +228,6 @@ export function WizardStepVendorTime({ )} - -