Skip to content

Commit cce8bf4

Browse files
committed
Stop showing socials on speaker cards
1 parent 1f21ec6 commit cce8bf4

File tree

2 files changed

+44
-32
lines changed

2 files changed

+44
-32
lines changed

src/app/conf/2025/components/speaker-card.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export interface SpeakerCardProps extends React.HTMLAttributes<HTMLDivElement> {
1414
isReturning?: boolean
1515
stripes?: string
1616
speaker: SchedSpeaker
17+
showSocials?: boolean
1718
year: string
1819
}
1920

@@ -22,6 +23,7 @@ export function SpeakerCard({
2223
className,
2324
speaker,
2425
year,
26+
showSocials = true,
2527
...props
2628
}: SpeakerCardProps) {
2729
return (
@@ -33,7 +35,9 @@ export function SpeakerCard({
3335
{...props}
3436
>
3537
<div className="flex gap-6 p-6">
36-
<SpeakerLinks speaker={speaker} className="absolute right-6 top-6" />
38+
{showSocials && (
39+
<SpeakerLinks speaker={speaker} className="absolute right-6 top-6" />
40+
)}
3741
{speaker.avatar && (
3842
<div className="relative aspect-square shrink-0 overflow-hidden">
3943
<div className="absolute inset-0 z-[1] bg-sec-light mix-blend-multiply" />
@@ -55,7 +59,9 @@ export function SpeakerCard({
5559
</p>
5660
</div>
5761
{speaker.about && (
58-
<p className="typography-body-sm text-neu-800">{speaker.about}</p>
62+
<p className="typography-body-sm line-clamp-3 text-neu-800">
63+
{speaker.about}
64+
</p>
5965
)}
6066
{/* TODO: We'll have to collect it when fetching all sessions. */}
6167
{tags.length > 0 && (

src/app/conf/2025/schedule/[id]/page.tsx

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { SessionVideo } from "./session-video"
1212
import { NavbarPlaceholder } from "../../components/navbar"
1313
import { BackLink } from "../_components/back-link"
1414
import { Tag } from "@/app/conf/_design-system/tag"
15-
import { eventsColors } from "../../utils"
15+
import { eventsColors, getEventTitle } from "../../utils"
1616
import { PinIcon } from "../../pixelarticons/pin-icon"
1717
import { CalendarIcon } from "../../pixelarticons/calendar-icon"
1818
import { SpeakerCard } from "../../components/speaker-card"
@@ -64,35 +64,41 @@ export default function SessionPage({ params }: SessionProps) {
6464
<main className="gql-all-anchors-focusable">
6565
<NavbarPlaceholder className="top-0 bg-neu-0 before:bg-white/40 dark:bg-neu-0 dark:before:bg-blk/30" />
6666
<div className="gql-conf-container gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
67-
<div className="mx-auto max-w-[1088px] py-10">
68-
<section className="mx-auto min-h-[80vh] flex-col justify-center px-2 sm:px-0 lg:justify-between">
69-
<SessionHeader event={event} eventTitle={eventTitle} year="2025" />
70-
<SessionVideo event={event} eventTitle={eventTitle} />
71-
72-
<div className="mt-8 flex gap-4 max-lg:flex-col lg:mt-16 lg:gap-8">
73-
<h3 className="typography-h2 min-w-[320px]">
74-
Session description
67+
<div className="gql-conf-section">
68+
<div className="mx-auto max-w-[1088px] py-10">
69+
<section className="mx-auto min-h-[80vh] flex-col justify-center px-2 sm:px-0 lg:justify-between">
70+
<SessionHeader
71+
event={event}
72+
eventTitle={eventTitle}
73+
year="2025"
74+
/>
75+
<SessionVideo event={event} eventTitle={eventTitle} />
76+
77+
<div className="mt-8 flex gap-4 max-lg:flex-col lg:mt-16 lg:gap-8">
78+
<h3 className="typography-h2 min-w-[320px]">
79+
Session description
80+
</h3>
81+
<p className="typography-body-lg">{event.description}</p>
82+
</div>
83+
84+
<h3 className="typography-h2 my-8 max-w-[408px] lg:mb-16">
85+
Session speakers
7586
</h3>
76-
<p className="typography-body-lg">{event.description}</p>
77-
</div>
78-
79-
<h3 className="typography-h2 my-8 max-w-[408px] lg:my-16">
80-
Session speakers
81-
</h3>
82-
<SessionSpeakers event={event} />
83-
84-
<div className="py-8">
85-
{event.files?.map(({ path }) => (
86-
<div key={path}>
87-
<a href={path} target="_blank" rel="noreferrer">
88-
View Full PDF{" "}
89-
<span className="font-sans text-2xl font-light"></span>
90-
</a>
91-
<iframe src={path} className="aspect-video size-full" />
92-
</div>
93-
))}
94-
</div>
95-
</section>
87+
<SessionSpeakers event={event} />
88+
89+
<div className="py-8">
90+
{event.files?.map(({ path }) => (
91+
<div key={path}>
92+
<a href={path} target="_blank" rel="noreferrer">
93+
View Full PDF{" "}
94+
<span className="font-sans text-2xl font-light"></span>
95+
</a>
96+
<iframe src={path} className="aspect-video size-full" />
97+
</div>
98+
))}
99+
</div>
100+
</section>
101+
</div>
96102
</div>
97103
</div>
98104
</main>
@@ -183,7 +189,7 @@ function SessionHeader({
183189

184190
function SessionSpeakers({ event }: { event: ScheduleSession }) {
185191
return (
186-
<div className="flex flex-col flex-wrap gap-5 lg:flex-row">
192+
<div className="grid gap-5 lg:grid-cols-2">
187193
{event.speakers?.map(speaker => (
188194
<SpeakerCard key={speaker.username} speaker={speaker} year="2025" />
189195
))}

0 commit comments

Comments
 (0)