'use client'; import { useEffect, useRef } from "react"; import Link from "next/link"; import { useTranslations } from "next-intl"; type props = { locale: string; }; export default function FreelanceSection({ locale }: props) { const t = useTranslations('homePageFreelanceSection'); const sectionRef = useRef(null); useEffect(() => { const section = sectionRef.current; if (!section) return; const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.querySelectorAll('.reveal').forEach((el, i) => { setTimeout(() => el.classList.add('visible'), i * 120); }); observer.unobserve(entry.target); } }); }, { threshold: 0.1 } ); observer.observe(section); return () => observer.disconnect(); }, []); return (
{t("text")}