@@ -19,6 +19,7 @@ import { Tag } from "@/app/conf/_design-system/tag"
1919import { eventsColors } from "../../utils"
2020import { PinIcon } from "../../pixelarticons/pin-icon"
2121import { CalendarIcon } from "../../pixelarticons/calendar-icon"
22+ import { SpeakerCard } from "../../components/speaker-card"
2223
2324function getEventTitle ( event : ScheduleSession , speakers : string [ ] ) : string {
2425 let { name } = event
@@ -80,14 +81,17 @@ export default function SessionPage({ params }: SessionProps) {
8081 )
8182
8283 return (
83- < main className = "gql-all-anchors-focusable gql-conf-container gql-conf-section " >
84- < NavbarPlaceholder className = "top-0 bg-neu-0 before:bg-white/40 dark:bg-pri-darker dark:before:bg-blk/30" />
84+ < main className = "gql-all-anchors-focusable" >
85+ < NavbarPlaceholder className = "top-0 bg-neu-0 before:bg-white/40 dark:bg-neu-0 dark:before:bg-blk/30" />
8586 < div className = "gql-conf-container gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30" >
86- < div className = "py-10" >
87+ < div className = "mx-auto max-w-[1088px] py-10" >
8788 < section className = "mx-auto min-h-[80vh] flex-col justify-center px-2 sm:px-0 lg:justify-between" >
8889 < SessionHeader event = { event } eventTitle = { eventTitle } />
8990 < SessionVideo event = { event } eventTitle = { eventTitle } />
90- < p > { event . description } </ p >
91+ < SessionSpeakers event = { event } />
92+ < p className = "py-8 typography-body-lg lg:py-10" >
93+ { event . description }
94+ </ p >
9195
9296 < div className = "py-8" >
9397 { event . files ?. map ( ( { path } ) => (
@@ -163,57 +167,20 @@ function SessionHeader({
163167 </ div >
164168 < SessionTags session = { event } />
165169 </ div >
166-
167- < div className = "mt-8 flex flex-col flex-wrap gap-5 lg:flex-row" >
168- { event . speakers ! . map ( speaker => (
169- < div
170- className = { `flex w-full items-center gap-3 ${ event ?. speakers ?. length || 0 > 1 ? "max-w-[320px]" : "" } ` }
171- key = { speaker . username }
172- >
173- < Avatar
174- className = "size-[100px] lg:size-[120px]"
175- avatar = { speaker . avatar }
176- name = { speaker . name }
177- />
178-
179- < div className = "flex flex-col gap-1.5 lg:gap-1" >
180- < a
181- href = { `/conf/2024/speakers/${ speaker . username } ` }
182- className = "mt-0 typography-body-lg"
183- >
184- { speaker . name }
185- </ a >
186-
187- < span className = "typography-body-sm" >
188- < span > { speaker . company } </ span >
189- { speaker . company && ", " }
190- { speaker . position }
191- </ span >
192- { speaker . socialurls ?. length ? (
193- < div className = "mt-0 text-[#333333]" >
194- < div className = "flex space-x-2" >
195- { speaker . socialurls . map ( social => (
196- < a
197- key = { social . url }
198- href = { social . url }
199- target = "_blank"
200- rel = "noreferrer"
201- className = "flex items-center text-blk"
202- >
203- < SocialMediaIcon
204- service = {
205- social . service . toLowerCase ( ) as SocialMediaIconServiceType
206- }
207- />
208- </ a >
209- ) ) }
210- </ div >
211- </ div >
212- ) : null }
213- </ div >
214- </ div >
215- ) ) }
216- </ div >
217170 </ header >
218171 )
219172}
173+
174+ function SessionSpeakers ( { event } : { event : ScheduleSession } ) {
175+ return (
176+ < div className = "mt-8 flex flex-col flex-wrap gap-5 lg:flex-row" >
177+ { event . speakers ! . map ( speaker => (
178+ < SpeakerCard
179+ key = { speaker . username }
180+ speaker = { speaker }
181+ year = "2025"
182+ />
183+ ) ) }
184+ </ div >
185+ )
186+ }
0 commit comments