diff --git a/apps/dimentorin/public/image/anime-girl.png b/apps/dimentorin/public/image/anime-girl.png new file mode 100644 index 0000000..8f0dc9d Binary files /dev/null and b/apps/dimentorin/public/image/anime-girl.png differ diff --git a/apps/dimentorin/public/image/anime-girl.webp b/apps/dimentorin/public/image/anime-girl.webp new file mode 100644 index 0000000..14d111c Binary files /dev/null and b/apps/dimentorin/public/image/anime-girl.webp differ diff --git a/apps/dimentorin/public/image/work-with-us/exposure.webp b/apps/dimentorin/public/image/work-with-us/exposure.webp new file mode 100644 index 0000000..8964d9e Binary files /dev/null and b/apps/dimentorin/public/image/work-with-us/exposure.webp differ diff --git a/apps/dimentorin/public/image/work-with-us/handshake.webp b/apps/dimentorin/public/image/work-with-us/handshake.webp new file mode 100644 index 0000000..b15f5d7 Binary files /dev/null and b/apps/dimentorin/public/image/work-with-us/handshake.webp differ diff --git a/apps/dimentorin/public/image/work-with-us/networking.webp b/apps/dimentorin/public/image/work-with-us/networking.webp new file mode 100644 index 0000000..452f7cc Binary files /dev/null and b/apps/dimentorin/public/image/work-with-us/networking.webp differ diff --git a/apps/dimentorin/src/app/(public)/(home)/_components/hero-section.tsx b/apps/dimentorin/src/app/(public)/(home)/_components/hero-section.tsx index 06437ee..7721db0 100644 --- a/apps/dimentorin/src/app/(public)/(home)/_components/hero-section.tsx +++ b/apps/dimentorin/src/app/(public)/(home)/_components/hero-section.tsx @@ -3,7 +3,7 @@ import { motion } from 'framer-motion' export function HeroSection() { return ( -
+
{/* Background gradients and shapes */}
{ + const ref = useRef(null) + const isInView = useInView(ref, { once: true, amount: 0.2 }) + + const containerVariants: Variants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.2, + }, + }, + } + + const childVariants: Variants = { + hidden: { opacity: 0, scale: 0 }, + visible: { + opacity: 1, + scale: 1, + transition: { + duration: 0.4, + ease: [0.25, 0.46, 0.45, 0.94], + }, + }, + } + + return ( +
+
+
+ + +
+ + + + + + + + + + + + + + + + + Anime Girl + +
+ + + + Let's Collaborate! + + + Klik tombol di bawah ini untuk mendaftar sebagai partner resource dan bantu membangun dunia IT yang lebih seru! + + + + + + +
+
+ ) +} diff --git a/apps/dimentorin/src/app/(public)/resources/_components/contribute.tsx b/apps/dimentorin/src/app/(public)/resources/_components/contribute.tsx new file mode 100644 index 0000000..4aa81bd --- /dev/null +++ b/apps/dimentorin/src/app/(public)/resources/_components/contribute.tsx @@ -0,0 +1,103 @@ +import { FC, useRef } from "react"; +import { motion, useInView, Variants } from "framer-motion"; + +export const Contribute: FC = () => { + const ref = useRef(null) + const inView = useInView(ref, { once: true, amount: 0.2 }) + + const containerVariants: Variants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.8, + }, + }, + } + + const childVariants: Variants = { + hidden: { opacity: 0, y: 20 }, + visible: { + opacity: 1, + y: 0, + transition: { + duration: 0.4, + ease: [0.25, 0.46, 0.45, 0.94], + }, + }, + } + + return ( +
+
+
+ + Want to contribute?
help senpai build the IT ecosystem! +
+ + Punya platform, artikel, atau tool keren untuk membantu mentee belajar IT? Bergabunglah dengan kami dan jadilah bagian dari ekosistem pembelajaran yang lebih besar! + +
+ + + + Learning Platform + + + AI Tools + + + + UI Assets + + + Refferences + + + + Coding
Playground +
+ + Challenge
Platform +
+
+
+
+ ) +} diff --git a/apps/dimentorin/src/app/(public)/resources/_components/work-with-us.tsx b/apps/dimentorin/src/app/(public)/resources/_components/work-with-us.tsx new file mode 100644 index 0000000..5402bba --- /dev/null +++ b/apps/dimentorin/src/app/(public)/resources/_components/work-with-us.tsx @@ -0,0 +1,104 @@ +import { FC, useRef } from "react"; +import { motion, useInView, Variants } from "framer-motion"; + +export const WorkWithUs: FC = () => { + const ref = useRef(null) + const inView = useInView(ref, { once: true, amount: 0.2 }) + + const containerVariants: Variants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.8, + }, + }, + } + + const childVariants: Variants = { + hidden: { opacity: 0, y: 20 }, + visible: { + opacity: 1, + y: 0, + transition: { + duration: 0.4, + ease: [0.25, 0.46, 0.45, 0.94], + }, + }, + } + + return ( +
+
+ + Why Work with Us + + + + +
+ Exposure +
+
+

+ Exposure Luas +

+

+ Web kamu akan tampil di halaman resource kami! +

+
+
+ + +
+ Handshake +
+
+

+ Bantu Generasi Baru +

+

+ Bagikan ilmu dan bantu lebih banyak orang berkembang! +

+
+
+ + +
+ Networking +
+
+

+ Networking Komunitas +

+

+ Bertemu dengan para developer, mentor, dan inovator lainnya! +

+
+
+
+
+
+ ) +} diff --git a/apps/dimentorin/src/app/(public)/resources/page.tsx b/apps/dimentorin/src/app/(public)/resources/page.tsx new file mode 100644 index 0000000..52c95a9 --- /dev/null +++ b/apps/dimentorin/src/app/(public)/resources/page.tsx @@ -0,0 +1,14 @@ +import { ReactElement } from "react"; +import { Contribute } from "./_components/contribute"; +import { WorkWithUs } from "./_components/work-with-us"; +import { Collaborate } from "./_components/collaborate"; + +export default function Components(): ReactElement { + return ( +
+ + + +
+ ) +} diff --git a/apps/dimentorin/src/middleware.ts b/apps/dimentorin/src/middleware.ts index 669a4bd..98833db 100644 --- a/apps/dimentorin/src/middleware.ts +++ b/apps/dimentorin/src/middleware.ts @@ -76,6 +76,7 @@ const mappingRoutePermissions = [ const mappingPublicPrefixRoutes = [ '/mentoring', + '/resources', ] //TODO : Fix this later