diff --git a/apps/landing/src/app/(frontend)/(home)/_components/communites/index.tsx b/apps/landing/src/app/(frontend)/(home)/_components/communites/index.tsx
new file mode 100644
index 0000000..7014eb0
--- /dev/null
+++ b/apps/landing/src/app/(frontend)/(home)/_components/communites/index.tsx
@@ -0,0 +1,188 @@
+'use client';
+
+import { Button } from '@components/atoms';
+import { motion, useInView } from 'framer-motion';
+import { useRef } from 'react';
+import { FaFacebook, FaInstagram, FaLinkedin, FaTiktok } from 'react-icons/fa';
+
+export function Communities() {
+ const ref = useRef(null);
+ const isInView = useInView(ref, { once: true, amount: 0.2 });
+
+ const communities = [
+ {
+ icon: FaFacebook,
+ title: 'Facebook Group',
+ description:
+ 'Bergabung dengan 180.000+ anggota dalam diskusi harian seputar karir IT dan code review',
+ buttonText: 'Join Sekarang',
+ buttonLink: 'https://web.facebook.com/groups/programmerhandal',
+ },
+ {
+ icon: FaInstagram,
+ title: 'Instagram',
+ description:
+ 'Temukan tutorial visual menarik untuk 10.000+ followers setiap minggunya',
+ buttonText: 'Follow Kami',
+ buttonLink: 'https://www.instagram.com/imphnen.dev',
+ },
+ {
+ icon: FaTiktok,
+ title: 'TikTok',
+ description:
+ 'Tonton video pendek berisi tips coding untuk 10.000+ viewers harian',
+ buttonText: 'Follow Sekarang',
+ buttonLink: 'https://www.tiktok.com/@imphnen',
+ },
+ {
+ icon: FaLinkedin,
+ title: 'LinkedIn',
+ description:
+ 'Bangun jaringan profesional dengan perusahaan teknologi terkemuka',
+ buttonText: 'Segera Hadir',
+ buttonLink: '#',
+ },
+ ];
+
+ const stats = [
+ { value: '180K+', label: 'Anggota Facebook' },
+ { value: '10K+', label: 'Followers TikTok' },
+ { value: '10K+', label: 'Followers Instagram' },
+ { value: '99%', label: 'Kepuasan Anggota' },
+ ];
+
+ const containerVariants = {
+ hidden: { opacity: 0 },
+ visible: {
+ opacity: 1,
+ transition: {
+ staggerChildren: 0.15,
+ delayChildren: 0.2,
+ },
+ },
+ };
+
+ const cardVariants = {
+ hidden: { y: 40, opacity: 0, scale: 0.95 },
+ visible: {
+ y: 0,
+ opacity: 1,
+ scale: 1,
+ transition: {
+ type: 'spring',
+ stiffness: 100,
+ damping: 20,
+ },
+ },
+ };
+
+ const statVariants = {
+ hidden: { opacity: 0, y: 20 },
+ visible: (i: number) => ({
+ opacity: 1,
+ y: 0,
+ transition: {
+ delay: i * 0.1 + 0.5,
+ duration: 0.6,
+ },
+ }),
+ };
+
+ return (
+
+ );
+}
diff --git a/apps/landing/src/app/(frontend)/(home)/page.tsx b/apps/landing/src/app/(frontend)/(home)/page.tsx
index 68d4484..419e65e 100644
--- a/apps/landing/src/app/(frontend)/(home)/page.tsx
+++ b/apps/landing/src/app/(frontend)/(home)/page.tsx
@@ -1,9 +1,11 @@
+import { Communities } from './_components/communites';
import { Hero } from './_components/hero';
export default async function Page() {
return (
<>
+
>
);
}