import { TripDetails } from "../../../trip-planner/types"; import { useState } from "react"; export default function AccommodationsList({ tripDetails, }: { tripDetails: TripDetails; }) { console.log("tripDetails", tripDetails); // Placeholder data - ideally would come from props const [accommodations] = useState([ { id: "1", name: "Grand Hotel", type: "Hotel", price: "$150/night", rating: 4.8, amenities: ["WiFi", "Pool", "Breakfast"], image: "https://placehold.co/300x200?text=Hotel", available: true, }, { id: "2", name: "Cozy Apartment", type: "Apartment", price: "$120/night", rating: 4.5, amenities: ["WiFi", "Kitchen", "Washing Machine"], image: "https://placehold.co/300x200?text=Apartment", available: true, }, { id: "3", name: "Beachside Villa", type: "Villa", price: "$300/night", rating: 4.9, amenities: ["WiFi", "Private Pool", "Ocean View"], image: "https://placehold.co/300x200?text=Villa", available: false, }, ]); const [selectedId, setSelectedId] = useState(null); const selectedAccommodation = accommodations.find( (acc) => acc.id === selectedId, ); return (

Accommodations in {tripDetails.location}

{selectedId && ( )}

{new Date(tripDetails.startDate).toLocaleDateString()} -{" "} {new Date(tripDetails.endDate).toLocaleDateString()} ยท{" "} {tripDetails.numberOfGuests} guests

{!selectedId ? (
{accommodations.map((accommodation) => (
setSelectedId(accommodation.id)} className={`flex border rounded-lg p-3 cursor-pointer transition-all ${ accommodation.available ? "hover:border-blue-300 hover:shadow-md" : "opacity-60" }`} >
{accommodation.name}

{accommodation.name}

{accommodation.price}

{accommodation.type}

{accommodation.rating}
{!accommodation.available && ( Unavailable for your dates )}
))}
) : (
{selectedAccommodation && ( <>
{selectedAccommodation.name}

{selectedAccommodation.name}

{selectedAccommodation.price}
{selectedAccommodation.rating}

Perfect accommodation in {tripDetails.location} for your{" "} {tripDetails.numberOfGuests} guests.

Amenities:

{selectedAccommodation.amenities.map((amenity) => ( {amenity} ))}
)}
)}
); }