/* Header + MobileMenu + Hero + Logos */
const { useState, useEffect, useRef } = React;
function Header({ tweaks }) {
const [scrolled, setScrolled] = useState(false);
const [mobileOpen, setMobileOpen] = useState(false);
useEffect(() => {
const onScroll = () => setScrolled(window.scrollY > 8);
onScroll();
window.addEventListener('scroll', onScroll, { passive: true });
return () => window.removeEventListener('scroll', onScroll);
}, []);
const links = [
{ href: '#servicios', label: 'Servicios' },
{ href: '#metodo', label: 'Método' },
{ href: '#para-quien', label: 'Para quién' },
{ href: '#faq', label: 'FAQ' },
{ href: '#newsletter', label: 'Newsletter' },
];
const accent = tweaks.accent;
return (
<>
{mobileOpen && (
setMobileOpen(false)}>
e.stopPropagation()} style={{
width: 'min(360px, 100vw)', background: 'var(--paper)',
padding: '24px', display: 'flex', flexDirection: 'column', gap: 8,
animation: 'slideIn 200ms var(--ease-out)',
}}>
{links.map(l => (
setMobileOpen(false)} style={{
padding: '14px 12px', textDecoration: 'none', color: 'var(--fg-1)',
fontWeight: 600, borderBottom: '1px solid var(--border-1)',
}}>{l.label}
))}
setMobileOpen(false)} className="btn-primary"
style={{ background: accent, textAlign: 'center', textDecoration: 'none', marginTop: 16 }}>
Diagnóstico gratuito
)}
>
);
}
function Hero({ tweaks }) {
return (
Control de gestión · Asesoramiento
Tu negocio en claro.
Sin sorpresas
Acompañamos a pequeñas empresas y empresarias a ordenar las cuentas,
entender qué dicen los números y tomar decisiones con base — no con corazonadas.
);
}
/* Decorative composition: a stacked dashboard card + KPI tiles, all flat shapes. */
function HeroVisual({ tweaks }) {
return (
{/* Background dots */}
{/* Mini dashboard card */}
Resumen · mayo
Tu empresa S.L.
a.
{[
{ l: 'Ingresos', v: '52.430 €', d: '+9,2 %' },
{ l: 'Margen', v: '31.249 €', d: '+13,6 %' },
].map(k => (
))}
{/* tiny chart */}
A decidir esta semana
¿Subimos precios en mayoristas un 4 %?
{/* Floating tag bottom-left */}
Cierre listo
);
}
function Logos() {
const sectors = ['Retail', 'Hostelería', 'Servicios', 'E-commerce', 'Salud', 'Oficios', 'Estudios creativos'];
return (
Sectores que acompañamos
{sectors.map(s => (
{s}
))}
);
}
window.Header = Header;
window.Hero = Hero;
window.Logos = Logos;