'use client'; import React from 'react'; import { X, MapPin, Check, Truck } from 'lucide-react'; import { City } from '@/types'; import { formatCOP } from '@/lib/pricing-engine'; interface CitySelectorModalProps { isOpen: boolean; onClose: () => void; cities: City[]; selectedCity: City; onSelectCity: (city: City) => void; } export const CitySelectorModal: React.FC = ({ isOpen, onClose, cities, selectedCity, onSelectCity, }) => { if (!isOpen) return null; return (
{/* Header */}

Selecciona tu Ciudad

Calculamos tiempos y tarifas oficiales

{/* City list */}
{cities .filter((c) => c.isActive !== false) .map((city) => { const isSelected = selectedCity.id === city.id; const hasCod = city.allowsContraentrega || city.allowCod; return (
{ onSelectCity(city); onClose(); }} className={`p-3 rounded-2xl border transition-all cursor-pointer flex items-center justify-between ${ isSelected ? 'border-purple-400 bg-purple-950/50 shadow-[0_0_15px_rgba(168,85,247,0.2)]' : 'border-neutral-800 hover:border-neutral-700 bg-neutral-950' }`} >
{city.name} {hasCod && ( Contraentrega )}

{city.deliveryTime}

{city.shippingCost === 0 ? ( Gratis ) : ( formatCOP(city.shippingCost) )} {isSelected && (
)}
); })}
{/* Info footer */}
💡 En Cali y zona metropolitana: entregas el mismo día con mensajería directa y pago contraentrega.
); };