import { useState } from "react"; import { CalendarDays, ChevronDown, CircleCheck, Clock, MapPin, Users } from "lucide-react"; import { BuscadorSelect } from "@/components/BuscadorSelect"; import { LUGARES_CITA, VUELO_INCLUYE } from "@/lib/extras-catalogo"; import { HORA_CITA, type PasajeroDatos, type ReservaEstado } from "@/lib/reserva-flujo"; export function Paso2Datos({ estado, set, setPasajero, }: { estado: ReservaEstado; set: (parcial: Partial) => void; setPasajero: (i: number, parcial: Partial) => void; }) { const [resumenAbierto, setResumenAbierto] = useState(true); return (

Datos del vuelo

set({ fecha: e.target.value })} className="w-full rounded-2xl border border-border bg-card px-4 py-3 text-sm transition-all hover:border-primary/60 focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50" />
Hora de cita
{HORA_CITA}

Horario fijo de recepción de pasajeros.

set({ lugarCita: v })} placeholder="Busca tu punto de encuentro" />
Tipo de vuelo
Compartidos
Idioma del pase de abordar
{(["Español", "Inglés"] as const).map((idioma) => ( ))}

Datos de los pasajeros

{estado.pasajeros.length} pasajero(s) según tu selección del paso 1.

{estado.pasajeros.map((p, i) => (

Pasajero {i + 1} {i < estado.adultos ? "· Adulto" : "· Niño"}

setPasajero(i, { nombre: e.target.value })} placeholder="Nombre(s)" className="rounded-2xl border border-border bg-card px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring" /> setPasajero(i, { apellidos: e.target.value })} placeholder="Apellidos" className="rounded-2xl border border-border bg-card px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring" /> setPasajero(i, { telefono: e.target.value })} placeholder="Teléfono de contacto" className="rounded-2xl border border-border bg-card px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring" /> setPasajero(i, { peso: e.target.value })} placeholder="Peso aproximado (kg)" className="rounded-2xl border border-border bg-card px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring" />
))}
{/* Resumen del vuelo colapsable */}
); }