import React, { useState } from 'react'; import { Map, Calendar, ShoppingCart, User, FileText, ChevronRight, Mountain, Menu, X, Clock, MapPin, Trash2, CreditCard, CheckCircle } from 'lucide-react'; // --- DATOS MOCK DE DESTINOS --- const destinationsData = [ { id: 1, name: 'Mirador de Cóndores', price: 35000, difficulty: 'Media', duration: '1 Día', image: 'bg-emerald-800', desc: 'Espectacular vista en la Cordillera de los Andes donde podrás observar el vuelo del Cóndor Andino en su hábitat natural.' }, { id: 2, name: 'Bosque de los Brujos', price: 28000, difficulty: 'Baja', duration: '1 Día', image: 'bg-stone-700', desc: 'Ruta mística rodeada de flora nativa y formaciones rocosas únicas. Ideal para principiantes y familias.' }, { id: 3, name: 'Embalse El Yeso', price: 45000, difficulty: 'Baja', duration: '1 Día', image: 'bg-cyan-800', desc: 'Maravillosa reserva de agua color turquesa enclavada en medio de la Cordillera de los Andes, en el Cajón del Maipo.' }, { id: 4, name: 'Cerro Manquehue', price: 25000, difficulty: 'Media-Alta', duration: 'Medio Día', image: 'bg-green-800', desc: 'El clásico de Santiago. Un desafío físico que te recompensa con la mejor vista panorámica de la capital.' }, { id: 5, name: 'Alto El Naranjo', price: 22000, difficulty: 'Media', duration: 'Medio Día', image: 'bg-amber-700', desc: 'Ruta sombreada con un icónico Quillay en su cumbre. Excelente para entrenamiento de Trail y Trekking.' }, { id: 6, name: 'Baños Morales', price: 40000, difficulty: 'Baja', duration: '1 Día', image: 'bg-orange-800', desc: 'Relájate en aguas termales ricas en minerales después de una suave caminata por el sector.' }, { id: 7, name: 'Salto de Apoquindo', price: 30000, difficulty: 'Alta', duration: '1 Día', image: 'bg-blue-800', desc: 'Desafiante ruta en el Parque Aguas de Ramón que culmina en una impresionante cascada de 30 metros.' }, { id: 8, name: 'Cajón del Diablo', price: 38000, difficulty: 'Media', duration: '1 Día', image: 'bg-stone-800', desc: 'Ruta profunda y enigmática, perfecta para desconectarse y sentir la inmensidad de la montaña.' }, { id: 9, name: 'Laguna Negra', price: 55000, difficulty: 'Alta', duration: '1 Día', image: 'bg-slate-800', desc: 'Expedición de alta exigencia hacia una de las lagunas glaciares más hermosas y prístinas de la zona central.' }, { id: 10, name: 'Monumento El Morado', price: 48000, difficulty: 'Media', duration: '1 Día', image: 'bg-zinc-800', desc: 'Caminata hacia el glaciar San Francisco, rodeado de imponentes cumbres y morrenas glaciares.' } ]; export default function App() { const [currentView, setCurrentView] = useState('home'); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [cart, setCart] = useState([]); const [selectedDestination, setSelectedDestination] = useState(null); const [selectedDate, setSelectedDate] = useState(''); // Utilidades de formato const formatPrice = (price) => { return new Intl.NumberFormat('es-CL', { style: 'currency', currency: 'CLP' }).format(price); }; // Navegación const navigateTo = (view) => { setCurrentView(view); setIsMobileMenuOpen(false); window.scrollTo(0, 0); }; const viewDestination = (dest) => { setSelectedDestination(dest); setSelectedDate(''); // Resetear fecha navigateTo('destination-detail'); }; // Carrito const addToCart = () => { if (!selectedDate) { alert("Por favor selecciona una fecha en el calendario."); return; } const newItem = { ...selectedDestination, cartId: Date.now(), date: selectedDate }; setCart([...cart, newItem]); navigateTo('cart'); }; const removeFromCart = (cartId) => { setCart(cart.filter(item => item.cartId !== cartId)); }; const cartTotal = cart.reduce((total, item) => total + item.price, 0); // --- COMPONENTES DE VISTA --- const HomeView = () => (
{/* Hero Section */}

