"use client"; import { useEffect, useRef } from "react"; const FEATURES = [ { icon: "✍️", title: "Say it in 128", body: "Short, focused thoughts. No bloat, no essays.", }, { icon: "🎨", title: "Make it yours", body: "Customize your profile with CSS. Full creative control.", }, { icon: "🔒", title: "Your audience, your rules", body: "Public, followers-only, unlisted, or direct — you decide every time.", }, { icon: "🎬", title: "Movies Diary", body: "Posts from your Movies Diary appear as rich cards — ratings, posters, reviews. First-class, not an afterthought.", }, ]; export function LandingFeatures() { const ref = useRef(null); useEffect(() => { const cards = Array.from( ref.current?.querySelectorAll("[data-animate]") ?? [] ); const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add("visible"); observer.unobserve(entry.target); } }); }, { threshold: 0.15 } ); cards.forEach((card) => observer.observe(card)); return () => observer.disconnect(); }, []); return (
{FEATURES.map((f, i) => (
{f.icon}

{f.title}

{f.body}

))}
); }