/* 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 (

{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 });