import { useEffect, useRef } from 'react'; export function useReveal() { const ref = useRef(null); useEffect(() => { const el = ref.current; if (!el) return; const io = new IntersectionObserver( (entries) => { entries.forEach((e) => { if (e.isIntersecting) { e.target.classList.add('is-visible'); io.unobserve(e.target); } }); }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' }, ); io.observe(el); return () => io.disconnect(); }, []); return ref; } export const Icons = { moon: ( ), path: ( ), solo: ( ), mask: ( ), wolf: ( ), mythic: ( ), pass: ( ), collection: ( ), kart: ( ), arrow: ( ), }; export function MoonMark({ size = 32 }) { return ( ); } export function getBootstrap() { return window.MOONWELL || {}; }