Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
b83acc1
Update dependency knip to v5.73.0 (#537)
renovate[bot] Dec 10, 2025
b17b0dd
Update dependency posthog-js to v1.303.1 (#539)
renovate[bot] Dec 10, 2025
5b8be5a
Update dependency framer-motion to v12.23.26 (#540)
renovate[bot] Dec 10, 2025
cfb3cbe
Update dependency knip to v5.73.1 (#541)
renovate[bot] Dec 11, 2025
9064046
Update dependency @types/node to v24.10.3 (#544)
renovate[bot] Dec 11, 2025
3c2f422
Update dependency knip to v5.73.3 (#546)
renovate[bot] Dec 11, 2025
7d63857
Update dependency tailwindcss to v3.4.19 (#545)
renovate[bot] Dec 11, 2025
98c53b6
Update dependency lucide-react to ^0.560.0 (#542)
renovate[bot] Dec 11, 2025
4255383
Update dependency posthog-js to v1.305.0 (#543)
renovate[bot] Dec 12, 2025
4f84155
Update dependency next to v16.0.9 [SECURITY] (#550)
renovate[bot] Dec 12, 2025
6317ac8
Update nextjs monorepo to v16.0.10 (#547)
renovate[bot] Dec 12, 2025
d4a0e36
Update react monorepo to v19.2.3 (#548)
renovate[bot] Dec 12, 2025
8d17826
Update dependency lucide-react to ^0.561.0 (#551)
renovate[bot] Dec 12, 2025
43b74f2
Update dependency knip to v5.73.4 (#553)
renovate[bot] Dec 12, 2025
4e41c5e
Update dependency eslint to v9.39.2 (#554)
renovate[bot] Dec 13, 2025
dd358b1
Update dependency posthog-js to v1.306.1 (#552)
renovate[bot] Dec 13, 2025
f0a525c
Update dependency @types/node to v24.10.4 (#556)
renovate[bot] Dec 14, 2025
448c387
Update dependency autoprefixer to v10.4.23 (#557)
renovate[bot] Dec 14, 2025
deabd0b
Update dependency posthog-js to v1.306.2 (#558)
renovate[bot] Dec 15, 2025
862501c
Update dependency @posthog/nextjs-config to v1.7.1 (#555)
renovate[bot] Dec 16, 2025
2f51d0b
Update dependency knip to v5.74.0 (#559)
renovate[bot] Dec 16, 2025
f012cbc
Update dependency firebase to v12.7.0 (#560)
renovate[bot] Dec 17, 2025
b2c3e66
Update dependency @posthog/nextjs-config to v1.7.2 (#562)
renovate[bot] Dec 17, 2025
26b717d
Update dependency posthog-node to v5.17.3 (#563)
renovate[bot] Dec 17, 2025
ab5e0a1
Update dependency knip to v5.75.1 (#564)
renovate[bot] Dec 17, 2025
629de8d
Update dependency @posthog/nextjs-config to v1.7.3 (#565)
renovate[bot] Dec 17, 2025
5380acc
Update dependency @tailwindcss/forms to v0.5.11 (#567)
renovate[bot] Dec 18, 2025
561a41a
Update dependency posthog-node to v5.17.4 (#566)
renovate[bot] Dec 18, 2025
45e1853
Update dependency posthog-js to v1.309.1 (#561)
renovate[bot] Dec 18, 2025
66f81c3
Update dependency lucide-react to ^0.562.0 (#568)
renovate[bot] Dec 18, 2025
e541e8f
Update nextjs monorepo to v16.1.0 (#569)
renovate[bot] Dec 18, 2025
59075d1
Update dependency knip to v5.75.2 (#570)
renovate[bot] Dec 19, 2025
1f7f20f
Update dependency react-hook-form to v7.69.0 (#571)
renovate[bot] Dec 20, 2025
4cb6625
Update dependency knip to v5.76.1 (#572)
renovate[bot] Dec 21, 2025
0ab2a0f
Update dependency knip to v5.76.2 (#573)
renovate[bot] Dec 22, 2025
f6f15f4
Update dependency knip to v5.76.3 (#574)
renovate[bot] Dec 22, 2025
cd43598
Update dependency @posthog/nextjs-config to v1.7.4 (#575)
renovate[bot] Dec 23, 2025
9fd93e3
Update nextjs monorepo to v16.1.1 (#576)
renovate[bot] Dec 23, 2025
abff6b6
Update dependency posthog-js to v1.310.1 (#577)
renovate[bot] Dec 23, 2025
05aa12d
Update dependency posthog-node to v5.18.0 (#578)
renovate[bot] Dec 23, 2025
d378d91
Update dependency knip to v5.77.0 (#579)
renovate[bot] Dec 24, 2025
c947860
Update dependency knip to v5.77.1 (#580)
renovate[bot] Dec 24, 2025
2febfbe
Update dependency knip to v5.77.4 (#581)
renovate[bot] Dec 27, 2025
c6b1ac8
Update dependency knip to v5.78.0 (#582)
renovate[bot] Dec 27, 2025
2b0b951
Update dependency @tanstack/react-query to v5.90.14 (#583)
renovate[bot] Dec 28, 2025
526725a
Update dependency @tanstack/react-query to v5.90.15 (#584)
renovate[bot] Dec 29, 2025
fee201b
Update dependency posthog-js to v1.311.0 (#585)
renovate[bot] Dec 30, 2025
5d32acb
Update dependency @tanstack/react-query to v5.90.16 (#586)
renovate[bot] Dec 30, 2025
b359027
Update dependency posthog-node to v5.18.1 (#587)
renovate[bot] Dec 31, 2025
3e7cbab
Update dependency posthog-js to v1.312.0 (#588)
renovate[bot] Jan 1, 2026
64cc1d2
Update dependency posthog-js to v1.313.0 (#589)
renovate[bot] Jan 1, 2026
f77360a
Update dependency knip to v5.79.0 (#590)
renovate[bot] Jan 2, 2026
f85ad61
Update dependency react-hook-form to v7.70.0 (#591)
renovate[bot] Jan 4, 2026
60645e7
Update dependency knip to v5.80.0 (#593)
renovate[bot] Jan 5, 2026
5705d9f
Update dependency framer-motion to v12.24.0 (#592)
renovate[bot] Jan 5, 2026
b6de964
Update dependency posthog-js to v1.314.0 (#594)
renovate[bot] Jan 6, 2026
1dc5723
Update dependency posthog-node to v5.19.0 (#595)
renovate[bot] Jan 6, 2026
134b344
Update dependency framer-motion to v12.24.7 (#596)
renovate[bot] Jan 6, 2026
408c4a4
Update dependency posthog-js to v1.315.0 (#597)
renovate[bot] Jan 7, 2026
38c294d
Update dependency framer-motion to v12.24.10 (#598)
renovate[bot] Jan 7, 2026
d3d5b2b
Update dependency posthog-js to v1.315.1 (#599)
renovate[bot] Jan 8, 2026
952e57f
Update dependency framer-motion to v12.24.12 (#600)
renovate[bot] Jan 8, 2026
dbcbfaf
Update dependency @posthog/nextjs-config to v1.7.5 (#601)
renovate[bot] Jan 8, 2026
0ab9b48
Update dependency knip to v5.80.1 (#602)
renovate[bot] Jan 9, 2026
f0913b5
Update dependency posthog-js to v1.316.0 (#603)
renovate[bot] Jan 9, 2026
0002a61
Update dependency posthog-node to v5.20.0 (#604)
renovate[bot] Jan 9, 2026
7e51426
Update dependency knip to v5.80.2 (#605)
renovate[bot] Jan 9, 2026
36563ed
Update dependency framer-motion to v12.25.0 (#606)
renovate[bot] Jan 9, 2026
9dbce02
Update dependency posthog-js to v1.316.1 (#607)
renovate[bot] Jan 9, 2026
2116e9c
Update dependency @types/node to v24.10.6 (#609)
renovate[bot] Jan 10, 2026
fcab270
Update dependency posthog-js to v1.318.1 (#608)
renovate[bot] Jan 10, 2026
14df86f
Update dependency @types/react to v19.2.8 (#610)
renovate[bot] Jan 10, 2026
1c77255
Update dependency @types/node to v24.10.7 (#611)
renovate[bot] Jan 11, 2026
ce63b76
Update dependency react-hook-form to v7.71.0 (#612)
renovate[bot] Jan 11, 2026
c32cf0d
Update dependency posthog-js to v1.318.2 (#613)
renovate[bot] Jan 12, 2026
642b841
Update dependency framer-motion to v12.26.1 (#614)
renovate[bot] Jan 12, 2026
959d3a9
Update dependency posthog-js to v1.319.0 (#615)
renovate[bot] Jan 13, 2026
341d300
Update dependency @types/node to v24.10.8 (#616)
renovate[bot] Jan 13, 2026
6a8b865
Update dependency framer-motion to v12.26.2 (#617)
renovate[bot] Jan 13, 2026
9205c94
Update dependency posthog-js to v1.320.0 (#618)
renovate[bot] Jan 14, 2026
723ed16
Update dependency react-hook-form to v7.71.1 (#619)
renovate[bot] Jan 14, 2026
9807fbb
Update dependency @tanstack/react-query to v5.90.17 (#620)
renovate[bot] Jan 14, 2026
1fc9e02
Update dependency knip to v5.81.0 (#621)
renovate[bot] Jan 14, 2026
2a2eb69
Update dependency posthog-node to v5.21.0 (#623)
renovate[bot] Jan 14, 2026
ab58883
Update dependency posthog-js to v1.321.2 (#622)
renovate[bot] Jan 15, 2026
9d443db
Update nextjs monorepo to v16.1.2 (#624)
renovate[bot] Jan 15, 2026
c6953b9
Update dependency firebase to v12.8.0 (#625)
renovate[bot] Jan 15, 2026
b16a018
Update dependency prettier to v3.8.0 (#626)
renovate[bot] Jan 15, 2026
2987399
Update dependency @types/node to v24.10.9 (#627)
renovate[bot] Jan 15, 2026
459b630
Update dependency posthog-js to v1.324.1 (#628)
renovate[bot] Jan 16, 2026
f49baee
Update dependency @tanstack/react-query to v5.90.18 (#629)
renovate[bot] Jan 16, 2026
4697ced
Update dependency @posthog/nextjs-config to v1.7.6 (#631)
renovate[bot] Jan 17, 2026
482b26d
Update dependency posthog-node to v5.21.1 (#632)
renovate[bot] Jan 17, 2026
21f633b
Update nextjs monorepo to v16.1.3 (#633)
renovate[bot] Jan 17, 2026
bbd9507
Update dependency posthog-js to v1.327.0 (#630)
renovate[bot] Jan 17, 2026
97e60fd
Update dependency @tanstack/react-query to v5.90.19 (#634)
renovate[bot] Jan 18, 2026
59fce03
Update dependency posthog-js to v1.328.0 (#635)
renovate[bot] Jan 18, 2026
5aac6ff
Update dependency knip to v5.82.0 (#636)
renovate[bot] Jan 18, 2026
7fdcc87
Update dependency framer-motion to v12.27.0 (#637)
renovate[bot] Jan 18, 2026
4a41061
Update dependency knip to v5.82.1 (#638)
renovate[bot] Jan 19, 2026
f829200
Update dependency framer-motion to v12.27.1 (#639)
renovate[bot] Jan 19, 2026
84ff748
Update nextjs monorepo to v16.1.4 (#643)
renovate[bot] Jan 20, 2026
45d8fa5
Update dependency @posthog/nextjs-config to v1.8.1 (#642)
renovate[bot] Jan 20, 2026
8f4440d
Update dependency framer-motion to v12.27.2 (#644)
renovate[bot] Jan 20, 2026
fa0883d
Update dependency @types/react to v19.2.9 (#646)
renovate[bot] Jan 20, 2026
6d5612e
Update dependency @posthog/nextjs-config to v1.8.3 (#645)
renovate[bot] Jan 21, 2026
0a078f7
Update dependency framer-motion to v12.27.5 (#647)
renovate[bot] Jan 21, 2026
9dd7186
Update dependency posthog-js to v1.332.0 (#641)
renovate[bot] Jan 21, 2026
568f0a3
Update dependency posthog-node to v5.24.1 (#640)
renovate[bot] Jan 21, 2026
08592c5
Update dependency framer-motion to v12.28.1 (#648)
renovate[bot] Jan 21, 2026
f71075e
Update dependency prettier to v3.8.1 (#649)
renovate[bot] Jan 21, 2026
098e644
Update dependency posthog-js to v1.333.0 (#650)
renovate[bot] Jan 22, 2026
7a7d8f2
Update dependency posthog-js to v1.333.0 (#650)
renovate[bot] Jan 22, 2026
62027cc
Update dependency framer-motion to v12.29.0 (#651)
renovate[bot] Jan 22, 2026
92a2ec7
Update dependency posthog-js to v1.334.1 (#652)
renovate[bot] Jan 23, 2026
bf77f5b
Update dependency @tanstack/react-query to v5.90.20 (#653)
renovate[bot] Jan 23, 2026
e85d2a4
Update dependency lucide-react to ^0.563.0 (#654)
renovate[bot] Jan 23, 2026
f3ba560
Update dependency @posthog/nextjs-config to v1.8.4 (#656)
renovate[bot] Jan 24, 2026
160d4ee
Update dependency posthog-node to v5.24.2 (#657)
renovate[bot] Jan 24, 2026
290eb3c
Update dependency posthog-js to v1.335.2 (#655)
renovate[bot] Jan 24, 2026
e4024a2
Update dependency framer-motion to v12.29.2 (#658)
renovate[bot] Jan 26, 2026
8fde108
add flag
kensac Jan 26, 2026
c56ed5f
fmt
kensac Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,25 @@
"@tanstack/react-query": "^5.66.0",
"@types/luxon": "^3.3.2",
"@types/node": "^24.1.0",
"@types/react": "19.2.7",
"@types/react": "19.2.9",
"@types/react-dom": "19.2.3",
"@vercel/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0",
"autoprefixer": "^10.4.20",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"eslint": "9.39.1",
"eslint-config-next": "16.0.8",
"eslint": "9.39.2",
"eslint-config-next": "16.1.4",
"firebase": "^12.0.0",
"form-data": "^4.0.0",
"framer-motion": "^12.0.0",
"ics": "^3.8.1",
"jwt-decode": "^4.0.0",
"lint-staged": "^16.0.0",
"lucide-react": "^0.556.0",
"lucide-react": "^0.563.0",
"luxon": "^3.4.2",
"next": "16.0.8",
"next": "16.1.4",
"posthog-js": "^1.257.0",
"posthog-node": "^5.5.1",
"prettier": "^3.3.3",
Expand All @@ -70,7 +70,7 @@
"sonner": "^2.0.6",
"swiper": "^12.0.0",
"tailwind-merge": "^3.3.1",
"tailwindcss": "3.4.18",
"tailwindcss": "3.4.19",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.9.2",
"zod": "^3.24.2"
Expand Down
157 changes: 154 additions & 3 deletions src/app/(default)/organizer-application/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use client";

import { useState, useEffect } from "react";
import { useState } from "react";
import { useRouter } from "next/navigation";
import { Toaster, toast } from "sonner";
import { Fireworks } from "@fireworks-js/react";
Expand All @@ -23,13 +23,14 @@ import {
SelectValue,
} from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
import { CheckCircle, Mail, Home } from "lucide-react";
import { CheckCircle, Mail, Home, Lock } from "lucide-react";
import {
YearStanding,
OrganizerTeam,
type OrganizerApplicationCreateEntity,
} from "@/lib/api/organizer-application/entity";
import { useSubmitOrganizerApplication } from "@/lib/api/organizer-application/hook";
import { useFlagState } from "@/lib/api/flag/hook";

interface FormData {
name: string;
Expand All @@ -49,6 +50,10 @@ export default function OrganizerApplicationPage() {
const submitApplicationMutation = useSubmitOrganizerApplication();
const [isSubmitted, setIsSubmitted] = useState(false);

// Feature flag check
const { data: organizerApplicationsFlag, isLoading: flagLoading } =
useFlagState("OrganizerApplications");

const [formData, setFormData] = useState<FormData>({
name: "",
email: "",
Expand Down Expand Up @@ -154,6 +159,152 @@ export default function OrganizerApplicationPage() {
const yearStandingOptions = Object.values(YearStanding);
const teamOptions = Object.values(OrganizerTeam);

// Show loading state while flag is being fetched
if (flagLoading) {
return (
<div className="min-h-screen flex items-center justify-center bg-transparent p-4">
<Card className="w-full max-w-md">
<CardContent className="p-8 text-center">
<div className="flex justify-center mb-4">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-primary"></div>
</div>
<CardTitle className="text-lg text-muted-foreground">
Loading...
</CardTitle>
</CardContent>
</Card>
</div>
);
}

const isApplicationEnabled = organizerApplicationsFlag?.isEnabled ?? false;
console.log("Organizer Applications Flag:", organizerApplicationsFlag);

// Show closed message if flag is disabled
if (!isApplicationEnabled) {
return (
<>
<Toaster richColors />
<div className="text-foreground min-h-screen bg-transparent">
<div className="flex-1 p-4 sm:p-6 lg:p-8">
<div className="max-w-3xl mx-auto">
<header className="text-center mb-8 mt-8">
<h1 className="text-4xl font-bold tracking-tight text-primary mb-4">
HackPSU Organizer Team Application
</h1>

{/* Status Banner */}
<div className="bg-amber-50 dark:bg-amber-950/20 border border-amber-200 dark:border-amber-900/30 rounded-lg p-6 mb-8">
<div className="flex items-start gap-3 mb-3">
<Lock className="h-6 w-6 text-amber-600 dark:text-amber-500 mt-1 flex-shrink-0" />
<div className="text-left flex-1">
<h2 className="text-xl font-semibold text-amber-900 dark:text-amber-100 mb-2">
Applications Currently Closed
</h2>
<p className="text-amber-800 dark:text-amber-200">
We&apos;re not currently accepting new organizer
applications. Organizer applications will reopen after
the hackathon concludes. Thank you for your interest in
joining the HackPSU team!
</p>
</div>
</div>
</div>

{/* About Section */}
<Card className="text-left mb-8 bg-card">
<CardHeader>
<CardTitle className="text-xl">About HackPSU</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<p>
HackPSU is the largest 24-hour student-run hackathon and
technology event at Penn State. We&apos;re all about
celebrating innovation, creativity, and the thrill of
learning. Imagine being part of a team that brings
mind-blowing ideas to life and creates an unforgettable
experience for everyone involved. That&apos;s what HackPSU
is all about!
</p>

<div>
<h3 className="font-semibold text-lg mb-2">
What Does the Organizing Team Do?
</h3>
<p>
As an organizer, you&apos;ll work alongside a passionate
team to plan and execute one of the most exciting tech
events at Penn State. From securing sponsors and
coordinating logistics to designing promotional
materials and creating engaging activities, there&apos;s
a role for everyone!
</p>
</div>

<div>
<h3 className="font-semibold text-lg mb-2">
Experience Level
</h3>
<p>
You do NOT need a tech background to join the HackPSU
organizing team. We&apos;re all about embracing diverse
perspectives and talents. Whether you&apos;re a coding
expert or have never written a line of code, as long as
you are curious and have a can-do attitude, we would
like to hear from you.
</p>
<p className="mt-2">
We have teams like Entertainment, Logistics,
Communications, Design, and Marketing that are open to
everyone from all majors and backgrounds!
</p>
</div>

<div className="bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-900/30 rounded-lg p-4">
<h3 className="font-semibold mb-2">Team Descriptions</h3>
<p className="text-sm mb-2">
Find a detailed list of team descriptions{" "}
<a
href="https://docs.google.com/document/d/1UtW5J2arWv8K-8g7jfLHHaRqHavm8nR0qpJRiRYSzwQ/edit?tab=t.0"
target="_blank"
rel="noopener noreferrer"
className="text-primary underline"
>
here
</a>
.
</p>
</div>

<div className="pt-4 text-center border-t">
<p className="text-sm text-muted-foreground mb-4">
Have questions or want to be notified when applications
open?
</p>
<p className="text-sm mb-4">
Reach out at{" "}
<a
href="mailto:team@hackpsu.org"
className="text-primary underline"
>
team@hackpsu.org
</a>
</p>
<Button onClick={() => router.push("/")}>
<Home className="mr-2 h-4 w-4" />
Back to Home
</Button>
</div>
</CardContent>
</Card>
</header>
</div>
</div>
</div>
</>
);
}

// Success View
if (isSubmitted) {
return (
Expand Down Expand Up @@ -326,7 +477,7 @@ export default function OrganizerApplicationPage() {
<div className="bg-blue-500/10 border border-blue-500/20 rounded-md p-4">
<p className="text-sm">
<strong>Note:</strong> Applications are considered on a
rolling basis and may take up to 3 weeks into the fall
rolling basis and may take up to 3 weeks into the next
semester to process. Team roles will close once the
positions are filled.
</p>
Expand Down
Loading