From 8501e9f682da2aadc67e37bdeaf0b66110890ab9 Mon Sep 17 00:00:00 2001 From: Ruizhi Chen Date: Fri, 11 Sep 2026 19:10:44 -0400 Subject: [PATCH 1/2] Add LinkedIn and website icons to team profiles --- src/components/ui/icons.tsx | 23 ++++++++++++++++++ src/features/home/TeamSection.module.css | 20 +++++++++++++-- src/features/home/TeamSection.tsx | 31 +++++++++++++----------- 3 files changed, 58 insertions(+), 16 deletions(-) diff --git a/src/components/ui/icons.tsx b/src/components/ui/icons.tsx index a7cc6b7..852a1e6 100644 --- a/src/components/ui/icons.tsx +++ b/src/components/ui/icons.tsx @@ -53,3 +53,26 @@ export function MailIcon() { ) } + +export function LinkedInIcon() { + return ( + + ) +} + +export function WebsiteIcon() { + return ( + + + + + ) +} diff --git a/src/features/home/TeamSection.module.css b/src/features/home/TeamSection.module.css index b8d3b5f..129e1bb 100644 --- a/src/features/home/TeamSection.module.css +++ b/src/features/home/TeamSection.module.css @@ -31,8 +31,24 @@ transform: rotate(-0.3deg); } -.person a { - display: inline-block; +.person .profileLink { + display: inline-flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + margin-top: 6px; + color: var(--ink-muted); + border-radius: 6px; +} + +.profileLink:hover { + color: var(--blue-deep); +} + +.profileLink:focus-visible { + outline: 2px solid var(--blue-deep); + outline-offset: 2px; } .avatar { diff --git a/src/features/home/TeamSection.tsx b/src/features/home/TeamSection.tsx index f13c016..ab78b39 100644 --- a/src/features/home/TeamSection.tsx +++ b/src/features/home/TeamSection.tsx @@ -1,3 +1,4 @@ +import { LinkedInIcon, WebsiteIcon } from '~/components/ui/icons' import { Pin } from '~/components/ui/Pin' import { Section } from '~/components/ui/Section' import { founders, judge, staff, type Person } from '~/data/team' @@ -6,7 +7,7 @@ import typography from '~/styles/typography.module.css' import styles from './TeamSection.module.css' function Avatar({ person }: { person: Person }) { - const img = ( + return ( ) - - if (!person.href) return img - - return ( - - {img} - - ) } function PersonCard({ person, wide }: { person: Person; wide?: boolean }) { @@ -39,6 +27,21 @@ function PersonCard({ person, wide }: { person: Person; wide?: boolean }) {

{person.name}

{person.role}

+ {person.href && ( + + {new URL(person.href).hostname === 'www.linkedin.com' ? ( + + ) : ( + + )} + + )} {person.bio && (
read her bio ↓ From 1262456374b73908dd67f83089626f0849137cc7 Mon Sep 17 00:00:00 2001 From: Ruizhi Chen Date: Fri, 11 Sep 2026 19:12:18 -0400 Subject: [PATCH 2/2] Pin js-yaml to patched version 3.15.2 --- bun.lock | 3 ++- package.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bun.lock b/bun.lock index 2b79ebf..6f783e4 100644 --- a/bun.lock +++ b/bun.lock @@ -24,6 +24,7 @@ }, }, "overrides": { + "js-yaml": "3.15.2", "lighthouse": "13.4.1", "nanoid": "3.3.18", "tmp": "0.2.7", @@ -429,7 +430,7 @@ "js-library-detector": ["js-library-detector@6.7.0", "", {}, "sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA=="], - "js-yaml": ["js-yaml@3.15.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag=="], + "js-yaml": ["js-yaml@3.15.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w=="], "leaflet": ["leaflet@1.9.4", "", {}, "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA=="], diff --git a/package.json b/package.json index 7d18d51..b913165 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "react-dom": "^19.2.8" }, "overrides": { + "js-yaml": "3.15.2", "lighthouse": "13.4.1", "nanoid": "3.3.18", "tmp": "0.2.7"