diff --git a/src/pages/RVBoatLotsPage.tsx b/src/pages/RVBoatLotsPage.tsx index 0a798a8..94b32db 100644 --- a/src/pages/RVBoatLotsPage.tsx +++ b/src/pages/RVBoatLotsPage.tsx @@ -32,12 +32,25 @@ type Rental = { type WaitlistEntry = { id: string; association_id: string; position: number; requester_name: string; requester_email: string | null; requester_phone: string | null; - unit_address: string | null; requested_lot_type: string; + unit_address: string | null; requested_lot_type: string; requested_size: string | null; vehicle_description: string | null; notes: string | null; status: string; source: string; joined_at: string; fulfilled_at: string | null; fulfilled_lot_number: string | null; }; +const VEHICLE_TYPES = [ + { value: "rv", label: "RV" }, + { value: "boat", label: "Boat" }, + { value: "travel_trailer", label: "Travel Trailer" }, + { value: "fifth_wheel", label: "Fifth Wheel" }, + { value: "camper", label: "Camper" }, + { value: "car", label: "Car" }, + { value: "truck", label: "Truck" }, + { value: "trailer", label: "Trailer" }, + { value: "other", label: "Other" }, +]; +const vehicleTypeLabel = (v: string) => VEHICLE_TYPES.find(t => t.value === v)?.label || v; + export default function RVBoatLotsPage() { const associationCtx = useAssociation() as any; const ctxAssociation = associationCtx?.selectedAssociation ?? null; @@ -78,7 +91,7 @@ export default function RVBoatLotsPage() { }); const [waitlistForm, setWaitlistForm] = useState({ requester_name: "", requester_email: "", requester_phone: "", - unit_address: "", requested_lot_type: "either", vehicle_description: "", notes: "" + unit_address: "", requested_lot_type: "either", requested_size: "", vehicle_description: "", notes: "" }); // batch edit state @@ -318,6 +331,7 @@ export default function RVBoatLotsPage() { requester_phone: waitlistForm.requester_phone || null, unit_address: waitlistForm.unit_address || null, requested_lot_type: waitlistForm.requested_lot_type, + requested_size: waitlistForm.requested_size || null, vehicle_description: waitlistForm.vehicle_description || null, notes: waitlistForm.notes || null, source: "manual", @@ -327,7 +341,7 @@ export default function RVBoatLotsPage() { if (error) { toast.error(error.message); return; } toast.success("Added to waitlist"); setWaitlistDialogOpen(false); - setWaitlistForm({ requester_name: "", requester_email: "", requester_phone: "", unit_address: "", requested_lot_type: "either", vehicle_description: "", notes: "" }); + setWaitlistForm({ requester_name: "", requester_email: "", requester_phone: "", unit_address: "", requested_lot_type: "either", requested_size: "", vehicle_description: "", notes: "" }); load(); }; @@ -435,17 +449,7 @@ export default function RVBoatLotsPage() {
setWaitlistForm({ ...waitlistForm, requester_phone: e.target.value })} />
setWaitlistForm({ ...waitlistForm, unit_address: e.target.value })} />
-
- - -
+
setWaitlistForm({ ...waitlistForm, requested_size: e.target.value })} />
setWaitlistForm({ ...waitlistForm, vehicle_description: e.target.value })} />