From 21ad3c7920d816976439c38d2f0ce1e2f33623f0 Mon Sep 17 00:00:00 2001 From: roslyn-maloney Date: Fri, 16 Jan 2026 20:30:37 -0500 Subject: [PATCH 1/2] added param for liveSite that toggles icons --- .../src/KeynoteSpeakerAssets/KeynoteCard.tsx | 22 +++++++ packages/ui/src/KeynoteSpeakerSection.tsx | 11 ++++ packages/ui/src/LocationIcon.tsx | 64 +++++++++++++++++++ packages/ui/src/TimeIcon.tsx | 64 +++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 packages/ui/src/LocationIcon.tsx create mode 100644 packages/ui/src/TimeIcon.tsx diff --git a/packages/ui/src/KeynoteSpeakerAssets/KeynoteCard.tsx b/packages/ui/src/KeynoteSpeakerAssets/KeynoteCard.tsx index 4485e887..b7cd1f31 100644 --- a/packages/ui/src/KeynoteSpeakerAssets/KeynoteCard.tsx +++ b/packages/ui/src/KeynoteSpeakerAssets/KeynoteCard.tsx @@ -1,16 +1,24 @@ import * as React from "react"; import { SVGProps } from "react"; +import TimeIcon from "../TimeIcon"; +import LocationIcon from "../LocationIcon"; interface KeynoteCardProps extends SVGProps { header: string; text: string; bio: string; + isLive: boolean; + location: string; + time: string; } const KeynoteCard: React.FC = ({ header, text, bio, + isLive, + location, + time, ...props }) => (
@@ -22,6 +30,20 @@ const KeynoteCard: React.FC = ({

{bio}

+ {isLive && ( +
+
+ + {location} +
+ +
+ + {time} +
+
+ )} +

{text}

diff --git a/packages/ui/src/KeynoteSpeakerSection.tsx b/packages/ui/src/KeynoteSpeakerSection.tsx index 8e897258..4dd96fd2 100644 --- a/packages/ui/src/KeynoteSpeakerSection.tsx +++ b/packages/ui/src/KeynoteSpeakerSection.tsx @@ -8,18 +8,23 @@ import KeynoteSpeakerPhoto from "./KeynoteSpeakerAssets/KeynoteSpeakerPhoto"; import RibbonTitle from "@repo/ui/RibbonTitle"; import KeynoteTopSquiggle from "./KeynoteSpeakerAssets/KeynoteTopSquiggle"; + export default function Keynote(): React.ReactNode { const { isMobile } = useDevice(); const sueData = { header: "Sue Harnett", bio: "CEO of Rewriting the Code", text: "Sue Harnett is the Founder & CEO of Rewriting the Code, the nonprofit she launched in 2017 that has grown into a global community of 38,000+ university and early-career women in tech, offering mentorship, education, and career-readiness programs. She will be speaking about women in technology, and the value of community, teamwork, and thoughtful leadership!", + location: "Zone A", + time: "Friday, 1pm", }; const jessicaData = { header: "Jessica Cao", bio: "Stanford CS '26 / Founder of World37", text: "Jessica Cao is an undergraduate studying Computer Science at Stanford University, and the founder of World37, an AI-powered storytelling platform where players can engage with, create, and share their own unique stories. She will be speaking about the art of pitching a technical project!", + location: "Zone A", + time: "Friday, 1pm", }; return ( @@ -66,6 +71,9 @@ export default function Keynote(): React.ReactNode { header={sueData.header} bio={sueData.bio} text={sueData.text} + isLive={false} + location={sueData.location} + time={sueData.time} />
@@ -94,6 +102,9 @@ export default function Keynote(): React.ReactNode { header={jessicaData.header} bio={jessicaData.bio} text={jessicaData.text} + isLive={false} + location={jessicaData.location} + time={jessicaData.time} /> diff --git a/packages/ui/src/LocationIcon.tsx b/packages/ui/src/LocationIcon.tsx new file mode 100644 index 00000000..0e19b606 --- /dev/null +++ b/packages/ui/src/LocationIcon.tsx @@ -0,0 +1,64 @@ +import * as React from "react"; +const LocationIcon = () => ( + + + + + + + + + + + + + +); +export default LocationIcon; diff --git a/packages/ui/src/TimeIcon.tsx b/packages/ui/src/TimeIcon.tsx new file mode 100644 index 00000000..3b5c4c64 --- /dev/null +++ b/packages/ui/src/TimeIcon.tsx @@ -0,0 +1,64 @@ +import * as React from "react"; +const TimeIcon = () => ( + + + + + + + + + + + + + +); +export default TimeIcon; From 5836a0ae46a50298bf84a6655d83032f9b2689be Mon Sep 17 00:00:00 2001 From: roslyn-maloney Date: Fri, 16 Jan 2026 20:34:57 -0500 Subject: [PATCH 2/2] Some linting changes --- apps/live/src/app/(landing)/Keynote.tsx | 6 +- apps/live/src/app/api/cabinPoints/route.ts | 2 +- packages/ui/src/KeynoteSpeakerSection.tsx | 1 - packages/ui/src/TimeIcon.tsx | 116 ++++++++++----------- 4 files changed, 60 insertions(+), 65 deletions(-) diff --git a/apps/live/src/app/(landing)/Keynote.tsx b/apps/live/src/app/(landing)/Keynote.tsx index e383945d..0f7a15ea 100644 --- a/apps/live/src/app/(landing)/Keynote.tsx +++ b/apps/live/src/app/(landing)/Keynote.tsx @@ -3,9 +3,5 @@ import React from "react"; export default function Keynote(): React.ReactNode { - - return ( -
-
- ); + return
; } diff --git a/apps/live/src/app/api/cabinPoints/route.ts b/apps/live/src/app/api/cabinPoints/route.ts index 782da255..2f5ee97b 100644 --- a/apps/live/src/app/api/cabinPoints/route.ts +++ b/apps/live/src/app/api/cabinPoints/route.ts @@ -25,7 +25,7 @@ export async function GET(req: NextRequest) { } catch (err) { return NextResponse.json( { error: `Request to get airtable data failed ${err}` }, - { status: 500 } + { status: 500 }, ); } } diff --git a/packages/ui/src/KeynoteSpeakerSection.tsx b/packages/ui/src/KeynoteSpeakerSection.tsx index 4dd96fd2..51085dad 100644 --- a/packages/ui/src/KeynoteSpeakerSection.tsx +++ b/packages/ui/src/KeynoteSpeakerSection.tsx @@ -8,7 +8,6 @@ import KeynoteSpeakerPhoto from "./KeynoteSpeakerAssets/KeynoteSpeakerPhoto"; import RibbonTitle from "@repo/ui/RibbonTitle"; import KeynoteTopSquiggle from "./KeynoteSpeakerAssets/KeynoteTopSquiggle"; - export default function Keynote(): React.ReactNode { const { isMobile } = useDevice(); const sueData = { diff --git a/packages/ui/src/TimeIcon.tsx b/packages/ui/src/TimeIcon.tsx index 3b5c4c64..a0343ad5 100644 --- a/packages/ui/src/TimeIcon.tsx +++ b/packages/ui/src/TimeIcon.tsx @@ -1,64 +1,64 @@ import * as React from "react"; const TimeIcon = () => ( - + + - + + + + + + - - - - - - - - - - - + + + ); export default TimeIcon;