From 1d7a78e19c3e140403a75460854dfda7a5493286 Mon Sep 17 00:00:00 2001 From: uniquestha878 Date: Tue, 7 Apr 2026 10:27:57 +0545 Subject: [PATCH 01/11] WIP: Navbar initial structure --- frontend/src/app/MainPage.tsx | 2 +- .../src/app/assets/icons/DeerHackLogoMob.svg | 79 +++++ frontend/src/app/assets/icons/Deerhack26.tsx | 2 +- .../src/app/assets/icons/code-of-conduct.svg | 8 + frontend/src/app/assets/icons/facebook.svg | 3 + frontend/src/app/assets/icons/instagram.svg | 3 + .../src/app/assets/icons/judging-criteria.svg | 3 + frontend/src/app/assets/icons/legacy.svg | 3 + frontend/src/app/assets/icons/linkedin.svg | 3 + frontend/src/app/assets/icons/organizers.svg | 8 + .../app/assets/icons/selection-criteria.svg | 3 + frontend/src/app/components/Navbar/Navbar.tsx | 271 +----------------- .../src/app/components/Navbar/NavbarMob.tsx | 95 ++++++ .../src/app/components/Navbar/NavbarPC.tsx | 70 +++++ frontend/tsconfig.json | 39 ++- 15 files changed, 320 insertions(+), 272 deletions(-) create mode 100644 frontend/src/app/assets/icons/DeerHackLogoMob.svg create mode 100644 frontend/src/app/assets/icons/code-of-conduct.svg create mode 100644 frontend/src/app/assets/icons/facebook.svg create mode 100644 frontend/src/app/assets/icons/instagram.svg create mode 100644 frontend/src/app/assets/icons/judging-criteria.svg create mode 100644 frontend/src/app/assets/icons/legacy.svg create mode 100644 frontend/src/app/assets/icons/linkedin.svg create mode 100644 frontend/src/app/assets/icons/organizers.svg create mode 100644 frontend/src/app/assets/icons/selection-criteria.svg create mode 100644 frontend/src/app/components/Navbar/NavbarMob.tsx create mode 100644 frontend/src/app/components/Navbar/NavbarPC.tsx diff --git a/frontend/src/app/MainPage.tsx b/frontend/src/app/MainPage.tsx index dc035e7..3257d3c 100644 --- a/frontend/src/app/MainPage.tsx +++ b/frontend/src/app/MainPage.tsx @@ -27,7 +27,7 @@ export default function Home() { {/* */} - + {/* */} diff --git a/frontend/src/app/assets/icons/DeerHackLogoMob.svg b/frontend/src/app/assets/icons/DeerHackLogoMob.svg new file mode 100644 index 0000000..fa70090 --- /dev/null +++ b/frontend/src/app/assets/icons/DeerHackLogoMob.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/app/assets/icons/Deerhack26.tsx b/frontend/src/app/assets/icons/Deerhack26.tsx index c2787a7..7796c99 100644 --- a/frontend/src/app/assets/icons/Deerhack26.tsx +++ b/frontend/src/app/assets/icons/Deerhack26.tsx @@ -10,7 +10,7 @@ export default function DeerHack26Logo({ return ( - + diff --git a/frontend/src/app/assets/icons/code-of-conduct.svg b/frontend/src/app/assets/icons/code-of-conduct.svg new file mode 100644 index 0000000..a404c85 --- /dev/null +++ b/frontend/src/app/assets/icons/code-of-conduct.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/frontend/src/app/assets/icons/facebook.svg b/frontend/src/app/assets/icons/facebook.svg new file mode 100644 index 0000000..edd2cfe --- /dev/null +++ b/frontend/src/app/assets/icons/facebook.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/instagram.svg b/frontend/src/app/assets/icons/instagram.svg new file mode 100644 index 0000000..2165c0b --- /dev/null +++ b/frontend/src/app/assets/icons/instagram.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/judging-criteria.svg b/frontend/src/app/assets/icons/judging-criteria.svg new file mode 100644 index 0000000..a1c73d6 --- /dev/null +++ b/frontend/src/app/assets/icons/judging-criteria.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/legacy.svg b/frontend/src/app/assets/icons/legacy.svg new file mode 100644 index 0000000..d880b44 --- /dev/null +++ b/frontend/src/app/assets/icons/legacy.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/linkedin.svg b/frontend/src/app/assets/icons/linkedin.svg new file mode 100644 index 0000000..2883590 --- /dev/null +++ b/frontend/src/app/assets/icons/linkedin.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/organizers.svg b/frontend/src/app/assets/icons/organizers.svg new file mode 100644 index 0000000..cb2e696 --- /dev/null +++ b/frontend/src/app/assets/icons/organizers.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/frontend/src/app/assets/icons/selection-criteria.svg b/frontend/src/app/assets/icons/selection-criteria.svg new file mode 100644 index 0000000..404ecab --- /dev/null +++ b/frontend/src/app/assets/icons/selection-criteria.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/components/Navbar/Navbar.tsx b/frontend/src/app/components/Navbar/Navbar.tsx index ba9291e..2f2b17f 100644 --- a/frontend/src/app/components/Navbar/Navbar.tsx +++ b/frontend/src/app/components/Navbar/Navbar.tsx @@ -1,264 +1,13 @@ -"use client" -import { useState, useEffect, useRef } from "react" -import type React from "react" - -import Link from "next/link" -import DeerhackLogo from "@/app/assets/icons/DeerhackLogo" -import { cabinetBold, cabinetMedium, satoshiBlack } from "@/app/utils/fonts" -import Image from "next/image" -import menuSVG from "@/app/assets/icons/menu.svg" -import crossSVG from "@/app/assets/icons/cross.svg" -import Counter_wrapper from "../counter/Counter" +import NavbarPC from "./NavbarPC"; +import NavbarMob from "./NavbarMob"; const Navbar = () => { - const [isMenuOpen, setIsMenuOpen] = useState(false) - const [isResourceOpen, setIsResourceOpen] = useState(false) - const resourceRef = useRef(null) - - const toggleMenu = () => { - setIsMenuOpen(!isMenuOpen) - // Prevent scrolling when menu is open - if (!isMenuOpen) { - document.body.style.overflow = "hidden" - } else { - document.body.style.overflow = "auto" - } - } - - const handleResourceClick = (e: React.MouseEvent) => { - e.stopPropagation() - setIsResourceOpen(!isResourceOpen) - } - - const handleClickOutside = (event: MouseEvent) => { - const currentRef = resourceRef.current as HTMLElement | null - if (currentRef && !currentRef.contains(event.target as Node)) { - setIsResourceOpen(false) - } - } - - useEffect(() => { - if (isResourceOpen) { - window.addEventListener("click", handleClickOutside) - } else { - window.removeEventListener("click", handleClickOutside) - } - - return () => { - window.removeEventListener("click", handleClickOutside) - // Reset overflow when component unmounts - document.body.style.overflow = "auto" - } - }, [isResourceOpen]) - - useEffect(() => { - const handleResize = () => { - if (window.innerWidth >= 1024 && isMenuOpen) { - setIsMenuOpen(false) - document.body.style.overflow = "auto" - } - } - - window.addEventListener("resize", handleResize) - return () => { - window.removeEventListener("resize", handleResize) - } - }, [isMenuOpen]) - return ( -
-
- -
-
- ) -} - -export default Navbar + <> + + + + ); +}; + +export default Navbar; \ No newline at end of file diff --git a/frontend/src/app/components/Navbar/NavbarMob.tsx b/frontend/src/app/components/Navbar/NavbarMob.tsx new file mode 100644 index 0000000..e8fc09e --- /dev/null +++ b/frontend/src/app/components/Navbar/NavbarMob.tsx @@ -0,0 +1,95 @@ +"use client" +import { useState, useEffect } from "react" +import Link from "next/link" +import Image from "next/image" +import DeerhackLogo from "@/app/assets/icons/DeerHackLogoMob.svg" +import { cabinetMedium } from "@/app/utils/fonts" +import Counter_wrapper from "../counter/Counter" + +import organizersIcon from "@/app/assets/icons/organizers.svg" +import legacyIcon from "@/app/assets/icons/legacy.svg" +import judgingIcon from "@/app/assets/icons/judging-criteria.svg" +import cocIcon from "@/app/assets/icons/code-of-conduct.svg" +import selectionIcon from "@/app/assets/icons/selection-criteria.svg" +import fbIcon from "@/app/assets/icons/facebook.svg" +import instaIcon from "@/app/assets/icons/instagram.svg" +import linkedinIcon from "@/app/assets/icons/linkedin.svg" + +const NavbarMob = () => { + const [isOpen, setIsOpen] = useState(false); + + // Prevent background scroll when sidebar is open + useEffect(() => { + document.body.style.overflow = isOpen ? "hidden" : "auto"; + return () => { document.body.style.overflow = "auto"; }; + }, [isOpen]); + + return ( +
+ {!isOpen && ( +
setIsOpen(true)} className="fixed left-[14px] top-6 z-[60] cursor-pointer animate-in fade-in duration-300"> +
+ Deerhack Logo +
+
+ )} + + + + {isOpen &&
setIsOpen(false)} />} +
+ ) +} + +const SidebarButton = ({ href, label, icon }: { href: string, label: string, icon: any }) => ( + +
+ {label} +
+ {label} + +) + +const SocialLink = ({ href, src, alt }: { href: string, src: any, alt: string }) => ( + + {alt} + +) + +export default NavbarMob; \ No newline at end of file diff --git a/frontend/src/app/components/Navbar/NavbarPC.tsx b/frontend/src/app/components/Navbar/NavbarPC.tsx new file mode 100644 index 0000000..727f51d --- /dev/null +++ b/frontend/src/app/components/Navbar/NavbarPC.tsx @@ -0,0 +1,70 @@ +"use client" +import { useState, useEffect, useRef } from "react" +import Link from "next/link" +import DeerhackLogo from "@/app/assets/icons/DeerhackLogo" +import { cabinetBold, cabinetMedium } from "@/app/utils/fonts" +import Counter_wrapper from "../counter/Counter" + +const NavbarPC = () => { + const [isResourceOpen, setIsResourceOpen] = useState(false) + const resourceRef = useRef(null) + + const handleResourceClick = (e: React.MouseEvent) => { + e.stopPropagation() + setIsResourceOpen(!isResourceOpen) + } + + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (resourceRef.current && !resourceRef.current.contains(event.target as Node)) { + setIsResourceOpen(false) + } + } + if (isResourceOpen) window.addEventListener("click", handleClickOutside) + return () => window.removeEventListener("click", handleClickOutside) + }, [isResourceOpen]) + + return ( +
+
+ +
+
+ ) +} + +export default NavbarPC \ No newline at end of file diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index fa755df..d7bea84 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -1,6 +1,10 @@ { "compilerOptions": { - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -10,7 +14,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -18,13 +22,30 @@ } ], "paths": { - "@/*": ["./src/*"], + "@/*": [ + "./src/*" + ], //path for assets images - "@/images*": ["./src/app/assets/images/*"], - "@/icons*": ["./src/app/assets/icons/*"], - "@/fonts": ["./src/app/utils/fonts"] - } + "@/images*": [ + "./src/app/assets/images/*" + ], + "@/icons*": [ + "./src/app/assets/icons/*" + ], + "@/fonts": [ + "./src/app/utils/fonts" + ] + }, + "target": "ES2017" }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] } From 270dcf9e130411a4283d91102d96f3004c7f7c74 Mon Sep 17 00:00:00 2001 From: uniquestha878 Date: Wed, 8 Apr 2026 22:15:44 +0545 Subject: [PATCH 02/11] Feat:Hamburger button --- frontend/src/app/assets/icons/hamburger.svg | 3 + frontend/src/app/assets/icons/rounded.svg | 9 + .../src/app/components/Navbar/NavbarMob.tsx | 157 ++++++++++++------ 3 files changed, 120 insertions(+), 49 deletions(-) create mode 100644 frontend/src/app/assets/icons/hamburger.svg create mode 100644 frontend/src/app/assets/icons/rounded.svg diff --git a/frontend/src/app/assets/icons/hamburger.svg b/frontend/src/app/assets/icons/hamburger.svg new file mode 100644 index 0000000..e08dc34 --- /dev/null +++ b/frontend/src/app/assets/icons/hamburger.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/assets/icons/rounded.svg b/frontend/src/app/assets/icons/rounded.svg new file mode 100644 index 0000000..36ffc7a --- /dev/null +++ b/frontend/src/app/assets/icons/rounded.svg @@ -0,0 +1,9 @@ + +
+ + + + + + +
diff --git a/frontend/src/app/components/Navbar/NavbarMob.tsx b/frontend/src/app/components/Navbar/NavbarMob.tsx index e8fc09e..6d9b2cc 100644 --- a/frontend/src/app/components/Navbar/NavbarMob.tsx +++ b/frontend/src/app/components/Navbar/NavbarMob.tsx @@ -2,10 +2,13 @@ import { useState, useEffect } from "react" import Link from "next/link" import Image from "next/image" -import DeerhackLogo from "@/app/assets/icons/DeerHackLogoMob.svg" import { cabinetMedium } from "@/app/utils/fonts" import Counter_wrapper from "../counter/Counter" +import DeerhackLogo from "@/app/assets/icons/DeerHackLogoMob.svg" +import hamburgerIcon from "@/app/assets/icons/hamburger.svg" +import hamburgerBorder from "@/app/assets/icons/rounded.svg" + import organizersIcon from "@/app/assets/icons/organizers.svg" import legacyIcon from "@/app/assets/icons/legacy.svg" import judgingIcon from "@/app/assets/icons/judging-criteria.svg" @@ -15,81 +18,137 @@ import fbIcon from "@/app/assets/icons/facebook.svg" import instaIcon from "@/app/assets/icons/instagram.svg" import linkedinIcon from "@/app/assets/icons/linkedin.svg" -const NavbarMob = () => { +const Navbar = () => { const [isOpen, setIsOpen] = useState(false); - // Prevent background scroll when sidebar is open useEffect(() => { document.body.style.overflow = isOpen ? "hidden" : "auto"; return () => { document.body.style.overflow = "auto"; }; }, [isOpen]); + const btnContainer = "relative flex items-center justify-center w-[56px] h-[56px] transition-transform active:scale-95"; + return ( -
- {!isOpen && ( -
setIsOpen(true)} className="fixed left-[14px] top-6 z-[60] cursor-pointer animate-in fade-in duration-300"> -
- Deerhack Logo -
-
- )} - - - {isOpen &&
setIsOpen(false)} />} -
+
+ +
+
+ ) } +// Helpers +const NavLink = ({ href, children }: { href: string, children: React.ReactNode }) => ( + + {children} + +) + const SidebarButton = ({ href, label, icon }: { href: string, label: string, icon: any }) => ( - -
- {label} + +
+ {label}
- {label} + {label} ) const SocialLink = ({ href, src, alt }: { href: string, src: any, alt: string }) => ( - - {alt} + + {alt} ) -export default NavbarMob; \ No newline at end of file +export default Navbar; \ No newline at end of file From c15948e485224e40d871eef08bd0b72dbd4f84fa Mon Sep 17 00:00:00 2001 From: Rijan Dahal <70582929+enkoki@users.noreply.github.com> Date: Fri, 10 Apr 2026 00:18:01 +0545 Subject: [PATCH 03/11] refactor: wip navbar code refactor --- .../src/app/assets/icons/DeerhackLogo.tsx | 587 +++++++++--------- .../src/app/components/Navbar/NavbarMob.tsx | 252 +++++--- 2 files changed, 464 insertions(+), 375 deletions(-) diff --git a/frontend/src/app/assets/icons/DeerhackLogo.tsx b/frontend/src/app/assets/icons/DeerhackLogo.tsx index 32ec1c8..072a584 100644 --- a/frontend/src/app/assets/icons/DeerhackLogo.tsx +++ b/frontend/src/app/assets/icons/DeerhackLogo.tsx @@ -11,312 +11,307 @@ export default function DeerhackLogo({ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - ); diff --git a/frontend/src/app/components/Navbar/NavbarMob.tsx b/frontend/src/app/components/Navbar/NavbarMob.tsx index 6d9b2cc..4e5a8ee 100644 --- a/frontend/src/app/components/Navbar/NavbarMob.tsx +++ b/frontend/src/app/components/Navbar/NavbarMob.tsx @@ -1,120 +1,181 @@ -"use client" -import { useState, useEffect } from "react" -import Link from "next/link" -import Image from "next/image" -import { cabinetMedium } from "@/app/utils/fonts" -import Counter_wrapper from "../counter/Counter" - -import DeerhackLogo from "@/app/assets/icons/DeerHackLogoMob.svg" -import hamburgerIcon from "@/app/assets/icons/hamburger.svg" -import hamburgerBorder from "@/app/assets/icons/rounded.svg" - -import organizersIcon from "@/app/assets/icons/organizers.svg" -import legacyIcon from "@/app/assets/icons/legacy.svg" -import judgingIcon from "@/app/assets/icons/judging-criteria.svg" -import cocIcon from "@/app/assets/icons/code-of-conduct.svg" -import selectionIcon from "@/app/assets/icons/selection-criteria.svg" -import fbIcon from "@/app/assets/icons/facebook.svg" -import instaIcon from "@/app/assets/icons/instagram.svg" -import linkedinIcon from "@/app/assets/icons/linkedin.svg" +"use client"; +import { useState, useEffect } from "react"; +import Link from "next/link"; +import Image from "next/image"; +import { cabinetMedium } from "@/app/utils/fonts"; +import Counter_wrapper from "../counter/Counter"; + +import DeerhackLogo from "@/app/assets/icons/DeerHackLogoMob.svg"; +import hamburgerIcon from "@/app/assets/icons/hamburger.svg"; +import hamburgerBorder from "@/app/assets/icons/rounded.svg"; + +import organizersIcon from "@/app/assets/icons/organizers.svg"; +import legacyIcon from "@/app/assets/icons/legacy.svg"; +import judgingIcon from "@/app/assets/icons/judging-criteria.svg"; +import cocIcon from "@/app/assets/icons/code-of-conduct.svg"; +import selectionIcon from "@/app/assets/icons/selection-criteria.svg"; +import fbIcon from "@/app/assets/icons/facebook.svg"; +import instaIcon from "@/app/assets/icons/instagram.svg"; +import linkedinIcon from "@/app/assets/icons/linkedin.svg"; const Navbar = () => { const [isOpen, setIsOpen] = useState(false); useEffect(() => { document.body.style.overflow = isOpen ? "hidden" : "auto"; - return () => { document.body.style.overflow = "auto"; }; + return () => { + document.body.style.overflow = "auto"; + }; }, [isOpen]); - const btnContainer = "relative flex items-center justify-center w-[56px] h-[56px] transition-transform active:scale-95"; + const btnContainer = + "relative flex items-center justify-center w-[56px] h-[56px] transition-transform active:scale-95"; return ( - -
+
Resources @@ -129,11 +131,13 @@ const Navbar = () => { href="/code-of-conduct" label="Code of Conduct" icon={cocIcon} + route="/code-of-conduct" />
@@ -164,28 +168,6 @@ const Navbar = () => { /> )}
- -
- - Logo - - -
- Organizers - Legacy - Judging - Conduct -
- -
- -
-
); }; @@ -206,25 +188,6 @@ const NavLink = ({ ); -const SidebarButton = ({ - href, - label, - icon, -}: { - href: string; - label: string; - icon: any; -}) => ( - -
- {label} -
- {label} - -); const SocialLink = ({ href, diff --git a/frontend/src/app/components/Navbar/NavbarPC.tsx b/frontend/src/app/components/Navbar/NavbarPC.tsx index 727f51d..24cb06d 100644 --- a/frontend/src/app/components/Navbar/NavbarPC.tsx +++ b/frontend/src/app/components/Navbar/NavbarPC.tsx @@ -57,7 +57,7 @@ const NavbarPC = () => {
)}
- Winners + {/* Winners */}
diff --git a/frontend/src/app/components/Navbar/SidebarButton.tsx b/frontend/src/app/components/Navbar/SidebarButton.tsx new file mode 100644 index 0000000..a289260 --- /dev/null +++ b/frontend/src/app/components/Navbar/SidebarButton.tsx @@ -0,0 +1,33 @@ +import { cabinetMedium } from "@/app/utils/fonts"; +import Image from "next/image"; +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +export default function SidebarButton({ + href, + label, + icon, + route, +}: { + href: string; + label: string; + icon: any; + route?: string; +}){ + const pathName = usePathname() + return( + +
+ {label} +
+ + {label} + + + ); +}; \ No newline at end of file From d86d1d1dd3b749845039427a4ba4b32ec82e219d Mon Sep 17 00:00:00 2001 From: Rijan Dahal <70582929+enkoki@users.noreply.github.com> Date: Fri, 10 Apr 2026 02:23:46 +0545 Subject: [PATCH 09/11] update(experience): fixed alignment of card due to height issues --- .../app/(pages)/DeerhackExperiencePage.tsx | 26 +++++++++---------- .../app/assets/images/PlayButtonExpCard.tsx | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/(pages)/DeerhackExperiencePage.tsx b/frontend/src/app/(pages)/DeerhackExperiencePage.tsx index 1db1ad5..352ff54 100644 --- a/frontend/src/app/(pages)/DeerhackExperiencePage.tsx +++ b/frontend/src/app/(pages)/DeerhackExperiencePage.tsx @@ -143,7 +143,7 @@ export default function ExperiencePage() { -
+
@@ -151,9 +151,9 @@ export default function ExperiencePage() {

Mala Deep Upadhaya

Mentor

-
+
-

+

“Mentoring at DeerHack was an incredibly fulfilling experience. The participants brought great energy, creativity, and a genuine eagerness to learn,,while the volunteers ensured everything ran smoothly with their constant dedication. The welcoming and collaborative environment made it easy to connect, share ideas, and build together, it’s truly an inspiring community to be part of.”

@@ -161,38 +161,38 @@ export default function ExperiencePage() {
-
-
+
+

Nischal Tamang

Participant

-

- “One of the best hackathons and the event management was very good.” +

+ “One of the best hackathons and the event management was very good and truly exceeded all expectations.”

-
-
+
+
-

Samip Lamsal

+

Samip Lamsal

Participant

-

+

“ DeerHack was my third national hackathon and by far the best organized and managed one I've attended.

-
+
window.scrollTo({ top: 0, behavior: "smooth" })} - className="bg-[rgb(102,51,204,0.78)] p-6 md:p-8 rounded-[25px] flex justify-center items-center hover:bg-purple-600 transition-all cursor-pointer group border border-white/5" + className="bg-[rgb(102,51,204,0.78)] p-6 md:p-6 rounded-[25px] flex justify-center items-center hover:bg-purple-600 transition-all cursor-pointer group border border-white/5" >

Want to create your own experience? diff --git a/frontend/src/app/assets/images/PlayButtonExpCard.tsx b/frontend/src/app/assets/images/PlayButtonExpCard.tsx index 77a7df3..6044e76 100644 --- a/frontend/src/app/assets/images/PlayButtonExpCard.tsx +++ b/frontend/src/app/assets/images/PlayButtonExpCard.tsx @@ -2,7 +2,7 @@ import React from 'react' function PlayButtonExpCard() { return ( - + From 66531245824b3af1fe77bc593a1485d50025a645 Mon Sep 17 00:00:00 2001 From: Rijan Dahal <70582929+enkoki@users.noreply.github.com> Date: Fri, 10 Apr 2026 02:30:51 +0545 Subject: [PATCH 10/11] fix(experience): main card height for alignment --- .../app/(pages)/DeerhackExperiencePage.tsx | 6 +-- .../app/assets/images/sponsors/MalaDeep.tsx | 44 +++++++++++++------ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/frontend/src/app/(pages)/DeerhackExperiencePage.tsx b/frontend/src/app/(pages)/DeerhackExperiencePage.tsx index 352ff54..49f575d 100644 --- a/frontend/src/app/(pages)/DeerhackExperiencePage.tsx +++ b/frontend/src/app/(pages)/DeerhackExperiencePage.tsx @@ -145,8 +145,8 @@ export default function ExperiencePage() {

-
-
+
+

Mala Deep Upadhaya

Mentor

@@ -157,7 +157,7 @@ export default function ExperiencePage() { “Mentoring at DeerHack was an incredibly fulfilling experience. The participants brought great energy, creativity, and a genuine eagerness to learn,,while the volunteers ensured everything ran smoothly with their constant dedication. The welcoming and collaborative environment made it easy to connect, share ideas, and build together, it’s truly an inspiring community to be part of.”

-
+
diff --git a/frontend/src/app/assets/images/sponsors/MalaDeep.tsx b/frontend/src/app/assets/images/sponsors/MalaDeep.tsx index d284810..f52c2ab 100644 --- a/frontend/src/app/assets/images/sponsors/MalaDeep.tsx +++ b/frontend/src/app/assets/images/sponsors/MalaDeep.tsx @@ -1,20 +1,38 @@ -import React from 'react' +import React from "react"; function MalaDeep() { return (
- - - - - - - - - - + + + + + + + + +
- ) + ); } -export default MalaDeep +export default MalaDeep; From c858330e5bd2a9bab8bc532665eb2a21844f3d5e Mon Sep 17 00:00:00 2001 From: Rijan Dahal <70582929+enkoki@users.noreply.github.com> Date: Fri, 10 Apr 2026 02:39:12 +0545 Subject: [PATCH 11/11] fix: fix tailwind classname conflicts --- frontend/src/app/assets/images/sponsors/NischalTamang.tsx | 2 +- frontend/src/app/assets/images/sponsors/SamipLamsal.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/assets/images/sponsors/NischalTamang.tsx b/frontend/src/app/assets/images/sponsors/NischalTamang.tsx index 7a4f590..234e72f 100644 --- a/frontend/src/app/assets/images/sponsors/NischalTamang.tsx +++ b/frontend/src/app/assets/images/sponsors/NischalTamang.tsx @@ -3,7 +3,7 @@ import React from 'react' function NischalTamang() { return (
- + diff --git a/frontend/src/app/assets/images/sponsors/SamipLamsal.tsx b/frontend/src/app/assets/images/sponsors/SamipLamsal.tsx index 1f05357..54743c8 100644 --- a/frontend/src/app/assets/images/sponsors/SamipLamsal.tsx +++ b/frontend/src/app/assets/images/sponsors/SamipLamsal.tsx @@ -3,7 +3,7 @@ import React from 'react' function SamipLamsal() { return (
- +