'use client'; import SOCIALS from '@/data/socials.json'; import { motion, useInView } from 'framer-motion'; import { useRef } from 'react'; import { FaArrowRight, FaDiscord, FaFacebook, FaInstagram, FaLinkedin, FaTiktok, } from 'react-icons/fa'; export function CommunitySection() { 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, delayChildren: 0.2, }, }, }; const itemVariants = { hidden: { y: 20, opacity: 0 }, visible: { y: 0, opacity: 1, transition: { duration: 0.4, ease: [0.25, 0.46, 0.45, 0.94] as any, }, }, }; const getIconComponent = (iconName: string) => { switch (iconName) { case 'FaFacebook': return FaFacebook; case 'FaDiscord': return FaDiscord; case 'FaInstagram': return FaInstagram; case 'FaTiktok': return FaTiktok; case 'FaLinkedin': return FaLinkedin; default: return FaArrowRight; } }; const getPlatformColors = (iconName: string) => { switch (iconName) { case 'FaFacebook': return { iconColor: 'text-[#1877F2]', }; case 'FaDiscord': return { iconColor: 'text-[#5865F2]', }; case 'FaInstagram': return { iconColor: 'text-[#E4405F]', }; case 'FaTiktok': return { iconColor: 'text-[#000000]', }; case 'FaLinkedin': return { iconColor: 'text-[#0A66C2]', }; default: return { iconColor: 'text-primary-500', }; } }; return (

Bergabung dengan Komunitas Kami di Berbagai Platform

Terhubung dengan sesama developer di komunitas kami

{SOCIALS.map((community, index) => { const IconComponent = getIconComponent(community.icon); const colors = getPlatformColors(community.icon); return (

{community.name}

{community.description}

Jelajahi Komunitas
); })}
); }