import { Button } from "./ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "./ui/card"; import { Separator } from "./ui/separator"; import { Badge } from "./ui/badge"; import { CheckCircle, MapPin, Calendar, Users, Car, Phone, User } from "lucide-react"; interface BookingData { pickup: string; dropoff: string; date: string; time: string; passengers: string; vehicleType: string; contactNumber: string; contactName: string; } interface Vehicle { id: string; type: string; name: string; price: number; capacity: number; rating: number; estimatedTime: string; features: string[]; } interface BookingConfirmationProps { bookingData: BookingData; selectedVehicle: Vehicle; onConfirm: () => void; onEdit: () => void; } export function BookingConfirmation({ bookingData, selectedVehicle, onConfirm, onEdit, }: BookingConfirmationProps) { // --- POST booking data to Vercel backend --- const handleConfirm = async () => { try { const res = await fetch( "https://sangwari-backend-6fperqp5u-sangwari-taxis-projects.vercel.app/api/sendBookingEmail", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ pickup: bookingData.pickup, dropoff: bookingData.dropoff, date: bookingData.date, time: bookingData.time, passengers: bookingData.passengers, contactName: bookingData.contactName, contactNumber: bookingData.contactNumber, }), } ); if (res.ok) { alert("Booking email sent successfully!"); onConfirm(); // optional: trigger parent callback } else { const data = await res.json(); console.error("Error response:", data); alert("Failed to send booking email."); } } catch (err) { console.error("Error sending booking:", err); alert("Error sending booking. Check console for details."); } }; return ( Confirm Your Booking {/* Trip Details */}

Trip Details

Pickup
{bookingData.pickup}
Drop-off
{bookingData.dropoff}
Date & Time
{new Date(bookingData.date).toLocaleDateString()} at {bookingData.time}
Passengers
{bookingData.passengers}
Contact Name
{bookingData.contactName}
Contact Number
{bookingData.contactNumber}
{/* Vehicle Details */}

Selected Vehicle

{selectedVehicle.name}
{selectedVehicle.capacity} passengers • {selectedVehicle.estimatedTime}
{selectedVehicle.features.map((feature, index) => ( {feature} ))}
{/* Booking Info */}

Booking Information

{bookingData.dropoff.includes("Airport Taxi") ? "Airport Taxi Fee" : "Customize Price"} {bookingData.dropoff.includes("Airport Taxi") ? "₹999" : "Call for Quote"}
{bookingData.dropoff.includes("Airport Taxi") ? `₹999 fixed rate for airport taxi. Driver will contact you at ${bookingData.contactNumber} for pickup details.` : `Driver will contact you at ${bookingData.contactNumber} for final pricing and trip details.`}
{/* Action Buttons */}
); }