/* store-parts2.jsx — Why, How It Works, Reviews, FAQ, Final CTA, Footer. Exported to window. */ const { Button: P2Btn, Tag: P2Tag } = window.FluvexDesignsDesignSystem_072666; const { Reveal: P2Reveal, StoreIcon: P2Icon, _fxReduce: p2Reduce, Magnetic: P2Mag } = window; /* stars that fill left-to-right when scrolled into view */ function AnimStars() { const ref = React.useRef(null); const [go, setGo] = React.useState(false); React.useEffect(() => { const el = ref.current; if (!el) return; if (p2Reduce()) { setGo(true); return; } const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { setGo(true); io.unobserve(el); } }), { threshold: 0.6 }); io.observe(el); return () => io.disconnect(); }, []); return ( {[0, 1, 2, 3, 4].map((i) => ( ))} ); } /* ---- Why customers love ---- */ function Why() { return (
{window.BENEFITS.map(([ic, label], i) => (
{label}
))}
); } /* ---- How it works ---- */ function HowItWorks() { const ref = React.useRef(null); const [go, setGo] = React.useState(false); React.useEffect(() => { const el = ref.current; if (!el) return; if (p2Reduce()) { setGo(true); return; } const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { setGo(true); io.unobserve(el); } }), { threshold: 0.3 }); io.observe(el); return () => io.disconnect(); }, []); return (
{window.STEPS.map(([t, d], i) => (
{i + 1}

{t}

{d}

))}
); } /* ---- Reviews ---- */ function Reviews() { return (
{window.REVIEWS.map((r, i) => (

“{r.text}”

{r.name}
{r.role}
))}
); } /* ---- FAQ ---- */ function FAQ() { const [open, setOpen] = React.useState(0); return (
{window.FAQS.map(([q, a], i) => { const isOpen = open === i; return (
setOpen(isOpen ? -1 : i)} style={{ display: "flex", justifyContent: "space-between", alignItems: "center", gap: 16, padding: "20px 24px", cursor: "pointer" }}> {q}

{a}

); })}
); } /* ---- Final CTA ---- */ function FinalCTA() { return (
); } /* ---- Footer ---- */ function Footer() { const cols = [ ["Shop", ["All Products", "Best Sellers", "New Arrivals", "Bundles", "On Sale"]], ["Categories", ["HTML Planners", "Business HTML Tools", "Productivity Dashboards", "Resume & Career Tools", "Wedding HTML Studios"]], ["Company", ["About", "Reviews", "FAQ", "Contact"]], ["Support", ["How It Works", "License Terms", "Refund Policy", "Support"]], ]; const [email, setEmail] = React.useState(""); const [sent, setSent] = React.useState(false); return ( ); } Object.assign(window, { Why, HowItWorks, Reviews, FAQ, FinalCTA, Footer });