import React, { useState, useEffect } from 'react';
import { initializeApp } from 'firebase/app';
import { getAuth, signInAnonymously, onAuthStateChanged } from 'firebase/auth';
import { getFirestore, collection, addDoc, serverTimestamp } from 'firebase/firestore';
import { User, CreditCard, Shirt, CalendarDays, CheckCircle, Star, Phone, ShieldCheck, Mail, Tag } from 'lucide-react';
// CONFIGURACIÓN DE FIREBASE (PROPORCIONADA POR EL ENTORNO)
const firebaseConfig = JSON.parse(__firebase_config);
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
const db = getFirestore(app);
const appId = typeof __app_id !== 'undefined' ? __app_id : 'solo-chicas-caracas-preventa';
export default function App() {
const [user, setUser] = useState(null);
const [loading, setLoading] = useState(false);
const [submitted, setSubmitted] = useState(false);
const [error, setError] = useState(null);
// Estado del Formulario con todos los campos solicitados
const [formData, setFormData] = useState({
nombre: '',
apellido: '',
cedula: '',
correo: '',
fechaNac: '',
numeroCel: '',
tallaBrasiere: 'M (34)',
tallaFranela: 'M',
modalidad: 'Etapa 1 - Preventa VIP (35€)',
referencia: '',
metodoPago: 'Pago Movil'
});
// Autenticación inicial
useEffect(() => {
const initAuth = async () => {
try {
if (typeof __initial_auth_token !== 'undefined' && __initial_auth_token) {
await signInAnonymously(auth);
} else {
await signInAnonymously(auth);
}
} catch (err) {
console.error("Auth Error", err);
}
};
initAuth();
const unsubscribe = onAuthStateChanged(auth, (u) => setUser(u));
return () => unsubscribe();
}, []);
const handleChange = (e) => {
setFormData({ ...formData, [e.target.name]: e.target.value });
};
const handleSubmit = async (e) => {
e.preventDefault();
if (!user) {
setError("Error de conexión. Intenta de nuevo.");
return;
}
setLoading(true);
setError(null);
try {
// Guardado en la colección específica de Caracas
const registrationsRef = collection(db, 'artifacts', appId, 'public', 'data', 'registros_caracas_preventa');
await addDoc(registrationsRef, {
...formData,
userId: user.uid,
status: 'Pendiente de Verificación',
fechaRegistro: serverTimestamp()
});
setSubmitted(true);
} catch (err) {
setError("No pudimos procesar tu registro. Por favor verifica los datos.");
} finally {
setLoading(false);
}
};
return (
{/* HEADER / HERO - PREVENTA CARACAS */}
{/* LADO IZQUIERDO: INFO Y KITS (Ocupa 5 columnas en desktop) */}
{/* LADO DERECHO: FORMULARIO DE REGISTRO (Ocupa 7 columnas en desktop) */}
);
} Octubre 2026
Solo Chicas Caracas
Asegura tu lugar en la carrera femenina más esperada de la capital. Cupos extremadamente limitados en esta fase.
Kit VIP Definitivo
Al inscribirte en esta Preventa Relámpago, te llevas el paquete completo para dominar el asfalto caraqueño.
Franela Oficial de alta tecnología dry-fit. Medalla Oficial Finisher de Metal Pesado. ¡BRASIERE DEPORTIVO EXCLUSIVO! Número de participación (Chip). Hidratación y Experiencia VIP Post-Carrera.
Datos para Pago Móvil
Banco: Banplus (0174)
Teléfono: 0424-1924584
RIF: J-402862920
Pago por Zelle
zelle@runnersvenezuela.com
Sammy Subero Romero
{submitted ? (
) : (
<>
>
)}
¡Cupo Trancado!
Tus datos han sido recibidos con éxito. En 72 horas hábiles validaremos tu pago y recibirás tu comprobante oficial por correo.
Registro Oficial
Ingresa tus datos exactos para la entrega de tu Kit VIP.
