function App() {
// Smooth scroll with nav offset
React.useEffect(() => {
function onClick(e) {
const a = e.target.closest('a[href^="#"]');
if (!a) return;
const href = a.getAttribute('href');
if (!href || href === '#' || href.length < 2) return;
const el = document.querySelector(href);
if (!el) return;
e.preventDefault();
const navH = 68;
const y = el.getBoundingClientRect().top + window.scrollY - navH - 12;
window.scrollTo({ top: y, behavior: 'smooth' });
history.replaceState(null, '', href);
}
document.addEventListener('click', onClick);
return () => document.removeEventListener('click', onClick);
}, []);
return (
<>