import React, { useState, useEffect, useRef } from 'react';
import { motion, AnimatePresence, useScroll, useTransform } from 'framer-motion';
import {
Instagram,
ChevronRight,
Star,
Clock,
MapPin,
Menu,
X,
Phone,
Sparkles,
Award,
ArrowRight,
ChevronLeft,
ShieldCheck,
CheckCircle2,
Plus,
Minus,
GraduationCap,
Lock,
Mail,
User,
BookOpen,
LogOut,
Paintbrush,
HeartPulse,
Eye,
Droplets,
ScanFace,
Scissors,
Flower2
} from 'lucide-react';
// Paleta de Colores Chairy Monasterios (Manual de Marca)
const COLORS = {
gold: '#ceac6f',
nude: '#dbc5a4',
grey: '#a6aaab',
light: '#f7f7f7',
dark: '#1a1a1a'
};
// Utilidad para optimizar carga en Cloudflare Free
const getOptimizedImg = (url, width = 800) => `${url}&w=${width}&q=75&auto=format&fit=crop`;
/* ─── COMPONENTE: SLIDER ANTES/DESPUÉS ─── */
const BeforeAfterSlider = () => {
const [sliderPos, setSliderPos] = useState(50);
const containerRef = useRef(null);
const handleInteraction = (e) => {
if (!containerRef.current) return;
const rect = containerRef.current.getBoundingClientRect();
const x = (e.clientX || (e.touches && e.touches[0].clientX)) - rect.left;
const pos = (x / rect.width) * 100;
setSliderPos(Math.max(0, Math.min(100, pos)));
};
return (
{/* Después */}
{/* Antes */}
{/* Control */}
);
};
/* ─── COMPONENTE: MODAL ACADEMIA ─── */
const AcademiaModal = ({ isOpen, onClose }) => {
const [mode, setMode] = useState('login');
if (!isOpen) return null;
return (
e.stopPropagation()}
>
);
};
/* ─── APP PRINCIPAL ─── */
export default function App() {
const [isMenuOpen, setIsMenuOpen] = useState(false);
const [isAcademiaOpen, setIsAcademiaOpen] = useState(false);
const [scrolled, setScrolled] = useState(false);
const { scrollYProgress } = useScroll();
const yHero = useTransform(scrollYProgress, [0, 1], ["0%", "25%"]);
useEffect(() => {
const handleScroll = () => setScrolled(window.scrollY > 50);
window.addEventListener('scroll', handleScroll, { passive: true });
return () => window.removeEventListener('scroll', handleScroll);
}, []);
const services = [
{ icon: , title: "Micropigmentación de Cejas", desc: "Técnica pelo a pelo hiperrealista para cejas naturales." },
{ icon: , title: "Micropigmentación de Labios", desc: "Color y definición 24/7 con acabado acuarela." },
{ icon: , title: "Delineado de Ojos", desc: "Mirada definida con técnica de alta precisión." },
{ icon: , title: "Remoción Química", desc: "Corrección segura de trabajos anteriores." },
{ icon: , title: "Visajismo", desc: "Estudio de armonía facial personalizado." },
{ icon: , title: "Limpieza Facial", desc: "Tecnología avanzada para una piel radiante." }
];
return (
{/* Nav Optimizado para Cloudflare */}
{isMenuOpen && (
setIsMenuOpen(false)} className="text-3xl font-serif">Servicios
setIsMenuOpen(false)} className="text-3xl font-serif">Resultados
)}
setIsAcademiaOpen(false)} />
{/* Hero: Diseño Robusto para Cloudflare */}
Artist & Educator
Diseño que
inspira
Maracay & Caracas
{/* Servicios: Grid Optimizado */}
Servicios de Autor
Precisión milimétrica en cada trazo
{services.map((s, i) => (
{s.icon}
{s.title}
{s.desc}
))}
{/* Antes/Después: Punto de Conversión */}
{/* Footer */}
{/* Floating Button WhatsApp */}
Agendar Ahora
);
}