Skip to content

Commit ccc1928

Browse files
authored
Add Authors (#1)
1 parent 04e42e6 commit ccc1928

File tree

10 files changed

+67
-15
lines changed

10 files changed

+67
-15
lines changed

packages/nextjs/app/sessions.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ export enum SessionType {
77
CHALLENGE = "challenge",
88
}
99

10+
export type Speaker = {
11+
name: string;
12+
image: string;
13+
};
14+
1015
export interface Session {
1116
title: string;
1217
date: string;
@@ -16,6 +21,7 @@ export interface Session {
1621
dayOfWeek: string;
1722
dateString: string;
1823
type: SessionType;
24+
speaker?: Speaker;
1925
}
2026

2127
export const sessionTypeColors = {
@@ -27,6 +33,37 @@ export const sessionTypeColors = {
2733
[SessionType.CHALLENGE]: "bg-indigo-200 border-indigo-300 text-indigo-800",
2834
};
2935

36+
export const SPEAKERS = {
37+
AUSTIN: {
38+
name: "Austin Griffith",
39+
image: "/speakers/austin.png",
40+
},
41+
CARLOS: {
42+
name: "Carlos Sánchez",
43+
image: "/speakers/carlos.jpg",
44+
},
45+
PABLO: {
46+
name: "Pablo Alayeto",
47+
image: "/speakers/pablo.png",
48+
},
49+
PHILIP: {
50+
name: "Philip Krause",
51+
image: "/speakers/philip.png",
52+
},
53+
ELLIOT: {
54+
name: "Elliott Alexander",
55+
image: "/speakers/elliot.png",
56+
},
57+
HORSEFACTS: {
58+
name: "Horsefacts",
59+
image: "/speakers/horsefacts.jpg",
60+
},
61+
SHYAM: {
62+
name: "Shyam",
63+
image: "/speakers/shyam.jpg",
64+
},
65+
};
66+
3067
export const sessions: Session[] = [
3168
// Tuesday 18
3269
{
@@ -50,6 +87,7 @@ export const sessions: Session[] = [
5087
dayOfWeek: "Tuesday",
5188
dateString: "November 18",
5289
type: SessionType.WORKSHOP,
90+
speaker: SPEAKERS.AUSTIN,
5391
},
5492
{
5593
title: "Introduction to SpeedRunEthereum",
@@ -72,6 +110,7 @@ export const sessions: Session[] = [
72110
dayOfWeek: "Tuesday",
73111
dateString: "November 18",
74112
type: SessionType.CHALLENGE,
113+
speaker: SPEAKERS.ELLIOT,
75114
},
76115
{
77116
title: "BG Office hours / Mentoring",
@@ -96,6 +135,7 @@ export const sessions: Session[] = [
96135
dayOfWeek: "Wednesday",
97136
dateString: "November 19",
98137
type: SessionType.CHALLENGE,
138+
speaker: SPEAKERS.PHILIP,
99139
},
100140
{
101141
title: "Challenge 3: ZK",
@@ -118,6 +158,7 @@ export const sessions: Session[] = [
118158
dayOfWeek: "Wednesday",
119159
dateString: "November 19",
120160
type: SessionType.WORKSHOP,
161+
speaker: SPEAKERS.PABLO,
121162
},
122163
{
123164
title: "Live vibe coding (game + play)",
@@ -129,6 +170,7 @@ export const sessions: Session[] = [
129170
dayOfWeek: "Wednesday",
130171
dateString: "November 19",
131172
type: SessionType.WORKSHOP,
173+
speaker: SPEAKERS.AUSTIN,
132174
},
133175
{
134176
title: "BG Office hours / Mentoring",
@@ -153,6 +195,7 @@ export const sessions: Session[] = [
153195
dayOfWeek: "Thursday",
154196
dateString: "November 20",
155197
type: SessionType.WORKSHOP,
198+
speaker: SPEAKERS.HORSEFACTS,
156199
},
157200
{
158201
title: "PMfers live / Interview / Panel",
@@ -164,6 +207,7 @@ export const sessions: Session[] = [
164207
dayOfWeek: "Thursday",
165208
dateString: "November 20",
166209
type: SessionType.PANEL,
210+
speaker: SPEAKERS.AUSTIN,
167211
},
168212
{
169213
title: "Capture the Flag",
@@ -175,6 +219,7 @@ export const sessions: Session[] = [
175219
dayOfWeek: "Thursday",
176220
dateString: "November 20",
177221
type: SessionType.CTF,
222+
speaker: SPEAKERS.CARLOS,
178223
},
179224

180225
// Friday 21
@@ -188,6 +233,7 @@ export const sessions: Session[] = [
188233
dayOfWeek: "Friday",
189234
dateString: "November 21",
190235
type: SessionType.STUDENTS,
236+
speaker: SPEAKERS.SHYAM,
191237
},
192238
{
193239
title: "Founder speed dating / Pitch your idea",

packages/nextjs/components/ScheduleCalendar.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,9 @@ export const ScheduleCalendar = () => {
9999
<h3 className="font-semibold text-sm leading-tight mb-1">{session.title}</h3>
100100
</div>
101101
<div>
102-
<p className="text-xs opacity-75">
103-
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}
102+
<p className="text-xs opacity-75 m-0">
103+
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}{" "}
104+
{session.speaker && <span className="font-bold">- {session.speaker.name}</span>}
104105
</p>
105106
</div>
106107
</div>

packages/nextjs/components/SessionModal.tsx

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use client";
22

3+
import Image from "next/image";
34
import { Session, formatTo12Hour } from "~~/app/sessions";
45

56
interface SessionModalProps {
@@ -16,30 +17,34 @@ export const SessionModal = ({ session, isOpen, onClose }: SessionModalProps) =>
1617
<div className="modal-box max-w-2xl">
1718
<div className="flex justify-between items-start mb-4">
1819
<div>
19-
<h3 className="font-bold text-lg text-primary">{session.title}</h3>
20-
<p className="text-sm text-base-content/70">
20+
<h3 className="font-bold text-lg text-primary mb-0">{session.title}</h3>
21+
{session.speaker && (
22+
<div className="flex items-center gap-2">
23+
<Image
24+
src={session.speaker.image}
25+
alt={session.speaker.name}
26+
width={32}
27+
height={32}
28+
className="rounded-full"
29+
/>
30+
<p className="font-bold">{session.speaker.name}</p>
31+
</div>
32+
)}
33+
<p className="text-sm text-base-content/70 m-0">
2134
{session.dayOfWeek}, {session.dateString}
2235
</p>
23-
<p className="text-sm text-base-content/70">
36+
<p className="text-sm text-base-content/70 mt-0 m-0">
2437
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}
2538
</p>
2639
</div>
27-
<button className="btn btn-sm btn-circle btn-ghost" onClick={onClose}>
40+
<button className="btn btn-lg btn-circle btn-ghost" onClick={onClose}>
2841
2942
</button>
3043
</div>
3144

3245
<div className="divider"></div>
3346

34-
<div className="py-4">
35-
<p className="text-base leading-relaxed">{session.description}</p>
36-
</div>
37-
38-
<div className="modal-action">
39-
<button className="btn btn-primary" onClick={onClose}>
40-
Close
41-
</button>
42-
</div>
47+
<p className="text-base leading-relaxed">{session.description}</p>
4348
</div>
4449
<div className="modal-backdrop" onClick={onClose}></div>
4550
</div>
21.7 KB
Loading
20.7 KB
Loading
21.3 KB
Loading
33.7 KB
Loading
36.2 KB
Loading
45.7 KB
Loading
60.2 KB
Loading

0 commit comments

Comments
 (0)