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} + + + window.open(event.link, '_blank')} + > + Lihat Detail + + + + + + + ))} + + + + ); +} 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 ( <> +
+ Lihat dan ikuti event terbaru dari IMPHNEN +
+ {event.description} +