From ab4ea1245a7cc5cedc91be73228a9ecf0cfb9805 Mon Sep 17 00:00:00 2001
From: CruidGals
Date: Sun, 1 Feb 2026 16:52:43 -0500
Subject: [PATCH 1/6] Complete add application status
---
src/app/(protected)/profile/page.tsx | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/app/(protected)/profile/page.tsx b/src/app/(protected)/profile/page.tsx
index 8804fe55..bde8226e 100644
--- a/src/app/(protected)/profile/page.tsx
+++ b/src/app/(protected)/profile/page.tsx
@@ -63,6 +63,16 @@ enum Role {
FINANCE = 5,
}
+// Mapping from application status to its respective color
+const applicationStatusColorMap = new Map([
+ ['pending', 'text-purple-400'],
+ ['accepted', 'text-green-300'],
+ ['rejected', 'text-red-600'],
+ ['waitlisted', 'text-orange-300'],
+ ['confirmed', 'text-green-600'],
+ ['declined', 'text-stone-500']
+]);
+
// Utility to get user role from token
function getUserRole(token: string | undefined): number {
if (!token) return Role.NONE;
@@ -360,6 +370,13 @@ export default function Profile() {
)}
+ {(!isOrganizer && userData?.registration) && (
+
+
+ Application Status: {userData.registration.application_status.toUpperCase()}
+
+
+ )}
From 075a4faa76b1db50bd96928f1dcf5b004f4dafe8 Mon Sep 17 00:00:00 2001
From: iwanplayhalo <95511638+iwanplayhalo@users.noreply.github.com>
Date: Wed, 4 Feb 2026 17:09:23 -0500
Subject: [PATCH 2/6] fix race not auto populating
---
src/app/(protected)/register/page.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/app/(protected)/register/page.tsx b/src/app/(protected)/register/page.tsx
index 9654863a..f5873f4b 100644
--- a/src/app/(protected)/register/page.tsx
+++ b/src/app/(protected)/register/page.tsx
@@ -291,7 +291,7 @@ export default function RegistrationPage() {
major: userInfo.major || "",
phone: userInfo.phone || "",
country: userInfo.country || "",
- race: "",
+ race: userInfo.race || "",
hasDietaryRestrictions: !!(
userInfo.dietaryRestriction || userInfo.allergies
),
From 7496e93c6b1c069fe288e6def9cbdc13086b15ab Mon Sep 17 00:00:00 2001
From: Leona Chen <88675442+leonac24@users.noreply.github.com>
Date: Sun, 8 Feb 2026 22:44:28 -0500
Subject: [PATCH 3/6] Robot sound + animation
---
src/components/FAQ.tsx | 67 ++++++++++++++++++++++++++++++++++++------
1 file changed, 58 insertions(+), 9 deletions(-)
diff --git a/src/components/FAQ.tsx b/src/components/FAQ.tsx
index aa891ab3..009137fd 100644
--- a/src/components/FAQ.tsx
+++ b/src/components/FAQ.tsx
@@ -170,9 +170,40 @@ const AccordionItem: React.FC = ({
);
};
+function playRobotSound() {
+ try {
+ const ctx = new (window.AudioContext || (window as any).webkitAudioContext)();
+ const playBeep = (frequency: number, startTime: number, duration: number) => {
+ const osc = ctx.createOscillator();
+ const gain = ctx.createGain();
+ osc.connect(gain);
+ gain.connect(ctx.destination);
+ osc.type = "square";
+ osc.frequency.setValueAtTime(frequency, startTime);
+ osc.frequency.setValueAtTime(frequency * 0.5, startTime + duration * 0.6);
+ gain.gain.setValueAtTime(0.12, startTime);
+ gain.gain.exponentialRampToValueAtTime(0.01, startTime + duration);
+ osc.start(startTime);
+ osc.stop(startTime + duration);
+ };
+ playBeep(440, 0, 0.08);
+ playBeep(330, 0.12, 0.1);
+ playBeep(550, 0.26, 0.12);
+ } catch {
+ // ignore if audio not supported or blocked
+ }
+}
+
const FAQ: React.FC = () => {
const [openItems, setOpenItems] = useState>(new Set());
const [fishClicked, setFishClicked] = useState(false);
+ const [robotDance, setRobotDance] = useState(false);
+
+ const handleRobotClick = () => {
+ playRobotSound();
+ setRobotDance(true);
+ setTimeout(() => setRobotDance(false), 800);
+ };
const toggleItem = (index: number) => {
setOpenItems((prev) => {
@@ -228,25 +259,43 @@ const FAQ: React.FC = () => {
{/* Left side - Image on desktop, hidden on mobile */}
From 7488cc12bc1914730c852d186db661c46139f77e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 9 Feb 2026 22:20:32 +0000
Subject: [PATCH 4/6] Update dependency @posthog/nextjs-config to v1.8.14
(#716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index b01f8afe..c9e6fef2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2399,21 +2399,21 @@
dependencies:
cross-spawn "^7.0.6"
-"@posthog/core@1.20.2":
- version "1.20.2"
- resolved "https://registry.yarnpkg.com/@posthog/core/-/core-1.20.2.tgz#1dc2757d1775ca008d596c5629231e75813fb4b9"
- integrity sha512-aQhrUzOHYr0z/bkwDsJ5hXahdh6oyeWdx2/CHwR6vFG3eK07J69lbuGOj+HGOOxJP1eAdNnsk8J0fj1vqRA9+A==
+"@posthog/core@1.21.0":
+ version "1.21.0"
+ resolved "https://registry.yarnpkg.com/@posthog/core/-/core-1.21.0.tgz#f907aa9a6f4d0419585cb11eb5a7c4c27f039abb"
+ integrity sha512-0a2JUIX1vhduP2El/6/J8s5AeYAurIoufQGFgMiGnJE5ajd63o9LFocu2vFYYBnIOmy75y4ADNeW8zSl1keEQQ==
dependencies:
cross-spawn "^7.0.6"
"@posthog/nextjs-config@^1.0.2":
- version "1.8.13"
- resolved "https://registry.yarnpkg.com/@posthog/nextjs-config/-/nextjs-config-1.8.13.tgz#40668bfa09adb7c71c3adbacdb0a680c0eec5002"
- integrity sha512-u+UVZlom+a4LV0nio23q4xGHcGTbdOjM712d5vr3im12JmytFfMBbDT0QbF8X2HmuhtrlQq9lWN1fXHVUuRn1A==
+ version "1.8.14"
+ resolved "https://registry.yarnpkg.com/@posthog/nextjs-config/-/nextjs-config-1.8.14.tgz#c34e07e64c3880e9f23bf124a67d07ffad29c8cc"
+ integrity sha512-RDaKLYXmJuZAFc7NLHvMowXCESe3xaV3KF0LH+9zUvfJ9I4nl9uNX2WMFnfbZf5doK8mWPYVdIRpiXLwgP6e3Q==
dependencies:
"@posthog/cli" "~0.5.26"
- "@posthog/core" "1.20.2"
- "@posthog/webpack-plugin" "1.2.19"
+ "@posthog/core" "1.21.0"
+ "@posthog/webpack-plugin" "1.2.20"
semver "^7.7.2"
"@posthog/types@1.342.1":
@@ -2421,13 +2421,13 @@
resolved "https://registry.yarnpkg.com/@posthog/types/-/types-1.342.1.tgz#a4d5f7b44539641e910f36818fd4b6aa41022a2f"
integrity sha512-bcyBdO88FWTkd5AVTa4Nu8T7RfY0WJrG7WMCXum/rcvNjYhS3DmOfKf8o/Bt56vA3J3yeU0vbgrmltYVoTAfaA==
-"@posthog/webpack-plugin@1.2.19":
- version "1.2.19"
- resolved "https://registry.yarnpkg.com/@posthog/webpack-plugin/-/webpack-plugin-1.2.19.tgz#8111246ec16b24bebd03a09447ef181b8d2ce1bf"
- integrity sha512-0oy+mkuferiL5hO5tOwgoGlFb5zZO5UqUhDd9a1C16+P9MShQuItwgaMdgGJ+7G15Hq+gzLAmErz6Ffp6qJCgQ==
+"@posthog/webpack-plugin@1.2.20":
+ version "1.2.20"
+ resolved "https://registry.yarnpkg.com/@posthog/webpack-plugin/-/webpack-plugin-1.2.20.tgz#a6355a38a136248b82478d2a9175f7566fca412a"
+ integrity sha512-rqyCFBzCwMne2YdjbSJEijb0f/wU5QKIX53ObgxdazfQlVroflb+qwevIKkkU1lUg5e4S6zYvVNNwrpe0Zoomw==
dependencies:
"@posthog/cli" "~0.5.26"
- "@posthog/core" "1.20.2"
+ "@posthog/core" "1.21.0"
"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
version "1.1.2"
From 8792786fee00f1625739f48f5c93bc381f69cf67 Mon Sep 17 00:00:00 2001
From: joeboppell
Date: Mon, 9 Feb 2026 17:36:13 -0500
Subject: [PATCH 5/6] change accepted color
---
src/app/(protected)/profile/page.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/app/(protected)/profile/page.tsx b/src/app/(protected)/profile/page.tsx
index bde8226e..8c9fe49b 100644
--- a/src/app/(protected)/profile/page.tsx
+++ b/src/app/(protected)/profile/page.tsx
@@ -66,7 +66,7 @@ enum Role {
// Mapping from application status to its respective color
const applicationStatusColorMap = new Map([
['pending', 'text-purple-400'],
- ['accepted', 'text-green-300'],
+ ['accepted', 'text-blue-400'],
['rejected', 'text-red-600'],
['waitlisted', 'text-orange-300'],
['confirmed', 'text-green-600'],
@@ -373,7 +373,7 @@ export default function Profile() {
{(!isOrganizer && userData?.registration) && (
- Application Status: {userData.registration.application_status.toUpperCase()}
+ Application Status: {userData.registration.applicationStatus.toUpperCase()}
)}
From 1e461c1b4a0f060053f3778f09a2a183c8b7119c Mon Sep 17 00:00:00 2001
From: joeboppell
Date: Mon, 9 Feb 2026 20:49:55 -0500
Subject: [PATCH 6/6] added event partners functionality
---
.../sponsors_seventh_page_computer3.png | Bin 0 -> 636438 bytes
src/components/Sponsors/index.tsx | 95 ++++++++++++++++--
src/lib/api/sponsor/entity.ts | 1 +
src/styles/globals.css | 4 +-
4 files changed, 91 insertions(+), 9 deletions(-)
create mode 100644 public/sp26/computer_backgrounds/sponsors_seventh_page_computer3.png
diff --git a/public/sp26/computer_backgrounds/sponsors_seventh_page_computer3.png b/public/sp26/computer_backgrounds/sponsors_seventh_page_computer3.png
new file mode 100644
index 0000000000000000000000000000000000000000..69e69cb4b19228711d864cd79faf92146f5e16e3
GIT binary patch
literal 636438
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