@@ -9,6 +9,7 @@ import rajeevRajan from "./speakers/rajeev-rajan.webp"
99import tenmaiGopal from "./speakers/tenmai-gopal.webp"
1010import uriGoldshtein from "./speakers/uri-goldshtein.webp"
1111import TwitterIcon from "@/icons/twitter.svg"
12+ import { Button } from "@/app/conf/_design-system/button"
1213
1314interface TopMindsSectionProps extends HTMLAttributes < HTMLElement > { }
1415
@@ -19,47 +20,47 @@ export default function TopMindsSection({
1920 return (
2021 < section
2122 className = { clsx (
22- "flex gap-6 px-4 py-8 text-neu-900 max-md:flex-col lg:px-12 xl:gap-x-24 xl:px-24" ,
23+ "px-4 py-8 text-neu-900 max-md:flex-col lg:px-12 xl:gap-x-24 xl:px-24" ,
2324 className ,
2425 ) }
2526 { ...rest }
2627 >
27- < h3 className = "typography-h2" > Meet the top industry minds</ h3 >
28- < div className = "grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3" >
28+ < div className = "flex flex-wrap max-sm:flex-col" >
29+ { /* todo: look up socials */ }
30+ < h3 className = "grow pb-6 pr-6 typography-h2" >
31+ Meet the top industry minds
32+ </ h3 >
2933 < SpeakerCard
3034 name = "Uri Goldshtein"
3135 title = "The Guild — Founder"
3236 src = { uriGoldshtein }
33- twitterHref = "UriGoldshtein"
34- linkedinHref = "uri-goldshtein-88986749"
3537 />
3638 < SpeakerCard
3739 name = "Elizabeth Stone"
3840 title = "Netflix — CTO"
3941 src = { elizabethStone }
4042 linkedinHref = "https://www.linkedin.com/in/elizabeth-stone-608a754/"
4143 />
42- < SpeakerCard
43- name = "Kamil Kisiela"
44- title = "The Guild — Developer"
45- src = { kamilKisiela }
46- twitterHref = "kamilkisiela"
47- linkedinHref = "kamilkisiela"
48- />
49- < SpeakerCard
50- name = "Rajeev Rajan"
51- title = "Atlassian — CTO"
52- src = { rajeevRajan }
53- twitterHref = "rajeevrajango"
54- linkedinHref = "rajeev-rajan"
55- />
56- < SpeakerCard
57- name = "Tenmai Gopal"
58- title = "Hasura — CEO & Co-Founder"
59- src = { tenmaiGopal }
60- twitterHref = "tenmaigopal"
61- linkedinHref = "tenmai"
62- />
44+ < div className = "flex grow max-sm:contents" >
45+ < SpeakerCard
46+ name = "Kamil Kisiela"
47+ title = "The Guild — Developer"
48+ src = { kamilKisiela }
49+ />
50+ < SpeakerCard
51+ name = "Rajeev Rajan"
52+ title = "Atlassian — CTO"
53+ src = { rajeevRajan }
54+ />
55+ < SpeakerCard
56+ name = "Tenmai Gopal"
57+ title = "Hasura — CEO & Co-Founder"
58+ src = { tenmaiGopal }
59+ />
60+ < div className = "mt-6 flex grow items-end justify-end pl-6" >
61+ < Button variant = "secondary" > View all speakers</ Button >
62+ </ div >
63+ </ div >
6364 </ div >
6465 </ section >
6566 )
@@ -71,51 +72,58 @@ function SpeakerCard({
7172 src,
7273 twitterHref,
7374 linkedinHref,
75+ className,
7476} : {
7577 name : string
7678 title : string
7779 src : string | StaticImageData
7880 twitterHref ?: string
7981 linkedinHref ?: string
82+ className ?: string
8083} ) {
8184 return (
82- < article className = "group flex flex-col" >
83- < div className = "relative aspect-square w-full overflow-hidden border border-[#83BD02]" >
84- < Image
85- src = { src }
86- alt = ""
87- width = { 236 }
88- height = { 236 }
89- className = "size-full object-cover transition-transform duration-300"
90- />
91- </ div >
92- < div className = "flex items-center justify-between border border-t-0 border-[#83BD02] p-3" >
93- < div className = "flex flex-col gap-1" >
94- < h4 className = "font-medium typography-body-md" > { name } </ h4 >
95- < p className = "text-neu-700 typography-body-sm" > { title } </ p >
96- </ div >
97- < div className = "flex gap-3" >
98- { twitterHref && (
99- < a
100- href = { twitterHref }
101- target = "_blank"
102- rel = "noopener noreferrer"
103- className = "text-neu-700 transition-colors hover:text-neu-900"
104- >
105- < TwitterIcon className = "size-6" />
106- </ a >
107- ) }
108- { linkedinHref && (
109- < a
110- href = { linkedinHref }
111- target = "_blank"
112- rel = "noopener noreferrer"
113- className = "text-neu-700 transition-colors hover:text-neu-900"
114- >
115- < LinkedInIcon />
116- </ a >
117- ) }
85+ < article
86+ className = { clsx (
87+ ":border-r border-y border-r border-sec-dark first-of-type:border-l" ,
88+ className ,
89+ ) }
90+ >
91+ < Image
92+ src = { src }
93+ alt = ""
94+ width = { 236 }
95+ height = { 236 }
96+ className = "aspect-square size-[236px] w-full object-cover transition-transform"
97+ />
98+ < div className = "flex items-stretch border-t border-sec-dark" >
99+ < div className = "flex grow flex-col gap-1 p-3" >
100+ < h4 className = "typography-body-md" > { name } </ h4 >
101+ < p className = "text-neu-700 typography-body-xs" > { title } </ p >
118102 </ div >
103+ { ( linkedinHref || twitterHref ) && (
104+ < div className = "flex items-center border-l border-sec-dark sm:flex-col sm:border-l" >
105+ { linkedinHref && (
106+ < a
107+ href = { linkedinHref }
108+ target = "_blank"
109+ rel = "noopener noreferrer"
110+ className = "flex grow items-center justify-center p-4 transition-colors hover:text-neu-700 dark:hover:text-neu-400 sm:p-2"
111+ >
112+ < LinkedInIcon />
113+ </ a >
114+ ) }
115+ { twitterHref && (
116+ < a
117+ href = { twitterHref }
118+ target = "_blank"
119+ rel = "noopener noreferrer"
120+ className = "flex grow items-center justify-center p-4 transition-colors hover:text-neu-700 dark:hover:text-neu-400 sm:p-2"
121+ >
122+ < TwitterIcon className = "size-6" />
123+ </ a >
124+ ) }
125+ </ div >
126+ ) }
119127 </ div >
120128 </ article >
121129 )
0 commit comments