Descubre la majestuosidad
de las montañas chilenas

Únete a Travesía 360 y vive experiencias inolvidables de trekking y montañismo guiado.

{/* Featured Destinations */}

Destinos Destacados

{destinationsData.slice(0, 3).map((dest) => (
viewDestination(dest)}>

{dest.name}

{dest.difficulty}

{dest.desc}

{formatPrice(dest.price)}
))}
); const DestinationsView = () => (

Nuestras Expediciones

Selecciona tu próximo desafío en la montaña.

{destinationsData.map((dest) => (
viewDestination(dest)}>

{dest.name}

{dest.duration} {dest.difficulty}

{dest.desc}

{formatPrice(dest.price)}
))}
); const DestinationDetailView = () => { if (!selectedDestination) return null; const dest = selectedDestination; return (
{/* Img Section */}

{dest.name}

{/* Info & Booking Section */}

{dest.name}

{formatPrice(dest.price)}
{dest.duration} Dif: {dest.difficulty}

{dest.desc}

Esta expedición incluye guía certificado, equipo de primeros auxilios grupal, y registro en las autoridades correspondientes. Transporte sujeto a disponibilidad (consultar).

{/* Booking Form (Calendar) */}

Selecciona tu fecha

setSelectedDate(e.target.value)} min={new Date().toISOString().split('T')[0]} // Solo fechas futuras />
); }; const CartView = () => (

Tu Carrito de Compras

{cart.length === 0 ? (

Tu mochila está vacía

Aún no has seleccionado ninguna expedición.

) : (
{cart.map((item) => (

{item.name}

Fecha: {item.date}

{formatPrice(item.price)}
))}

Resumen

Subtotal ({cart.length} items) {formatPrice(cartTotal)}
Total {formatPrice(cartTotal)}
Pago 100% seguro con Webpay
)}
); const RegisterView = () => (

Ficha de Registro

Obligatorio para todos los participantes antes de la expedición.

{ e.preventDefault(); alert('Registro guardado exitosamente.'); navigateTo('home'); }}>


Contacto de Emergencia

); const BlogView = () => (

Blog de Montaña

Guías

Sistema de Capas: Cómo vestirse para el trekking

Descubre la importancia de la primera, segunda y tercera capa para mantener tu temperatura corporal en la Cordillera de los Andes.

Destinos

Cerro Manquehue: Consejos para conquistar la cumbre

El clásico capitalino requiere respeto. Te contamos qué llevar, por dónde subir y a qué hora es mejor realizar el ascenso.

); const TermsView = () => (

Términos y Condiciones Generales

1. Políticas de Reserva: Toda reserva se hace efectiva una vez confirmado el pago a través de nuestro sitio web. Los cupos son limitados y se asignan por orden de pago.

2. Políticas de Cancelación: Se permite cancelar o reagendar hasta 48 horas antes del inicio de la expedición. Cancelaciones con menos de 48 horas no tendrán devolución de dinero.

3. Clima y Seguridad: Travesía 360 se reserva el derecho de cancelar o modificar la ruta de la expedición si las condiciones climáticas (lluvia, nieve, viento extremo) o eventos de fuerza mayor ponen en riesgo la seguridad del grupo. En caso de cancelación por nuestra parte, se ofrecerá reagendamiento o devolución total.

4. Estado Físico y Salud: El cliente declara tener la salud y estado físico compatibles con la actividad que está reservando, según la dificultad descrita. Es obligatorio llenar la Ficha de Registro.

5. Instrucciones del Guía: Durante la expedición, las decisiones del guía a cargo son definitivas y obedecen a protocolos de seguridad de montaña.

); // --- NAVEGACIÓN Y ESTRUCTURA PRINCIPAL --- return (
{/* NAVBAR */} {/* MAIN CONTENT AREA */}
{currentView === 'home' && } {currentView === 'destinations' && } {currentView === 'destination-detail' && } {currentView === 'cart' && } {currentView === 'blog' && } {currentView === 'register' && } {currentView === 'terms' && }
{/* FOOTER */}
); }