diff --git a/public/gdsc/whatwedo/engineer.png b/public/gdsc/whatwedo/engineer.png new file mode 100644 index 0000000..030ffe6 Binary files /dev/null and b/public/gdsc/whatwedo/engineer.png differ diff --git a/public/gdsc/whatwedo/go.jpeg b/public/gdsc/whatwedo/go.jpeg new file mode 100644 index 0000000..a451e3d Binary files /dev/null and b/public/gdsc/whatwedo/go.jpeg differ diff --git a/public/gdsc/whatwedo/incident.png b/public/gdsc/whatwedo/incident.png new file mode 100644 index 0000000..1dcfed7 Binary files /dev/null and b/public/gdsc/whatwedo/incident.png differ diff --git a/public/gdsc/whatwedo/kotlin.jpeg b/public/gdsc/whatwedo/kotlin.jpeg new file mode 100644 index 0000000..a316c98 Binary files /dev/null and b/public/gdsc/whatwedo/kotlin.jpeg differ diff --git a/public/gdsc/whatwedo/rust.jpeg b/public/gdsc/whatwedo/rust.jpeg new file mode 100644 index 0000000..43c9553 Binary files /dev/null and b/public/gdsc/whatwedo/rust.jpeg differ diff --git a/public/gdsc/whatwedo/wec.png b/public/gdsc/whatwedo/wec.png new file mode 100644 index 0000000..44c0cdb Binary files /dev/null and b/public/gdsc/whatwedo/wec.png differ diff --git a/public/technologies/android.png b/public/technologies/android.png new file mode 100644 index 0000000..759efc8 Binary files /dev/null and b/public/technologies/android.png differ diff --git a/public/technologies/ethereum.svg b/public/technologies/ethereum.svg new file mode 100644 index 0000000..f094e5a --- /dev/null +++ b/public/technologies/ethereum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/technologies/flutter.png b/public/technologies/flutter.png new file mode 100644 index 0000000..58f8af6 Binary files /dev/null and b/public/technologies/flutter.png differ diff --git a/public/technologies/githubactions.png b/public/technologies/githubactions.png new file mode 100644 index 0000000..76c7183 Binary files /dev/null and b/public/technologies/githubactions.png differ diff --git a/public/technologies/gitlab.svg b/public/technologies/gitlab.svg new file mode 100644 index 0000000..062d894 --- /dev/null +++ b/public/technologies/gitlab.svg @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/public/technologies/hardhat.svg b/public/technologies/hardhat.svg new file mode 100644 index 0000000..f3177f6 --- /dev/null +++ b/public/technologies/hardhat.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/technologies/kotlin.svg b/public/technologies/kotlin.svg new file mode 100644 index 0000000..ea04e21 --- /dev/null +++ b/public/technologies/kotlin.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/public/technologies/kubernetes.svg b/public/technologies/kubernetes.svg new file mode 100644 index 0000000..0c267b8 --- /dev/null +++ b/public/technologies/kubernetes.svg @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/public/technologies/metamask.svg b/public/technologies/metamask.svg new file mode 100644 index 0000000..4bbdb48 --- /dev/null +++ b/public/technologies/metamask.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + diff --git a/public/next.svg b/public/technologies/next.svg similarity index 100% rename from public/next.svg rename to public/technologies/next.svg diff --git a/public/technologies/rails.svg b/public/technologies/rails.svg new file mode 100644 index 0000000..84f10f2 --- /dev/null +++ b/public/technologies/rails.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/technologies/solidity.svg b/public/technologies/solidity.svg new file mode 100644 index 0000000..9349ea3 --- /dev/null +++ b/public/technologies/solidity.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/technologies/svelte.svg b/public/technologies/svelte.svg new file mode 100644 index 0000000..7cee5e1 --- /dev/null +++ b/public/technologies/svelte.svg @@ -0,0 +1,2 @@ + +file_type_svelte \ No newline at end of file diff --git a/public/technologies/swift.svg b/public/technologies/swift.svg new file mode 100644 index 0000000..f04f27f --- /dev/null +++ b/public/technologies/swift.svg @@ -0,0 +1,14 @@ + + + + diff --git a/public/technologies/tailwind.svg b/public/technologies/tailwind.svg new file mode 100644 index 0000000..66bf63c --- /dev/null +++ b/public/technologies/tailwind.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/public/technologies/travisci.png b/public/technologies/travisci.png new file mode 100644 index 0000000..1baec6a Binary files /dev/null and b/public/technologies/travisci.png differ diff --git a/src/app/sigs/DomainsCards.jsx b/src/app/sigs/DomainsCards.jsx new file mode 100644 index 0000000..ab86bc7 --- /dev/null +++ b/src/app/sigs/DomainsCards.jsx @@ -0,0 +1,72 @@ +import { useState } from "react" +import thresolds from "./helpers/threshold" +import { useMotionValueEvent, motion } from "framer-motion" + + +const spring = { + type: "spring", + stiffness: 100, + damping: 20, +} + + + +export default function WhatwedoSection ({ cards, cutoffs, scrollYProgress }) { + let getCurrent = thresolds(cutoffs) + + let [ current, setCurrent ] = useState({ active: 0, prev: 0 }) + let [ position, setPosition ] = useState({ top: "0px", bottom: "", position: "absolute" }) + + useMotionValueEvent(scrollYProgress, "change", y => { + if (y==0) setPosition({ top: "0px", bottom: "", position: "absolute" }) + else if (y<1) setPosition({ top: "20vh", bottom: "", position: "fixed" }) + else setPosition({ top: "", bottom: "0px", position: "absolute" }) + + let newCurrent = getCurrent(y) + + if (newCurrent != current.active) { + setCurrent({ active: newCurrent, prev: current.active }) + } + }) + + return ( +
+ +
+ { + cards[current.active].map((cur, i) => { + let prev = cards[current.prev][i] + let direction = 1 + if (current.prev > current.active) direction = -1 + + return ( +
+ + {prev} + + + {cur} + +
+ ) + }) + } +
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/sigs/LogoCard.jsx b/src/app/sigs/LogoCard.jsx new file mode 100644 index 0000000..7628044 --- /dev/null +++ b/src/app/sigs/LogoCard.jsx @@ -0,0 +1,7 @@ +export default function Card ({ bg="#fbfef9", size=60, src }) { + return ( +
+ +
+ ) +} \ No newline at end of file diff --git a/src/app/sigs/gdsc/WhatWeDoSection.jsx b/src/app/sigs/gdsc/WhatWeDoSection.jsx new file mode 100644 index 0000000..be17c52 --- /dev/null +++ b/src/app/sigs/gdsc/WhatWeDoSection.jsx @@ -0,0 +1,61 @@ +"use client" + +import { useEffect, useState } from "react" + +export default function WhatWeDoSection () { + let [ count, setCount ] = useState(0) + + useEffect(() => { + let id = setInterval(()=> setCount(i => i+1), 3000) + + return () => clearInterval(id) + }, []) + + let projectImages = [ + "/gdsc/whatwedo/incident.png", + "/gdsc/whatwedo/engineer.png", + "/gdsc/whatwedo/wec.png", + ] + + let handsOnImages = [ + "/gdsc/whatwedo/rust.jpeg", + "/gdsc/whatwedo/go.jpeg", + "/gdsc/whatwedo/kotlin.jpeg", + ] + + return ( +
+
+

What we do

+
+
+
+ + + + + +
+
+

Projects

+

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Itaque et aliquid quisquam inventore deleniti ipsam in dolor temporibus incidunt consectetur, ducimus corporis soluta rerum maxime doloremque. Maxime repellat iste qui!

+
+
+
+
+ + + + + +
+
+

Hands-On Sessions

+

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Itaque et aliquid quisquam inventore deleniti ipsam in dolor temporibus incidunt consectetur, ducimus corporis soluta rerum maxime doloremque. Maxime repellat iste qui!

+
+
+
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/sigs/gdsc/cards.jsx b/src/app/sigs/gdsc/cards.jsx new file mode 100644 index 0000000..dd3b5c1 --- /dev/null +++ b/src/app/sigs/gdsc/cards.jsx @@ -0,0 +1,29 @@ +import Card from "../LogoCard" +import rg from "../helpers/radial_gradient" + +export default [ + [ + , + , + , + , + ], + [ + , + , + , + , + ], + [ + , + , + , + , + ], + [ + , + , + , + , + ], +] \ No newline at end of file diff --git a/src/app/sigs/gdsc/page.jsx b/src/app/sigs/gdsc/page.jsx new file mode 100644 index 0000000..750ee6c --- /dev/null +++ b/src/app/sigs/gdsc/page.jsx @@ -0,0 +1,56 @@ +"use client" + +import { useRef } from "react" +import DomainsCards from "../DomainsCards.jsx" +import cards from "./cards" +import { useScroll } from "framer-motion" +import WhatWeDoSection from "./WhatWeDoSection" + +export default function GDSC () { + let container_ref = useRef(null) + + let { scrollYProgress } = useScroll({ + target: container_ref, + offset: ["start 0.20", "0.75 20vh"] + }) + + return ( +
+
+ +
+

Google Developer Student Club

+

everything dev.

+
+
+
+
+
+
+
+

Web Development

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus consectetur doloremque incidunt quidem qui nihil et esse laudantium, rerum dolorum? Nesciunt a perspiciatis magni molestias velit! Possimus quia vitae repellendus!

+
+
+

App Development

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus consectetur doloremque incidunt quidem qui nihil et esse laudantium, rerum dolorum? Nesciunt a perspiciatis magni molestias velit! Possimus quia vitae repellendus!

+
+
+

DevOPs

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus consectetur doloremque incidunt quidem qui nihil et esse laudantium, rerum dolorum? Nesciunt a perspiciatis magni molestias velit! Possimus quia vitae repellendus!

+
+
+

Blockchain Teahnology

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus consectetur doloremque incidunt quidem qui nihil et esse laudantium, rerum dolorum? Nesciunt a perspiciatis magni molestias velit! Possimus quia vitae repellendus!

+
+
+ +
+
+
+ +
+ ) +} + + diff --git a/src/app/sigs/helpers/radial_gradient.js b/src/app/sigs/helpers/radial_gradient.js new file mode 100644 index 0000000..5ba5842 --- /dev/null +++ b/src/app/sigs/helpers/radial_gradient.js @@ -0,0 +1,3 @@ +export default function rg (color) { + return `radial-gradient(${color}, #fbfef9 70%)` +} \ No newline at end of file diff --git a/src/app/sigs/helpers/threshold.js b/src/app/sigs/helpers/threshold.js new file mode 100644 index 0000000..c1ad5b8 --- /dev/null +++ b/src/app/sigs/helpers/threshold.js @@ -0,0 +1,11 @@ +export default function thresolds (cutoffs) { + function getCurrent (y) { + let i + for (i=0 ; i