add customer_id prop to RhfVehicleSelectField and update vehicle query
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
parent
615a0fda59
commit
0c43c8edd2
@ -208,6 +208,7 @@ export function JobCardForm({ resourceId, initialData, onSuccess }: JobCardFormP
|
||||
|
||||
const hasInsurance = form.watch("has_insurance")
|
||||
const status = form.watch("status")
|
||||
const customer = form.watch("customer")
|
||||
const isCheckIn = status === "check_in"
|
||||
|
||||
const { mutate, error, isPending } = useFormMutation(form, {
|
||||
@ -250,7 +251,7 @@ export function JobCardForm({ resourceId, initialData, onSuccess }: JobCardFormP
|
||||
|
||||
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
|
||||
<RhfCustomerSelectField name="customer" />
|
||||
<RhfVehicleSelectField name="vehicle" />
|
||||
<RhfVehicleSelectField name="vehicle" customer_id={customer?.value} />
|
||||
</div>
|
||||
|
||||
<RhfCheckboxField name="has_insurance" label="Has Insurance Work?" />
|
||||
|
||||
@ -72,6 +72,7 @@ export type RhfVehicleSelectFieldProps<
|
||||
required?: boolean
|
||||
disabled?: boolean
|
||||
placeholder?: string
|
||||
customer_id?: string | null
|
||||
}
|
||||
|
||||
// ── Component ──
|
||||
@ -86,6 +87,7 @@ export function RhfVehicleSelectField<
|
||||
required,
|
||||
disabled,
|
||||
placeholder = "Search by make, model, year, or plate...",
|
||||
customer_id,
|
||||
}: RhfVehicleSelectFieldProps<TValues, TName>) {
|
||||
const api = useAuthApi()
|
||||
const anchorRef = useRef<HTMLDivElement>(null)
|
||||
@ -100,9 +102,9 @@ export function RhfVehicleSelectField<
|
||||
} = useController({ name, control, disabled })
|
||||
|
||||
const { data: options = [], isLoading } = useQuery<VehicleOption[]>({
|
||||
queryKey: [VEHICLE_ROUTES.INDEX, "vehicle-select"],
|
||||
queryKey: [VEHICLE_ROUTES.INDEX, "vehicle-select", customer_id],
|
||||
queryFn: async () => {
|
||||
const res = await api.vehicles.list()
|
||||
const res = await api.vehicles.list({ customer_id: customer_id || undefined })
|
||||
return extractItems(res).map(buildVehicleOption)
|
||||
},
|
||||
staleTime: 5 * 60 * 1000,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user