/* eslint-disable */ /* PERSONAL TRAINER MORUMBI — Shared components & primitives */ const { useState, useEffect, useRef } = React; // ---------- Icons (line-style, minimal) ---------- const Icon = { Arrow: ({ size = 16 }) => , ArrowDown: ({ size = 16 }) => , ArrowLeft: ({ size = 14 }) => , Whats: ({ size = 16 }) => , Instagram: ({ size = 16 }) => , Building: ({ size = 18 }) => , Home: ({ size = 18 }) => , Dumbbell: ({ size = 18 }) => , Tree: ({ size = 18 }) => }; // ---------- Placeholder image ---------- function Placeholder({ label, corner, src, alt, children }) { if (src) { return (
{alt {children}
); } return (
{corner && {corner}} {label} {children}
); } // ---------- Buttons ---------- function Btn({ variant = 'primary', children, onClick, href, icon }) { const cls = `btn btn-${variant}`; const inner = <> {variant === 'whats' && } {children} {icon !== false && variant !== 'whats' && } ; if (href) return {inner}; return ; } // ---------- Nav ---------- function Nav({ onNav, route }) { const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 30); window.addEventListener('scroll', onScroll); onScroll(); return () => window.removeEventListener('scroll', onScroll); }, []); const go = (target) => (e) => { e.preventDefault(); if (target === 'home') {onNav('home');window.scrollTo({ top: 0, behavior: 'smooth' });return;} if (target.startsWith('#')) { if (route !== 'home') {onNav('home');setTimeout(() => scrollToId(target.slice(1)), 80);} else scrollToId(target.slice(1)); return; } onNav(target); window.scrollTo({ top: 0 }); }; return ( ); } function scrollToId(id) { const el = document.getElementById(id); if (el) { const y = el.getBoundingClientRect().top + window.scrollY - 70; window.scrollTo({ top: y, behavior: 'smooth' }); } } // ---------- Floating Whats ---------- function FloatWhats() { return ( e.preventDefault()}> Falar no WhatsApp ); } // ---------- Footer ---------- function Footer({ onNav }) { return ( );} // Expose Object.assign(window, { Icon, Placeholder, Btn, Nav, FloatWhats, Footer, scrollToId });