From ddae3d5c36e27da96f571894d57172607daec8c5 Mon Sep 17 00:00:00 2001 From: trisha <82386753+tdanielles@users.noreply.github.com> Date: Thu, 13 Nov 2025 20:22:34 -0800 Subject: [PATCH 1/2] fix --- src/lib/firebase/types.ts | 1 + src/services/query.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/firebase/types.ts b/src/lib/firebase/types.ts index b25fc36..480bc60 100644 --- a/src/lib/firebase/types.ts +++ b/src/lib/firebase/types.ts @@ -175,6 +175,7 @@ export interface Applicant { gender: string | Record; graduation: number; isOfLegalAge: boolean; + ageByHackathon: number; location: string; // city major: ApplicantMajor | Record; phoneNumber: string; // "+1 XXX-XXX-XXXX" diff --git a/src/services/query.ts b/src/services/query.ts index 6fb2931..42b5892 100644 --- a/src/services/query.ts +++ b/src/services/query.ts @@ -55,7 +55,7 @@ export const flattenApplicantData = (applicant: Applicant, hackathon?: string): applicant.basicInfo?.gender as Record | undefined, '' ), - isOfLegalAge: applicant.basicInfo?.isOfLegalAge || false, + isOfLegalAge: applicant.basicInfo?.ageByHackathon as number >= 19, culturalBackground: returnTrueKey(applicant.basicInfo?.ethnicity || applicant.basicInfo?.culturalBackground), dietaryRestriction: createStringFromSelection( applicant.basicInfo?.dietaryRestriction, @@ -148,6 +148,7 @@ export const getAvailableColumns = (): string[] => { gender: "", location: "", isOfLegalAge: true, + ageByHackathon: 0, ethnicity: { asian: false, black: false, From 3204fa4aff40fb6d4bb6537e93650e1f3e73f9c0 Mon Sep 17 00:00:00 2001 From: trisha <82386753+tdanielles@users.noreply.github.com> Date: Thu, 13 Nov 2025 20:52:34 -0800 Subject: [PATCH 2/2] fix --- src/lib/firebase/types.ts | 2 +- src/services/query.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/lib/firebase/types.ts b/src/lib/firebase/types.ts index 480bc60..1f52a3e 100644 --- a/src/lib/firebase/types.ts +++ b/src/lib/firebase/types.ts @@ -175,7 +175,7 @@ export interface Applicant { gender: string | Record; graduation: number; isOfLegalAge: boolean; - ageByHackathon: number; + ageByHackathon: string; location: string; // city major: ApplicantMajor | Record; phoneNumber: string; // "+1 XXX-XXX-XXXX" diff --git a/src/services/query.ts b/src/services/query.ts index 42b5892..854d261 100644 --- a/src/services/query.ts +++ b/src/services/query.ts @@ -34,6 +34,15 @@ export const flattenApplicantData = (applicant: Applicant, hackathon?: string): const hackathonYear = year ? Number.parseInt(year) : 2025; const isLegacyFormat = hackathonYear < 2024 || hackathon === "nwHacks2024"; + const computedIsOfLegalAge = (applicant: Applicant) => { + const rawAge = applicant.basicInfo?.ageByHackathon + if (rawAge == "<=16") return false + if (rawAge == ">24") return true + + const numericAge = typeof rawAge === "number" ? rawAge : Number(rawAge) + return numericAge >= 19 + } + const flattened: FlattenedApplicant = { // Basic Info firstName: applicant.basicInfo?.legalFirstName || applicant.basicInfo?.firstName || "", @@ -55,7 +64,7 @@ export const flattenApplicantData = (applicant: Applicant, hackathon?: string): applicant.basicInfo?.gender as Record | undefined, '' ), - isOfLegalAge: applicant.basicInfo?.ageByHackathon as number >= 19, + isOfLegalAge: computedIsOfLegalAge(applicant), culturalBackground: returnTrueKey(applicant.basicInfo?.ethnicity || applicant.basicInfo?.culturalBackground), dietaryRestriction: createStringFromSelection( applicant.basicInfo?.dietaryRestriction, @@ -148,7 +157,7 @@ export const getAvailableColumns = (): string[] => { gender: "", location: "", isOfLegalAge: true, - ageByHackathon: 0, + ageByHackathon: "0", ethnicity: { asian: false, black: false,