diff --git a/apps/landing/src/app/(frontend)/(home)/_components/events/index.tsx b/apps/landing/src/app/(frontend)/(home)/_components/events/index.tsx new file mode 100644 index 0000000..4934133 --- /dev/null +++ b/apps/landing/src/app/(frontend)/(home)/_components/events/index.tsx @@ -0,0 +1,164 @@ +'use client'; + +import { Button } from '@components/atoms'; +import { motion, useInView } from 'framer-motion'; +import { useRef } from 'react'; + +export function Events() { + const ref = useRef(null); + const isInView = useInView(ref, { once: true, amount: 0.2 }); + + const events = [ + { + image: '/images/event-1.jpg', + title: 'Tech Summit 2024', + description: + 'Konferensi teknologi terbesar tahun ini dengan pembicara expert dari perusahaan unicorn', + type: 'offline', + price: 'berbayar', + link: '#', + }, + { + image: '/images/event-2.jpg', + title: 'Web Development Bootcamp', + description: + 'Pelatihan intensif full-stack development selama 2 minggu secara online', + type: 'online', + price: 'gratis', + link: '#', + }, + { + image: '/images/event-3.jpg', + title: 'UI/UX Workshop', + description: + 'Workshop praktis membuat prototype aplikasi dengan Figma dan Framer', + type: 'hybrid', + price: 'berbayar', + link: '#', + }, + ]; + + 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, + }, + }, + }; + + return ( +
+
+
+
+
+
+ +
+ +

+ + Event Terbaru + +

+

+ Lihat dan ikuti event terbaru dari IMPHNEN +

+
+ + + {events.map((event, index) => ( + +
+ +
+
+
+
+ + {event.type === 'hybrid' + ? 'Hybrid' + : event.type.toUpperCase()} + + + {event.price.toUpperCase()} + +
+
+ +
+

{event.title}

+

+ {event.description} +

+ + +
+
+ +
+ + ))} + +
+
+ ); +} diff --git a/apps/landing/src/app/(frontend)/(home)/page.tsx b/apps/landing/src/app/(frontend)/(home)/page.tsx index 31ab3a2..5af6b0d 100644 --- a/apps/landing/src/app/(frontend)/(home)/page.tsx +++ b/apps/landing/src/app/(frontend)/(home)/page.tsx @@ -1,5 +1,6 @@ import { CallToAction } from './_components/call-to-action'; import { Communities } from './_components/communites'; +import { Events } from './_components/events'; import { Hero } from './_components/hero'; import { Testimonials } from './_components/testimonials'; @@ -7,6 +8,7 @@ export default async function Page() { return ( <> +