import React, { useState } from ‘react’; import { motion } from ‘framer-motion’; import { Mail, Phone, User, Lock, MessageCircle } from ‘lucide-react’; // Importaciones de componentes de UI y utilidades usando el alias de proyecto import { Button } from ‘@/components/ui/button’; import { Input } from ‘@/components/ui/input’; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from ‘@/components/ui/select’; import { toast } from ‘@/components/ui/use-toast’; import { supabase } from ‘@/lib/customSupabaseClient’; import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogAction, } from «@/components/ui/alert-dialog»; const LandingPage = () => { // Estado para manejar los datos del formulario const [formData, setFormData] = useState({ fullName: », email: », countryCode: ‘+57-Colombia’, // Código por defecto para el ejemplo whatsapp: » }); const [isSubmitting, setIsSubmitting] = useState(false); const [showSuccessModal, setShowSuccessModal] = useState(false); // Lista de países para el selector de WhatsApp const countries = [{ code: ‘+1’, name: ‘Estados Unidos’, flag: ‘🇺🇸’ }, { code: ‘+1’, name: ‘Canadá’, flag: ‘🇨🇦’ }, { code: ‘+52’, name: ‘México’, flag: ‘🇲🇽’ }, { code: ‘+54’, name: ‘Argentina’, flag: ‘🇦🇷’ }, { code: ‘+55’, name: ‘Brasil’, flag: ‘🇧🇷’ }, { code: ‘+56’, name: ‘Chile’, flag: ‘🇨🇱’ }, { code: ‘+57’, name: ‘Colombia’, flag: ‘🇨🇴’ }, { code: ‘+58’, name: ‘Venezuela’, flag: ‘🇻🇪’ }, { code: ‘+591’, name: ‘Bolivia’, flag: ‘🇧🇴’ }, { code: ‘+593’, name: ‘Ecuador’, flag: ‘🇪🇨’ }, { code: ‘+595’, name: ‘Paraguay’, flag: ‘🇵🇾’ }, { code: ‘+51’, name: ‘Perú’, flag: ‘🇵🇪’ }, { code: ‘+598’, name: ‘Uruguay’, flag: ‘🇺🇾’ }, { code: ‘+34’, name: ‘España’, flag: ‘🇪🇸’ }, { code: ‘+33’, name: ‘Francia’, flag: ‘🇫🇷’ }, { code: ‘+49’, name: ‘Alemania’, flag: ‘🇩🇪’ }, { code: ‘+44’, name: ‘Reino Unido’, flag: ‘🇬🇧’ }]; // Función para manejar la unión al grupo (simulada con toast) const handleGroupJoin = () => { toast({ title: «✅ Redireccionando a WhatsApp», description: «Serás dirigido al grupo de la comunidad para recibir tu guía.», }); // Aquí iría la lógica real de redirección, por ejemplo: // window.open(«https://chat.whatsapp.com/TuLinkDeGrupo», «_blank»); }; // Función para manejar el envío del formulario const handleSubmit = async (e) => { e.preventDefault(); if (!formData.fullName || !formData.email || !formData.whatsapp) { toast({ title: «Acceso Denegado», description: «Debes completar todos los campos para desbloquear el acceso.», variant: «destructive» }); return; } setIsSubmitting(true); const selectedCountry = countries.find(c => `${c.code}-${c.name}` === formData.countryCode); const fullWhatsapp = `${selectedCountry.code}${formData.whatsapp}`; // — Lógica de Supabase para guardar el registro — // NOTA: Esta tabla ‘registrations’ debe existir en tu base de datos Supabase const { error } = await supabase .from(‘registrations’) .insert([{ name: formData.fullName, email: formData.email, whatsapp: fullWhatsapp }]); setIsSubmitting(false); if (error) { console.error(«Error de Supabase:», error); // Para depuración toast({ title: «Error al registrar», description: «Hubo un problema al guardar tus datos. Inténtalo de nuevo.», variant: «destructive» }); } else { setShowSuccessModal(true); // Limpiar formulario setFormData({ fullName: », email: », countryCode: ‘+57-Colombia’, whatsapp: » }); } }; const selectedCountry = countries.find(c => `${c.code}-${c.name}` === formData.countryCode) || countries[0]; return ( <>
{/* Fondo de Trading (Estética Cinematográfica) */}
{/* Imagen de fondo con opacidad baja, representando un mercado de trading o ambiente oscuro */} Fondo cinematográfico oscuro con velas japonesas de trading y billetes flotando
{/* Capas de Color y Blur para Profundidad */}
{/* Columna Izquierda: Contenido y Formulario (Order 1 en móvil/tablet) */}

LA GUÍA PROHIBIDA DEL TRADER

El método oculto que te revelará cómo ganar dinero con el trading en solo 10 horas.

Descubre lo que los traders profesionales no quieren que sepas.

Accede a tres secretos que transformarán tu forma de ver el mercado.

Pero cuidado… esta información no es para todos.

{/* Contenedor del Formulario */}

¡Desbloquea tu acceso inmediato a la guía!

{/* Input Nombre */}
setFormData({ …formData, fullName: e.target.value })} className=»pl-12 bg-gray-900/50 border-2 border-gray-700 text-white placeholder:text-gray-500 focus:border-scarlet focus:ring-scarlet/50 transition-colors duration-300″ disabled={isSubmitting} />
{/* Input Email */}
setFormData({ …formData, email: e.target.value })} className=»pl-12 bg-gray-900/50 border-2 border-gray-700 text-white placeholder:text-gray-500 focus:border-scarlet focus:ring-scarlet/50 transition-colors duration-300″ disabled={isSubmitting} />
{/* Inputs WhatsApp */}
setFormData({ …formData, whatsapp: e.target.value })} className=»pl-12 w-full bg-gray-900/50 border-2 border-gray-700 text-white placeholder:text-gray-500 focus:border-scarlet focus:ring-scarlet/50 transition-colors duration-300″ disabled={isSubmitting} />
{/* Botón de Acción */}

Recibirás la guía directamente en tu correo y WhatsApp. Tus datos están protegidos con Sharks.

{/* Columna Derecha: Mockup Animado (Order 2 en móvil/tablet) */}
{/* Sombra pulsante para efecto de impacto */}
{/* Mockup del Producto con animación de flotación */} {/* URL del Mockup de la Guía */} Mockup imponente del eBook La Guía Prohibida del Trader con estética oscura y reflejos rojos
{/* Modal de Éxito / Confirmación */} ¡Acceso Desbloqueado! Tu guía será enviada al correo y WhatsApp que registraste.
¡Únete al grupo para conocer más secretos!
setShowSuccessModal(false)} className=»w-full bg-gray-700 hover:bg-gray-600 text-white» > Cerrar
); }; export default LandingPage;