"use client" import { use } from "react" import { ResourcePage } from "@/shared/data-view/resource-page" import { ColumnHeader } from "@/shared/data-view/table-view" import FormDialog from "@/shared/components/form-dialog" import { VehicleForm } from "@/modules/vehicles/vehicle-form" import { VEHICLE_ROUTES } from "@garage/api" import type { VehiclesClient } from "@garage/api" import { CarIcon } from "lucide-react" import { useCustomer } from "@/modules/customers/customer-context" export default function CustomerVehiclesPage({ params }: { params: Promise<{ id: string }> }) { const { id: customerId } = use(params) const customer = useCustomer() return ( toolbar={({ invalidateQuery, selectedItem, closeDialog }) => ( {(resourceId) => ( { closeDialog() invalidateQuery() }} /> )} )} pageTitle="Customer Vehicles" routeKey={VEHICLE_ROUTES.INDEX} getClient={(api) => api.vehicles} extraParams={{ customer_id: customerId }} header={null} columns={({ actionsColumn }) => [ { accessorKey: "make", header: ({ column }) => , cell: ({ row }) => { const r = row.original as any const make = r.make ?? "" const model = r.model ?? "" const display = `${make} ${model}`.trim() || "—" return (
{display}
) }, }, { accessorKey: "year", header: ({ column }) => , cell: ({ row }) => (row.original as any).year ?? "—", }, { accessorKey: "license_plate", header: ({ column }) => , cell: ({ row }) => { const val = (row.original as any).license_plate return val ? {val} : "—" }, }, actionsColumn(), ]} /> ) }