'use client'; import TESTIMONIAL_STATS from '@/data/testimonial-stats.json'; import TESTIMONIALS from '@/data/testimonials.json'; import { QuoteIcon } from '@components'; import { motion, useInView } from 'framer-motion'; import Image from 'next/image'; import { useRef } from 'react'; export function Testimonials() { const ref = useRef(null); const isInView = useInView(ref, { once: true, amount: 0.2 }); const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1 } }, }; const itemVariants = { hidden: { y: 20, opacity: 0 }, visible: { y: 0, opacity: 1, transition: { duration: 0.5 } }, }; return (

Testimoni Member

Apa kata mereka yang telah bergabung dengan komunitas IMPHNEN?

{TESTIMONIALS.map((t, idx) => (

“{t.quote}”

{t.name}

{t.name}

{t.role}

))}

Bergabunglah dengan 10,000+ programmer Indonesia lainnya

Komunitas kami terus berkembang dengan programmer dari berbagai latar belakang dan tingkat keahlian. Bersama-sama, kita belajar, berbagi, dan tumbuh sebagai profesional.

{TESTIMONIAL_STATS.map((s, idx) => (
{s.value}
{s.label}
))}
); }