// Metrics Strip V1 — 4-up stat band (adapted from codcrm.ro's "lp-metrics" section). const METRICS_V1_DATA = [ { big: "8", label: "Parteneri activi" }, { big: "17k+", label: "Comenzi confirmate" }, { big: "3", label: "Zile gratuite la start", hot: true }, { big: "15 min", label: "Integrare Shopify" }, ]; const MetricsStripV1 = () => { const [isMobile, setIsMobile] = React.useState(false); const [inView, setInView] = React.useState(false); const ref = React.useRef(null); React.useEffect(() => { const check = () => setIsMobile(window.innerWidth < 760); check(); window.addEventListener("resize", check); return () => window.removeEventListener("resize", check); }, []); React.useEffect(() => { if (!ref.current) return; const io = new IntersectionObserver((entries) => { for (const e of entries) { if (e.isIntersecting) { setInView(true); io.disconnect(); break; } } }, { threshold: 0.35, rootMargin: "0px 0px -10% 0px" }); io.observe(ref.current); return () => io.disconnect(); }, []); return (
{METRICS_V1_DATA.map((m, i) => (
1 ? "1px solid var(--glass-border)" : "none", opacity: inView ? 1 : 0, transform: inView ? "none" : "translateY(16px)", filter: inView ? "none" : "blur(5px)", transition: `opacity .9s cubic-bezier(.2,.7,.2,1) ${i * 0.07}s, transform .9s cubic-bezier(.2,.7,.2,1) ${i * 0.07}s, filter .9s cubic-bezier(.2,.7,.2,1) ${i * 0.07}s`, }}> {m.big} {m.label}
))}
); }; window.MetricsStripV1 = MetricsStripV1;