From 043892d8510ccc64c0a30e683665fad2faa835f1 Mon Sep 17 00:00:00 2001 From: Haylie Tan Date: Sat, 28 Feb 2026 17:31:50 -0800 Subject: [PATCH 01/18] init files --- app/(api)/_utils/mongodb/mongoClient.mjs | 10 +- app/(pages)/(hackers)/(hub)/layout.tsx | 12 +- app/(pages)/(hackers)/(hub)/page.tsx | 30 ++-- .../HomeHacking/IndexHeroContentHacking.tsx | 158 ++++++++++++++++++ .../HomeHacking/_components/Countdown.tsx | 80 +++++++++ .../HomeHacking/_components/TimeTracker.tsx | 56 +++++++ public/hackers/hero/PeepingBunny.svg | 23 +++ public/hackers/hero/PeepingCow.svg | 29 ++++ public/hackers/hero/PeepingDuck.svg | 31 ++++ public/hackers/hero/PeepingFrog.svg | 23 +++ 10 files changed, 431 insertions(+), 21 deletions(-) create mode 100644 app/(pages)/(hackers)/_components/HomeHacking/IndexHeroContentHacking.tsx create mode 100644 app/(pages)/(hackers)/_components/HomeHacking/_components/Countdown.tsx create mode 100644 app/(pages)/(hackers)/_components/HomeHacking/_components/TimeTracker.tsx create mode 100644 public/hackers/hero/PeepingBunny.svg create mode 100644 public/hackers/hero/PeepingCow.svg create mode 100644 public/hackers/hero/PeepingDuck.svg create mode 100644 public/hackers/hero/PeepingFrog.svg diff --git a/app/(api)/_utils/mongodb/mongoClient.mjs b/app/(api)/_utils/mongodb/mongoClient.mjs index 33bcfaaf5..4c199b937 100644 --- a/app/(api)/_utils/mongodb/mongoClient.mjs +++ b/app/(api)/_utils/mongodb/mongoClient.mjs @@ -2,13 +2,19 @@ import { MongoClient } from 'mongodb'; const uri = process.env.MONGODB_URI; let cachedClient = null; +let cachedPromise = null; export async function getClient() { if (cachedClient) { return cachedClient; } - const client = new MongoClient(uri); - cachedClient = client; + + if (!cachedPromise) { + const client = new MongoClient(uri); + cachedPromise = client.connect(); + } + + cachedClient = await cachedPromise; return cachedClient; } diff --git a/app/(pages)/(hackers)/(hub)/layout.tsx b/app/(pages)/(hackers)/(hub)/layout.tsx index 602aadd8d..c2a223fc2 100644 --- a/app/(pages)/(hackers)/(hub)/layout.tsx +++ b/app/(pages)/(hackers)/(hub)/layout.tsx @@ -3,12 +3,14 @@ import Navbar from '@components/Navbar/Navbar'; export default function Layout({ children }: { children: React.ReactNode }) { return ( - +
+ {/* // */} {children} - + {/* // */} +
); } diff --git a/app/(pages)/(hackers)/(hub)/page.tsx b/app/(pages)/(hackers)/(hub)/page.tsx index d56d57553..eb32809e6 100644 --- a/app/(pages)/(hackers)/(hub)/page.tsx +++ b/app/(pages)/(hackers)/(hub)/page.tsx @@ -2,36 +2,38 @@ import PrizeTracks from '@pages/(hackers)/_components/PrizeTracks/PrizeTracks'; import BeginnersSection from '@pages/(hackers)/_components/HomeHacking/BeginnersSection'; import Discord from '@pages/(hackers)/_components/StayUpToDate/Discord'; import Footer from '@components/Footer/Footer'; -import HeroMVP from '../_components/HomeHacking/HeroMVP'; -import ClientTimeProtectedDisplay from '@pages/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay'; -import TableNumberCheckin from '@pages/(hackers)/_components/TableNumberCheckin/TableNumberCheckin'; -import TableNumberContextProvider from '@pages/_contexts/TableNumberContext'; +// import HeroMVP from '../_components/HomeHacking/HeroMVP'; +// import ClientTimeProtectedDisplay from '@pages/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay'; +// import TableNumberCheckin from '@pages/(hackers)/_components/TableNumberCheckin/TableNumberCheckin'; +// import TableNumberContextProvider from '@pages/_contexts/TableNumberContext'; import MDHelp from '@pages/(hackers)/_components/HomeHacking/MDHelp'; import ScheduleSneakPeek from '@pages/(hackers)/_components/HomeHacking/ScheduleSneakPeek'; import HeroJudging from '../_components/HomeJudging/HeroJudging'; import HackerChoiceAward from '../_components/HomeJudging/HackersChoiceAwards'; import HeroWaiting from '../_components/HomeJudging/HeroWaiting'; +import IndexHeroContentHacking from '../_components/HomeHacking/IndexHeroContentHacking'; export default function Page() { return (
- - - + {/* */} + {/* */} + {/* */} + - + {/* */} {/* temporarilty set featureId below to "hero-hacking" to test */} - + {/* */} - - - - - + {/* */} + {/* */} + {/* */} + {/* */} + {/* */}