"use client"; import { useState } from "react"; import { motion } from "framer-motion"; import { Experience, WHATSAPP_NUMBER } from "@/lib/constants"; import { Button } from "@/components/shared/Button"; interface BookingWidgetProps { experience: Experience; } export function BookingWidget({ experience }: BookingWidgetProps) { const [guests, setGuests] = useState(2); const [selectedDate, setSelectedDate] = useState(""); const total = experience.price * guests; const dates = Array.from({ length: 7 }, (_, i) => { const d = new Date(); d.setDate(d.getDate() + i + 2); return d.toISOString().split("T")[0]; }); const formatDate = (dateStr: string) => { const d = new Date(dateStr); return d.toLocaleDateString("en-US", { weekday: "short", month: "short", day: "numeric", }); }; const whatsappUrl = `https://wa.me/${WHATSAPP_NUMBER.replace("+", "")}?text=${encodeURIComponent( `Hi! I'd like to book "${experience.name}" for ${guests} guest(s)${selectedDate ? ` on ${formatDate(selectedDate)}` : ""}. Can you help?` )}`; return (

Book {experience.name}

Secure your spot — free cancellation up to 48 hours before

{/* Date selection */}
{dates.map((date) => ( ))}
{/* Guest count */}
{guests} Max 8 per group
{/* Price summary */}
€{experience.price} × {guests} guest{guests > 1 ? "s" : ""} €{total}
Total €{total}
{/* CTA */}

Instant confirmation · Pay securely online · Free cancellation up to 48h before

); }