/* eslint-disable react/prop-types */ /** * App · Página Servicios * Reutiliza Header, Footer, ContactSection, Cursor del Home. */ function App() { // Hash-scroll cross-page: si la URL trae #originacion, #co-desarrollo o #digo, // hacer scroll a la sección después de que el contenido renderice. React.useEffect(() => { if (!window.location.hash) return; const id = window.location.hash.slice(1); // Reintentar varias veces hasta encontrar el elemento (Reveal puede tardar) let tries = 0; const tick = () => { const el = document.getElementById(id); if (el) { el.scrollIntoView({ behavior: 'smooth', block: 'start' }); } else if (tries++ < 30) { setTimeout(tick, 100); } }; setTimeout(tick, 200); }, []); return (
); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render();