// icons.jsx — small SVG helpers and shared constants const ICONS = { whatsapp: "assets/icons/whatsapp.svg", check: "assets/icons/check.svg", home: "assets/icons/home.svg", road: "assets/icons/road.svg", key: "assets/icons/key.svg", flame: "assets/icons/flame.svg", crest: "assets/icons/crest.svg", }; // Custom inline icon: chat / personal touch (used for "atendimento pessoal") function ChatIcon({ size = 30 }) { return ( ); } // Hook: reveal-on-scroll using IntersectionObserver function useReveal() { React.useEffect(() => { const els = document.querySelectorAll(".dc-reveal"); if (!("IntersectionObserver" in window)) { els.forEach((el) => el.classList.add("is-in")); return; } const io = new IntersectionObserver((entries) => { entries.forEach((e) => { if (e.isIntersecting) { e.target.classList.add("is-in"); io.unobserve(e.target); } }); }, { threshold: 0.12, rootMargin: "0px 0px -60px 0px" }); els.forEach((el) => io.observe(el)); return () => io.disconnect(); }, []); } window.ICONS = ICONS; window.ChatIcon = ChatIcon; window.useReveal = useReveal;