import React, { useState, useEffect } from 'react'; import { Lock, Brain, Wrench, Target, Video, Zap, User, Mail, KeyRound, CalendarDays, MapPin, ChevronDown, Eye, EyeOff, Twitter, Facebook, Youtube, Send, Phone } from 'lucide-react'; // Added Phone icon // Logo URL for general use (hero text section) - user-uploaded one const LOGO_URL = 'mobilsociallogo4.webp'; // This assumes the file is in the public folder // Specific Logo URL for the top navigation bar AND FOOTER const WHITE_LOGO_URL = 'https://www.mobilsocial.com/images/mobilsociallogowhite.png'; // Specific Logo URL for the form (can be the same as white logo or different) const FORM_LOGO_URL = 'https://www.mobilsocial.com/images/mobilsociallogowhite.png'; // Helper component for social media icons (simplified) const TikTokIcon = () => ( // Simple SVG placeholder for TikTok ); // Background image URL const HERO_BACKGROUND_IMAGE_URL = 'https://www.mobilsocial.com/images/mobilsocialbackground.webp'; const App = () => { // Page Title useEffect(() => { document.title = "What happening in miami | Mobilsocial Social Network"; }, []); // --- State for Sign Up Form --- const [formData, setFormData] = useState({ fullName: '', email: '', phoneNumber: '', username: '', password: '', confirmPassword: '', dob: '', miamiArea: '', }); const [errors, setErrors] = useState({}); const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); const miamiAreas = [ "Select your area", "Downtown Miami", "South Beach", "Wynwood", "Brickell", "Coconut Grove", "Little Havana", "Coral Gables", "Miami Beach", "Key Biscayne", "Aventura", "Sunny Isles Beach", "Other", ]; const handleChange = (e) => { const { name, value, type, checked } = e.target; setFormData({ ...formData, [name]: type === 'checkbox' ? checked : value }); if (errors[name]) { setErrors({ ...errors, [name]: null }); } }; const validateForm = () => { const newErrors = {}; if (!formData.fullName.trim()) newErrors.fullName = 'Full name is required.'; if (!formData.email.trim()) { newErrors.email = 'Email is required.'; } else if (!/\S+@\S+\.\S+/.test(formData.email)) { newErrors.email = 'Email is invalid.'; } if (!formData.phoneNumber.trim()) { newErrors.phoneNumber = 'Phone number is required.'; } else if (!/^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$/.test(formData.phoneNumber)) { newErrors.phoneNumber = 'Phone number is invalid.'; } else if (formData.phoneNumber.replace(/\D/g, '').length < 7) { newErrors.phoneNumber = 'Phone number seems too short.'; } if (!formData.username.trim()) newErrors.username = 'Username is required.'; else if (formData.username.length < 3) newErrors.username = 'Username must be at least 3 characters.'; if (!formData.password) { newErrors.password = 'Password is required.'; } else if (formData.password.length < 8) { newErrors.password = 'Password must be at least 8 characters.'; } if (formData.password !== formData.confirmPassword) { newErrors.confirmPassword = 'Passwords do not match.'; } if (!formData.dob) newErrors.dob = 'Date of birth is required.'; if (!formData.miamiArea || formData.miamiArea === "Select your area") { newErrors.miamiArea = 'Please select your area in Miami.'; } setErrors(newErrors); return Object.keys(newErrors).length === 0; }; const handleSubmit = (e) => { e.preventDefault(); if (validateForm()) { console.log('Form Data:', formData); window.location.href = 'https://www.mobilsocial.com/signup'; console.log('Sign up successful! Redirecting to mobilsocial.com/signup'); } else { console.log('Validation Errors:', errors); } }; // --- Feature Data --- const features = [ { icon: , title: 'Privacy and Data Control', description: 'End-to-end encryption, minimal tracking, and full control over who sees your content. We prioritize your data security.', }, { icon: , title: 'Authentic, Real Connections', description: 'Move away from toxic platforms. Join genuine, smaller communities for real conversations and emotional safety.', }, { icon: , title: 'Useful Tools for Creators & Users', description: 'Built-in monetization (tipping, subs), robust content creation tools (editing, scheduling, analytics) to empower your creativity.', }, { icon: , title: 'Personalized & Ethical Algorithms', description: 'Smart recommendations with transparency and control. Algorithms that enhance, not manipulate, your experience. Chronological feed option available.', }, { icon: