add customer_id prop to RhfVehicleSelectField and update vehicle query

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Mohammad Khyata 2026-04-27 11:32:35 +03:00
parent 615a0fda59
commit 0c43c8edd2
2 changed files with 7 additions and 4 deletions

View File

@ -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?" />

View File

@ -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,
@ -129,7 +131,7 @@ export function RhfVehicleSelectField<
const combobox = (
<div ref={anchorRef}>
<Combobox
<Combobox
value={field.value}
onValueChange={(val: VehicleOption | VehicleOption[] | null) => {
const single = Array.isArray(val) ? val[0] ?? null : val