From abb902d2d5897335243ea034b5af26785180607f Mon Sep 17 00:00:00 2001 From: Lola Date: Fri, 21 Aug 2026 17:56:35 -0500 Subject: [PATCH 1/6] fix line height --- apps/www/src/pages/donate.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/www/src/pages/donate.tsx b/apps/www/src/pages/donate.tsx index 7c79803..95eed00 100644 --- a/apps/www/src/pages/donate.tsx +++ b/apps/www/src/pages/donate.tsx @@ -16,7 +16,7 @@ export default function Donate() { return ( - + {m.www_donate_heading()} From 72e0f380ece3fb3558f0994f08e01e5ea5cc1294 Mon Sep 17 00:00:00 2001 From: Lola Date: Mon, 24 Aug 2026 15:02:41 -0500 Subject: [PATCH 2/6] initial draft --- .../src/components/Donate/EmploymentChart.tsx | 70 +++++++++++++++++ .../src/components/Donate/StoryCarousel.tsx | 42 +++++++++++ apps/www/src/components/Donate/stories.ts | 31 ++++++++ apps/www/src/components/Page/index.tsx | 15 ++-- apps/www/src/pages/donate.tsx | 75 ++++++++++++++++--- packages/i18n/messages/en-us.json | 12 ++- 6 files changed, 226 insertions(+), 19 deletions(-) create mode 100644 apps/www/src/components/Donate/EmploymentChart.tsx create mode 100644 apps/www/src/components/Donate/StoryCarousel.tsx create mode 100644 apps/www/src/components/Donate/stories.ts diff --git a/apps/www/src/components/Donate/EmploymentChart.tsx b/apps/www/src/components/Donate/EmploymentChart.tsx new file mode 100644 index 0000000..3235c54 --- /dev/null +++ b/apps/www/src/components/Donate/EmploymentChart.tsx @@ -0,0 +1,70 @@ +import * as m from "@codeday/i18n/messages"; +import { Box, Grid, Text } from "@codeday/topo/Atom"; +import { useColorMode } from "@codeday/topo/Theme"; +import React from "react"; + +// Federal Reserve Bank of New York, "Labor Market for Recent College Graduates" — +// unemployment rate for Computer Science majors, as published in each year's update. +// 2024 and 2025 figures pulled from archived snapshots (web.archive.org) of the +// NY Fed's own outcomes-by-major data file; the Fed does not publish a historical +// by-major series itself, so this reconstructs the trend from what they published +// each year. +const CS_UNEMPLOYMENT_BY_YEAR = [ + { year: "2024", value: 4.3 }, + { year: "2025", value: 6.1 }, + { year: "2026", value: 7.0 }, +]; +const MAX_VALUE = Math.max(...CS_UNEMPLOYMENT_BY_YEAR.map((d) => d.value)); +const CHART_HEIGHT = 160; + +// Bars hang down from a shared baseline — a longer drop reads as "things got +// worse" more intuitively than a taller bar climbing up. +function Column({ year, value, emphasize }: { year: string; value: number; emphasize?: boolean }) { + const { colorMode } = useColorMode(); + return ( + + + {year} + + + + {value}% + + + ); +} + +export default function EmploymentChart(props: any) { + const mostRecentYear = CS_UNEMPLOYMENT_BY_YEAR[CS_UNEMPLOYMENT_BY_YEAR.length - 1].year; + return ( + + + {m.www_donate_chart_heading()} + + + {CS_UNEMPLOYMENT_BY_YEAR.map((d) => ( + + ))} + + + {m.www_donate_chart_source()} + + + ); +} diff --git a/apps/www/src/components/Donate/StoryCarousel.tsx b/apps/www/src/components/Donate/StoryCarousel.tsx new file mode 100644 index 0000000..950e3de --- /dev/null +++ b/apps/www/src/components/Donate/StoryCarousel.tsx @@ -0,0 +1,42 @@ +import { Box, Grid, Image, Text } from "@codeday/topo/Atom"; +import { Slides } from "@codeday/topo/Molecule"; +import React from "react"; + +import { ALUMNI_STORIES } from "./stories"; + +export default function StoryCarousel(props: any) { + return ( + + {ALUMNI_STORIES.map((story) => ( + + + + {story.name} + + + + {story.name} + + + {story.thenLabel} + + + Today: {story.nowLabel} + + + + + “{story.quote}” + + + ))} + + ); +} diff --git a/apps/www/src/components/Donate/stories.ts b/apps/www/src/components/Donate/stories.ts new file mode 100644 index 0000000..72e439c --- /dev/null +++ b/apps/www/src/components/Donate/stories.ts @@ -0,0 +1,31 @@ +export interface AlumniStory { + name: string; + photoUrl: string; + thenLabel: string; + nowLabel: string; + quote: string; +} + +// Sourced from real CodeDay Labs testimonials (graph.codeday.org, cms.testimonials). +// Confirm each person's current title/employer and get their OK to be featured in a +// donation appeal (a higher bar than a general testimonial) before this goes live. +export const ALUMNI_STORIES: AlumniStory[] = [ + { + name: "Luiza Cartaxo", + photoUrl: + "https://f2.codeday.org/d5pti1xheuyu/4ZIbKznpY100CznvLxg0ob/83f81f937519a2243577d68872f6e771/Maria-Luiza-Cartaxo-Picture-768x1024.jpeg?h=320&fit=fill&w=320", + thenLabel: "International student, first internship", + nowLabel: "Software Engineer at Microsoft", + quote: + "As an international student in a programming major, you guys totally helped me start my career path! I had CodeDay Labs as my first experience, Meta as my second, and Microsoft as my third — and this last one gave me a full-time return offer.", + }, + { + name: "Daniel Lobaton", + photoUrl: + "https://f2.codeday.org/d5pti1xheuyu/50CgDg3alYgGekfYS3lLmd/b1be3c8a0f56fef878aa1ec5c8a21992/Daniel_Lobaton.jpg?h=320&fit=fill&w=320", + thenLabel: "Venezuelan immigrant, new to the tech community", + nowLabel: "Incoming Software Engineer, Microsoft HQ", + quote: + "Labs was the first time I got true exposure to a community of tech people I could rely on. Fast forward a couple of years, and I have a job as a SWE at Microsoft HQ right after I graduate.", + }, +]; diff --git a/apps/www/src/components/Page/index.tsx b/apps/www/src/components/Page/index.tsx index 9ff5a34..0ddcfe3 100644 --- a/apps/www/src/components/Page/index.tsx +++ b/apps/www/src/components/Page/index.tsx @@ -1,12 +1,12 @@ +import * as m from "@codeday/i18n/messages"; import { Box, CodeDay } from "@codeday/topo/Atom"; import { Header, SiteLogo, Main, Menu, Footer } from "@codeday/topo/Organism"; -import * as m from "@codeday/i18n/messages"; +import { usePageData } from "@codeday/topo/Theme"; import { DefaultSeo } from "next-seo"; import Head from "next/head"; import React, { ReactNode } from "react"; import { useFundraise } from "../../providers"; -import { usePageData } from "@codeday/topo/Theme"; import DisclaimerFooter from "./DisclaimerFooter"; import NavMenu from "./NavMenu"; @@ -19,10 +19,11 @@ interface PageProps { slug?: string; seo?: any; fun?: boolean; + minimal?: boolean; [key: string]: any; } -export default function Page({ children, title, darkHeader, slug, seo }: PageProps) { +export default function Page({ children, title, darkHeader, slug, seo, minimal }: PageProps) { const { cms } = usePageData(); const { mission } = cms || {}; const { isFundraiseLoaded } = useFundraise(); @@ -63,13 +64,13 @@ export default function Page({ children, title, darkHeader, slug, seo }: PagePro - - - + {/* Header's child handling chokes on a bare `false` child, so keep + itself always present and hide its contents instead. */} + {!minimal && }
{children}
- + {!minimal && }
{""}
diff --git a/apps/www/src/pages/donate.tsx b/apps/www/src/pages/donate.tsx index 95eed00..f7f5238 100644 --- a/apps/www/src/pages/donate.tsx +++ b/apps/www/src/pages/donate.tsx @@ -1,30 +1,85 @@ -import { Heading, Text } from "@codeday/topo/Atom"; -import { Content } from "@codeday/topo/Molecule"; import * as m from "@codeday/i18n/messages"; +import { Box, Grid, Heading, Image, Link, Text } from "@codeday/topo/Atom"; +import { Content } from "@codeday/topo/Molecule"; +import { usePageData } from "@codeday/topo/Theme"; import { apiFetch } from "@codeday/topo/utils"; import { print } from "graphql"; import { GetStaticProps } from "next"; +import EmploymentChart from "../components/Donate/EmploymentChart"; +import StoryCarousel from "../components/Donate/StoryCarousel"; import Page from "../components/Page"; -import { usePageData } from "@codeday/topo/Theme"; import { DonateQuery } from "./donate.gql"; +function DonateBox(props: any) { + return ( + + + + + + + + + + + + + + + + {m.www_donate_disclaimer()} + + + + ); +} + export default function Donate() { const { cms: { mission }, } = usePageData(); + return ( - - + + + {m.www_donate_form_heading()} + + + {m.www_donate_form_description({ mission: mission?.items?.[0]?.value.toLowerCase() })} + + + {/* Donate #1 */} + + + {m.www_donate_heading()} - - {m.www_donate_description({ mission: mission?.items?.[0]?.value.toLowerCase() })} + + + + + {m.www_donate_description()}{" "} + + {m.www_donate_impact_students()} + - - - + + + {m.www_donate_stories_heading()} + + + + + {m.www_donate_impact_line()} + + + {/* Donate #2 */} + ); diff --git a/packages/i18n/messages/en-us.json b/packages/i18n/messages/en-us.json index 8f0eb19..3821bf4 100644 --- a/packages/i18n/messages/en-us.json +++ b/packages/i18n/messages/en-us.json @@ -83,8 +83,16 @@ "www_contact_last_name": "Last Name", "www_contact_email": "Email", "www_contact_linkedin": "LinkedIn", - "www_donate_heading": "Make a Donation to CodeDay", - "www_donate_description": "Your donation will advance our mission of {mission}. As a 501(c)(3) non-profit, donations from US individuals and companies are tax-deductible.", + "www_donate_heading": "The job market failed this year's grads.", + "www_donate_description": "This year, CodeDay's work is more important than ever. We've helped tens of thousands of students get their footing in tech.", + "www_donate_form_heading": "Make a Donation to CodeDay", + "www_donate_form_description": "Your donation will advance our mission of {mission}.", + "www_donate_disclaimer": "CodeDay is a 501(c)(3) non-profit, donations from US individuals and companies are tax-deductible.", + "www_donate_chart_heading": "Computer Science grads: unemployment rate by year", + "www_donate_chart_source": "Source: Federal Reserve Bank of New York, Labor Market for Recent College Graduates", + "www_donate_stories_heading": "Your gift supports students like...", + "www_donate_impact_line": "$35/mo fully funds one student per year to get CodeDay Labs mentorship and get their first job in tech", + "www_donate_impact_students": "Can you help us support one more?", "www_data_heading": "CodeDay Open Data Repository", "www_eco_heading": "Ecological Footprint", "www_press_kit": "Press Kit", From 025efbecb35c3330fc686e0721e7e43480da6bd0 Mon Sep 17 00:00:00 2001 From: Lola Date: Mon, 24 Aug 2026 17:34:31 -0500 Subject: [PATCH 3/6] rework things a bit and remove exceptionally verbose comments --- .../src/components/Donate/EmploymentChart.tsx | 136 ++++++++++++------ .../components/Donate/PrestigeGapChart.tsx | 76 ++++++++++ .../src/components/Donate/StoryCarousel.tsx | 42 ------ apps/www/src/components/Donate/StoryList.tsx | 79 ++++++++++ apps/www/src/components/Donate/stories.ts | 31 ---- apps/www/src/pages/donate.tsx | 23 +-- packages/i18n/messages/en-us.json | 11 +- 7 files changed, 270 insertions(+), 128 deletions(-) create mode 100644 apps/www/src/components/Donate/PrestigeGapChart.tsx delete mode 100644 apps/www/src/components/Donate/StoryCarousel.tsx create mode 100644 apps/www/src/components/Donate/StoryList.tsx delete mode 100644 apps/www/src/components/Donate/stories.ts diff --git a/apps/www/src/components/Donate/EmploymentChart.tsx b/apps/www/src/components/Donate/EmploymentChart.tsx index 3235c54..5282ac6 100644 --- a/apps/www/src/components/Donate/EmploymentChart.tsx +++ b/apps/www/src/components/Donate/EmploymentChart.tsx @@ -3,67 +3,117 @@ import { Box, Grid, Text } from "@codeday/topo/Atom"; import { useColorMode } from "@codeday/topo/Theme"; import React from "react"; -// Federal Reserve Bank of New York, "Labor Market for Recent College Graduates" — -// unemployment rate for Computer Science majors, as published in each year's update. -// 2024 and 2025 figures pulled from archived snapshots (web.archive.org) of the -// NY Fed's own outcomes-by-major data file; the Fed does not publish a historical -// by-major series itself, so this reconstructs the trend from what they published -// each year. +// Federal Reserve Bank of New York, "Labor Market for Recent College Graduates." const CS_UNEMPLOYMENT_BY_YEAR = [ - { year: "2024", value: 4.3 }, + { year: "2024", value: 3.9}, { year: "2025", value: 6.1 }, { year: "2026", value: 7.0 }, ]; -const MAX_VALUE = Math.max(...CS_UNEMPLOYMENT_BY_YEAR.map((d) => d.value)); +const ALL_MAJORS_REFERENCE = { year: "2026", value: 4.2, label: "All majors" }; +const MAX_VALUE = Math.max( + ...CS_UNEMPLOYMENT_BY_YEAR.map((d) => d.value), + ALL_MAJORS_REFERENCE.value, +); const CHART_HEIGHT = 160; -// Bars hang down from a shared baseline — a longer drop reads as "things got -// worse" more intuitively than a taller bar climbing up. -function Column({ year, value, emphasize }: { year: string; value: number; emphasize?: boolean }) { +function Bar({ value, emphasize }: { value: number; emphasize?: boolean }) { const { colorMode } = useColorMode(); return ( - - - {year} - - - - {value}% - - + ); } export default function EmploymentChart(props: any) { const mostRecentYear = CS_UNEMPLOYMENT_BY_YEAR[CS_UNEMPLOYMENT_BY_YEAR.length - 1].year; + const referenceTop = + CHART_HEIGHT - (ALL_MAJORS_REFERENCE.value / MAX_VALUE) * CHART_HEIGHT; + return ( - {m.www_donate_chart_heading()} + {m.www_donate_chart_employment_heading()} - - {CS_UNEMPLOYMENT_BY_YEAR.map((d) => ( - - ))} - + + + + {CS_UNEMPLOYMENT_BY_YEAR.map((d) => ( + + {d.value}% + + ))} + + + + + {CS_UNEMPLOYMENT_BY_YEAR.map((d) => ( + + ))} + + + + + {ALL_MAJORS_REFERENCE.label}: {ALL_MAJORS_REFERENCE.value}% + + + + + + {CS_UNEMPLOYMENT_BY_YEAR.map((d) => ( + + {d.year} + + ))} + + + - {m.www_donate_chart_source()} + {m.www_donate_chart_employment_source()} ); diff --git a/apps/www/src/components/Donate/PrestigeGapChart.tsx b/apps/www/src/components/Donate/PrestigeGapChart.tsx new file mode 100644 index 0000000..5b22bff --- /dev/null +++ b/apps/www/src/components/Donate/PrestigeGapChart.tsx @@ -0,0 +1,76 @@ +import * as m from "@codeday/i18n/messages"; +import { Box, Grid, Text } from "@codeday/topo/Atom"; +import { useColorMode } from "@codeday/topo/Theme"; +import React from "react"; + +// Veris Insights employer survey (reported by Fortune) +const SHORTLIST_ONLY_BY_YEAR = [ + { year: "2022", value: 17 }, + { year: "2025", value: 26 }, +]; +const MAX_VALUE = Math.max(...SHORTLIST_ONLY_BY_YEAR.map((d) => d.value)); +const CHART_HEIGHT = 160; + +function Bar({ value, emphasize }: { value: number; emphasize?: boolean }) { + const { colorMode } = useColorMode(); + return ( + + ); +} + +export default function PrestigeGapChart(props: any) { + const mostRecentYear = SHORTLIST_ONLY_BY_YEAR[SHORTLIST_ONLY_BY_YEAR.length - 1].year; + return ( + + + {m.www_donate_chart_prestige_heading()} + + + + + {SHORTLIST_ONLY_BY_YEAR.map((d) => ( + + {d.value}% + + ))} + + + + {SHORTLIST_ONLY_BY_YEAR.map((d) => ( + + ))} + + + + {SHORTLIST_ONLY_BY_YEAR.map((d) => ( + + {d.year} + + ))} + + + + + {m.www_donate_chart_prestige_source()} + + + ); +} diff --git a/apps/www/src/components/Donate/StoryCarousel.tsx b/apps/www/src/components/Donate/StoryCarousel.tsx deleted file mode 100644 index 950e3de..0000000 --- a/apps/www/src/components/Donate/StoryCarousel.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { Box, Grid, Image, Text } from "@codeday/topo/Atom"; -import { Slides } from "@codeday/topo/Molecule"; -import React from "react"; - -import { ALUMNI_STORIES } from "./stories"; - -export default function StoryCarousel(props: any) { - return ( - - {ALUMNI_STORIES.map((story) => ( - - - - {story.name} - - - - {story.name} - - - {story.thenLabel} - - - Today: {story.nowLabel} - - - - - “{story.quote}” - - - ))} - - ); -} diff --git a/apps/www/src/components/Donate/StoryList.tsx b/apps/www/src/components/Donate/StoryList.tsx new file mode 100644 index 0000000..7efa300 --- /dev/null +++ b/apps/www/src/components/Donate/StoryList.tsx @@ -0,0 +1,79 @@ +import { Box, Grid, Image, Text, VStack } from "@codeday/topo/Atom"; +import React from "react"; + + +export interface AlumniStory { + name: string; + photoUrl: string; + thenLabel: string; + nowLabel: string; + quote: string; +} + +export const ALUMNI_STORIES: AlumniStory[] = [ + { + name: "Luiza Cartaxo", + photoUrl: + "https://f2.codeday.org/d5pti1xheuyu/4ZIbKznpY100CznvLxg0ob/83f81f937519a2243577d68872f6e771/Maria-Luiza-Cartaxo-Picture-768x1024.jpeg?h=320&fit=fill&w=320", + thenLabel: "Student at Bellevue College", + nowLabel: "Software Engineer II at Boeing", + quote: + "As an international student in a programming major, you guys totally helped me start my career path! I had CodeDay Labs as my first experience, Meta as my second, and Microsoft as my third — and this last one gave me a full-time return offer.", + }, + { + name: "Kelly Dong", + photoUrl: + "https://f2.codeday.org/d5pti1xheuyu/1cEMO2exWuCteESR5E0dzf/7a80d8c52958c77257f6be693223522c/Kelly_Dong.jpeg?h=320&fit=fill&w=320", + thenLabel: "Student at New York City College", + nowLabel: "Software Engineer at BNY", + quote: + "I loved being able to work as a team and gain real world experience about coding but at the same time also having the opportunity to learn something new.", + }, + { + name: "Daniel Lobaton", + photoUrl: + "https://f2.codeday.org/d5pti1xheuyu/50CgDg3alYgGekfYS3lLmd/b1be3c8a0f56fef878aa1ec5c8a21992/Daniel_Lobaton.jpg?h=320&fit=fill&w=320", + thenLabel: "Student at University of Florida", + nowLabel: "Software Engineer at Microsoft", + quote: + "Being a Venezuelan immigrant, Labs was the first time that I got true exposure to a community of tech people that I could rely on. Fast forward a couple of years and now I'm three and a half months away from graduating college and have a job as a SWE at the Microsoft HQ right after I graduate.", + }, +]; + + +export default function StoryList(props: any) { + return ( + + {ALUMNI_STORIES.map((story) => ( + + + + {story.name} + + + + {story.name} + + + {story.thenLabel} + + + Now: {story.nowLabel} + + + + + “{story.quote}” + + + ))} + + ); +} diff --git a/apps/www/src/components/Donate/stories.ts b/apps/www/src/components/Donate/stories.ts deleted file mode 100644 index 72e439c..0000000 --- a/apps/www/src/components/Donate/stories.ts +++ /dev/null @@ -1,31 +0,0 @@ -export interface AlumniStory { - name: string; - photoUrl: string; - thenLabel: string; - nowLabel: string; - quote: string; -} - -// Sourced from real CodeDay Labs testimonials (graph.codeday.org, cms.testimonials). -// Confirm each person's current title/employer and get their OK to be featured in a -// donation appeal (a higher bar than a general testimonial) before this goes live. -export const ALUMNI_STORIES: AlumniStory[] = [ - { - name: "Luiza Cartaxo", - photoUrl: - "https://f2.codeday.org/d5pti1xheuyu/4ZIbKznpY100CznvLxg0ob/83f81f937519a2243577d68872f6e771/Maria-Luiza-Cartaxo-Picture-768x1024.jpeg?h=320&fit=fill&w=320", - thenLabel: "International student, first internship", - nowLabel: "Software Engineer at Microsoft", - quote: - "As an international student in a programming major, you guys totally helped me start my career path! I had CodeDay Labs as my first experience, Meta as my second, and Microsoft as my third — and this last one gave me a full-time return offer.", - }, - { - name: "Daniel Lobaton", - photoUrl: - "https://f2.codeday.org/d5pti1xheuyu/50CgDg3alYgGekfYS3lLmd/b1be3c8a0f56fef878aa1ec5c8a21992/Daniel_Lobaton.jpg?h=320&fit=fill&w=320", - thenLabel: "Venezuelan immigrant, new to the tech community", - nowLabel: "Incoming Software Engineer, Microsoft HQ", - quote: - "Labs was the first time I got true exposure to a community of tech people I could rely on. Fast forward a couple of years, and I have a job as a SWE at Microsoft HQ right after I graduate.", - }, -]; diff --git a/apps/www/src/pages/donate.tsx b/apps/www/src/pages/donate.tsx index f7f5238..3e31d3a 100644 --- a/apps/www/src/pages/donate.tsx +++ b/apps/www/src/pages/donate.tsx @@ -7,7 +7,8 @@ import { print } from "graphql"; import { GetStaticProps } from "next"; import EmploymentChart from "../components/Donate/EmploymentChart"; -import StoryCarousel from "../components/Donate/StoryCarousel"; +import PrestigeGapChart from "../components/Donate/PrestigeGapChart"; +import StoryList from "../components/Donate/StoryList"; import Page from "../components/Page"; import { DonateQuery } from "./donate.gql"; @@ -53,7 +54,6 @@ export default function Donate() { {m.www_donate_form_description({ mission: mission?.items?.[0]?.value.toLowerCase() })} - {/* Donate #1 */} @@ -61,24 +61,31 @@ export default function Donate() { + - + {m.www_donate_description()}{" "} {m.www_donate_impact_students()} - + + + + {m.www_donate_impact_line()} + + + {m.www_donate_stories_heading()} - - - {m.www_donate_impact_line()} + + {m.www_donate_stories_description()} - {/* Donate #2 */} + + diff --git a/packages/i18n/messages/en-us.json b/packages/i18n/messages/en-us.json index 3821bf4..4794d74 100644 --- a/packages/i18n/messages/en-us.json +++ b/packages/i18n/messages/en-us.json @@ -83,14 +83,17 @@ "www_contact_last_name": "Last Name", "www_contact_email": "Email", "www_contact_linkedin": "LinkedIn", - "www_donate_heading": "The job market failed this year's grads.", + "www_donate_heading": "The job market failed this year's grads:", "www_donate_description": "This year, CodeDay's work is more important than ever. We've helped tens of thousands of students get their footing in tech.", "www_donate_form_heading": "Make a Donation to CodeDay", "www_donate_form_description": "Your donation will advance our mission of {mission}.", "www_donate_disclaimer": "CodeDay is a 501(c)(3) non-profit, donations from US individuals and companies are tax-deductible.", - "www_donate_chart_heading": "Computer Science grads: unemployment rate by year", - "www_donate_chart_source": "Source: Federal Reserve Bank of New York, Labor Market for Recent College Graduates", - "www_donate_stories_heading": "Your gift supports students like...", + "www_donate_chart_employment_heading": "Computer Science grads: unemployment rate vs. the average major", + "www_donate_chart_employment_source": "Source: Federal Reserve Bank of New York, Labor Market for Recent College Graduates", + "www_donate_chart_prestige_heading": "Share of employers exclusively recruiting from a short list of \"target schools\"", + "www_donate_chart_prestige_source": "Source: Veris Insights employer survey", + "www_donate_stories_heading": "Your gift will directly transform a student's life:", + "www_donate_stories_description": "CodeDay completely changes the game for grads. Here are some examples:", "www_donate_impact_line": "$35/mo fully funds one student per year to get CodeDay Labs mentorship and get their first job in tech", "www_donate_impact_students": "Can you help us support one more?", "www_data_heading": "CodeDay Open Data Repository", From 96f163929fb8ff8070c312e2bc4cd1f981d3fd2b Mon Sep 17 00:00:00 2001 From: Lola Date: Mon, 24 Aug 2026 17:39:33 -0500 Subject: [PATCH 4/6] fix misquote --- apps/www/src/components/Donate/StoryList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/www/src/components/Donate/StoryList.tsx b/apps/www/src/components/Donate/StoryList.tsx index 7efa300..df734c9 100644 --- a/apps/www/src/components/Donate/StoryList.tsx +++ b/apps/www/src/components/Donate/StoryList.tsx @@ -18,7 +18,7 @@ export const ALUMNI_STORIES: AlumniStory[] = [ thenLabel: "Student at Bellevue College", nowLabel: "Software Engineer II at Boeing", quote: - "As an international student in a programming major, you guys totally helped me start my career path! I had CodeDay Labs as my first experience, Meta as my second, and Microsoft as my third — and this last one gave me a full-time return offer.", + "As an international student in a programming major, you guys totally helped me to start my wonderful career path! In a three years degree, I had you guys as my first experience, Meta as my second, and Microsoft as my third, and this last one gave me a full time return offer.", }, { name: "Kelly Dong", From 785fa04e208adeb74a72daa067db07e989911ba9 Mon Sep 17 00:00:00 2001 From: Lola Date: Mon, 24 Aug 2026 17:54:04 -0500 Subject: [PATCH 5/6] some more small changes and end everything with callback --- apps/www/src/pages/donate.tsx | 15 ++++++++------- packages/i18n/messages/en-us.json | 3 ++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/www/src/pages/donate.tsx b/apps/www/src/pages/donate.tsx index 3e31d3a..c4aaf2e 100644 --- a/apps/www/src/pages/donate.tsx +++ b/apps/www/src/pages/donate.tsx @@ -50,9 +50,6 @@ export default function Donate() { {m.www_donate_form_heading()} - - {m.www_donate_form_description({ mission: mission?.items?.[0]?.value.toLowerCase() })} - @@ -70,12 +67,12 @@ export default function Donate() { - - - + {m.www_donate_impact_line()} + + {m.www_donate_stories_heading()} @@ -85,7 +82,11 @@ export default function Donate() { - + + + {m.www_donate_stories_closing()} + + diff --git a/packages/i18n/messages/en-us.json b/packages/i18n/messages/en-us.json index 4794d74..3b20a48 100644 --- a/packages/i18n/messages/en-us.json +++ b/packages/i18n/messages/en-us.json @@ -94,8 +94,9 @@ "www_donate_chart_prestige_source": "Source: Veris Insights employer survey", "www_donate_stories_heading": "Your gift will directly transform a student's life:", "www_donate_stories_description": "CodeDay completely changes the game for grads. Here are some examples:", - "www_donate_impact_line": "$35/mo fully funds one student per year to get CodeDay Labs mentorship and get their first job in tech", + "www_donate_impact_line": "$35/month over the next year fully funds one student through our pathway: from their first line of code to their first job offer in tech.", "www_donate_impact_students": "Can you help us support one more?", + "www_donate_stories_closing": "Their stories started because someone gave. Can we count on you to support the next student?", "www_data_heading": "CodeDay Open Data Repository", "www_eco_heading": "Ecological Footprint", "www_press_kit": "Press Kit", From 1ce54c8c028878eb81178458f5233ca524b9212d Mon Sep 17 00:00:00 2001 From: Lola Date: Mon, 24 Aug 2026 18:14:53 -0500 Subject: [PATCH 6/6] minor styling changes on graphs --- apps/www/src/components/Donate/EmploymentChart.tsx | 2 +- apps/www/src/components/Donate/PrestigeGapChart.tsx | 2 +- packages/i18n/messages/en-us.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/www/src/components/Donate/EmploymentChart.tsx b/apps/www/src/components/Donate/EmploymentChart.tsx index 5282ac6..46cc6d1 100644 --- a/apps/www/src/components/Donate/EmploymentChart.tsx +++ b/apps/www/src/components/Donate/EmploymentChart.tsx @@ -35,7 +35,7 @@ export default function EmploymentChart(props: any) { return ( - + {m.www_donate_chart_employment_heading()} diff --git a/apps/www/src/components/Donate/PrestigeGapChart.tsx b/apps/www/src/components/Donate/PrestigeGapChart.tsx index 5b22bff..f9d29bd 100644 --- a/apps/www/src/components/Donate/PrestigeGapChart.tsx +++ b/apps/www/src/components/Donate/PrestigeGapChart.tsx @@ -27,7 +27,7 @@ export default function PrestigeGapChart(props: any) { const mostRecentYear = SHORTLIST_ONLY_BY_YEAR[SHORTLIST_ONLY_BY_YEAR.length - 1].year; return ( - + {m.www_donate_chart_prestige_heading()} diff --git a/packages/i18n/messages/en-us.json b/packages/i18n/messages/en-us.json index 3b20a48..6bbd501 100644 --- a/packages/i18n/messages/en-us.json +++ b/packages/i18n/messages/en-us.json @@ -88,9 +88,9 @@ "www_donate_form_heading": "Make a Donation to CodeDay", "www_donate_form_description": "Your donation will advance our mission of {mission}.", "www_donate_disclaimer": "CodeDay is a 501(c)(3) non-profit, donations from US individuals and companies are tax-deductible.", - "www_donate_chart_employment_heading": "Computer Science grads: unemployment rate vs. the average major", + "www_donate_chart_employment_heading": "Computer Science grads: unemployment rate vs. other college majors", "www_donate_chart_employment_source": "Source: Federal Reserve Bank of New York, Labor Market for Recent College Graduates", - "www_donate_chart_prestige_heading": "Share of employers exclusively recruiting from a short list of \"target schools\"", + "www_donate_chart_prestige_heading": "Share of employers exclusively recruiting from a short list of \"target\" colleges", "www_donate_chart_prestige_source": "Source: Veris Insights employer survey", "www_donate_stories_heading": "Your gift will directly transform a student's life:", "www_donate_stories_description": "CodeDay completely changes the game for grads. Here are some examples:",