Skip to content

Commit 2844f7f

Browse files
authored
New people + workshops (#10)
1 parent 85e246a commit 2844f7f

File tree

6 files changed

+72
-35
lines changed

6 files changed

+72
-35
lines changed

packages/nextjs/app/sessions.ts

Lines changed: 52 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ export interface Session {
2121
dayOfWeek: string;
2222
dateString: string;
2323
type: SessionType;
24-
speaker?: Speaker;
24+
speaker?: Speaker[];
2525
}
2626

2727
export const sessionTypeColors = {
28-
[SessionType.WORKSHOP]: "bg-blue-300 border-blue-300",
29-
[SessionType.OFFICE_HOURS]: "bg-green-300 border-green-300",
30-
[SessionType.PANEL]: "bg-purple-300 border-purple-300",
31-
[SessionType.CTF]: "bg-red-300 border-red-300",
32-
[SessionType.STUDENTS]: "bg-orange-300 border-orange-300",
33-
[SessionType.CHALLENGE]: "bg-indigo-300 border-indigo-300",
28+
[SessionType.WORKSHOP]: "bg-blue-300",
29+
[SessionType.OFFICE_HOURS]: "bg-green-300",
30+
[SessionType.PANEL]: "bg-purple-300",
31+
[SessionType.CTF]: "bg-red-300",
32+
[SessionType.STUDENTS]: "bg-orange-300",
33+
[SessionType.CHALLENGE]: "bg-indigo-300",
3434
};
3535

3636
export const SPEAKERS = {
@@ -66,6 +66,18 @@ export const SPEAKERS = {
6666
name: "Shyam",
6767
image: "/speakers/shyam.jpg",
6868
},
69+
EDA: {
70+
name: "Eda Akturk",
71+
image: "/speakers/eda.jpg",
72+
},
73+
KEVIN: {
74+
name: "Kevin Jones",
75+
image: "/speakers/kevin.jpg",
76+
},
77+
SPENCER: {
78+
name: "Spencer Faber",
79+
image: "/speakers/spencer.jpg",
80+
},
6981
};
7082

7183
export const sessions: Session[] = [
@@ -80,7 +92,7 @@ export const sessions: Session[] = [
8092
dayOfWeek: "Tuesday",
8193
dateString: "November 18",
8294
type: SessionType.WORKSHOP,
83-
speaker: SPEAKERS.PATRICK,
95+
speaker: [SPEAKERS.PATRICK],
8496
},
8597
{
8698
title: "Build your first dApp on Ethereum",
@@ -92,7 +104,7 @@ export const sessions: Session[] = [
92104
dayOfWeek: "Tuesday",
93105
dateString: "November 18",
94106
type: SessionType.WORKSHOP,
95-
speaker: SPEAKERS.AUSTIN,
107+
speaker: [SPEAKERS.AUSTIN],
96108
},
97109
{
98110
title: "Introduction to SpeedRunEthereum",
@@ -104,6 +116,7 @@ export const sessions: Session[] = [
104116
dayOfWeek: "Tuesday",
105117
dateString: "November 18",
106118
type: SessionType.WORKSHOP,
119+
speaker: [SPEAKERS.AUSTIN],
107120
},
108121
{
109122
title: "Stablecoins",
@@ -115,7 +128,7 @@ export const sessions: Session[] = [
115128
dayOfWeek: "Tuesday",
116129
dateString: "November 18",
117130
type: SessionType.CHALLENGE,
118-
speaker: SPEAKERS.ELLIOT,
131+
speaker: [SPEAKERS.ELLIOT],
119132
},
120133
{
121134
title: "BG Office hours / Mentoring",
@@ -140,7 +153,7 @@ export const sessions: Session[] = [
140153
dayOfWeek: "Wednesday",
141154
dateString: "November 19",
142155
type: SessionType.CHALLENGE,
143-
speaker: SPEAKERS.PHILIP,
156+
speaker: [SPEAKERS.EDA],
144157
},
145158
{
146159
title: "Zero-Knowledge Proofs",
@@ -152,6 +165,7 @@ export const sessions: Session[] = [
152165
dayOfWeek: "Wednesday",
153166
dateString: "November 19",
154167
type: SessionType.CHALLENGE,
168+
speaker: [SPEAKERS.PHILIP],
155169
},
156170
{
157171
title: "Leveraging AI to build on Ethereum",
@@ -163,7 +177,7 @@ export const sessions: Session[] = [
163177
dayOfWeek: "Wednesday",
164178
dateString: "November 19",
165179
type: SessionType.WORKSHOP,
166-
speaker: SPEAKERS.PABLO,
180+
speaker: [SPEAKERS.PABLO],
167181
},
168182
{
169183
title: "Play a vibe coded game",
@@ -175,7 +189,7 @@ export const sessions: Session[] = [
175189
dayOfWeek: "Wednesday",
176190
dateString: "November 19",
177191
type: SessionType.WORKSHOP,
178-
speaker: SPEAKERS.AUSTIN,
192+
speaker: [SPEAKERS.AUSTIN],
179193
},
180194
{
181195
title: "BG Office hours / Mentoring",
@@ -191,7 +205,7 @@ export const sessions: Session[] = [
191205

192206
// Thursday 20
193207
{
194-
title: "Farcaster Miniapp (horsefacts)",
208+
title: "Farcaster Miniapps",
195209
date: "2025-11-20",
196210
startTime: "10:00",
197211
endTime: "11:00",
@@ -200,31 +214,43 @@ export const sessions: Session[] = [
200214
dayOfWeek: "Thursday",
201215
dateString: "November 20",
202216
type: SessionType.WORKSHOP,
203-
speaker: SPEAKERS.HORSEFACTS,
217+
speaker: [SPEAKERS.HORSEFACTS],
204218
},
205219
{
206-
title: "PMfers live / Panel",
220+
title: "Run your own Ethereum node",
207221
date: "2025-11-20",
208-
startTime: "11:30",
209-
endTime: "12:30",
222+
startTime: "11:00",
223+
endTime: "11:45",
224+
description:
225+
"Take control of your Ethereum experience by running your own node! Discover why node operators are the backbone of decentralization, learn the difference between execution and consensus clients, and walk through the complete setup process. We'll cover hardware requirements, client selection, and best practices for maintaining a secure, synced node that gives you trustless access to the Ethereum network.",
226+
dayOfWeek: "Thursday",
227+
dateString: "November 20",
228+
type: SessionType.WORKSHOP,
229+
speaker: [SPEAKERS.SPENCER],
230+
},
231+
{
232+
title: "PMfers live",
233+
date: "2025-11-20",
234+
startTime: "12:00",
235+
endTime: "13:00",
210236
description:
211237
"Join us for an inspiring panel discussion about building your career in Web3! We'll bring in special guests to share insights about developer education, breaking into the Ethereum industry, landing your first Web3 job, and building a successful onchain career.",
212238
dayOfWeek: "Thursday",
213239
dateString: "November 20",
214240
type: SessionType.PANEL,
215-
speaker: SPEAKERS.AUSTIN,
241+
speaker: [SPEAKERS.AUSTIN],
216242
},
217243
{
218244
title: "Capture the Flag",
219245
date: "2025-11-20",
220-
startTime: "14:30",
221-
endTime: "18:00",
246+
startTime: "14:00",
247+
endTime: "17:30",
222248
description:
223249
"Tackle 12 increasingly challenging Solidity puzzles in this high-stakes Capture the Flag competition! Form teams and compete for $5,000 in prizes as you hunt for vulnerabilities, exploit smart contract weaknesses, and solve cryptographic challenges.",
224250
dayOfWeek: "Thursday",
225251
dateString: "November 20",
226252
type: SessionType.CTF,
227-
speaker: SPEAKERS.CARLOS,
253+
speaker: [SPEAKERS.CARLOS],
228254
},
229255

230256
// Friday 21
@@ -238,7 +264,7 @@ export const sessions: Session[] = [
238264
dayOfWeek: "Friday",
239265
dateString: "November 21",
240266
type: SessionType.STUDENTS,
241-
speaker: SPEAKERS.SHYAM,
267+
speaker: [SPEAKERS.SHYAM],
242268
},
243269
{
244270
title: "Founder Speed Dating",
@@ -250,6 +276,7 @@ export const sessions: Session[] = [
250276
dayOfWeek: "Friday",
251277
dateString: "November 21",
252278
type: SessionType.PANEL,
279+
speaker: [SPEAKERS.AUSTIN, SPEAKERS.KEVIN],
253280
},
254281
{
255282
title: "Use Scaffold-ETH for your ETH Global Hackathon",
@@ -261,6 +288,7 @@ export const sessions: Session[] = [
261288
dayOfWeek: "Friday",
262289
dateString: "November 21",
263290
type: SessionType.WORKSHOP,
291+
speaker: [SPEAKERS.AUSTIN],
264292
},
265293
];
266294

@@ -284,7 +312,7 @@ export const getHourlyTimeSlots = () => {
284312

285313
export const getHourlyTimeSlotsFormatted = () => {
286314
const hours = [];
287-
for (let hour = 10; hour <= 18; hour++) {
315+
for (let hour = 10; hour <= 17; hour++) {
288316
const time24 = `${hour.toString().padStart(2, "0")}:00`;
289317
hours.push({
290318
time24: time24,

packages/nextjs/components/ScheduleCalendar.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export const ScheduleCalendar = () => {
7979
return (
8080
<div
8181
key={session.title}
82-
className={`absolute left-0 right-0 ${colors} border cursor-pointer hover:shadow-md transition-shadow p-2 z-10`}
82+
className={`absolute left-0 right-0 ${colors} outline outline-2 outline-black/60 cursor-pointer hover:shadow-md transition-shadow p-2 z-10`}
8383
style={{
8484
top: `${position.startOffset}px`,
8585
height: `${position.duration}px`,
@@ -93,7 +93,11 @@ export const ScheduleCalendar = () => {
9393
<div>
9494
<p className="text-xs opacity-75 m-0">
9595
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}{" "}
96-
{session.speaker && <span className="font-bold">- {session.speaker.name}</span>}
96+
{session.speaker && (
97+
<span className="font-bold">
98+
- {session.speaker.map(speaker => speaker.name).join(", ")}
99+
</span>
100+
)}
97101
</p>
98102
</div>
99103
</div>

packages/nextjs/components/SessionModal.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,20 @@ export const SessionModal = ({ session, isOpen, onClose }: SessionModalProps) =>
1919
<div>
2020
<h3 className="font-bold text-lg text-primary mb-0">{session.title}</h3>
2121
{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>
22+
<div className="flex items-center gap-6">
23+
{session.speaker.map(speaker => (
24+
<div key={speaker.name} className="flex items-center gap-2">
25+
<Image
26+
key={speaker.name}
27+
src={speaker.image}
28+
alt={speaker.name}
29+
width={32}
30+
height={32}
31+
className="rounded-full"
32+
/>
33+
<p className="font-bold">{speaker.name}</p>
34+
</div>
35+
))}
3136
</div>
3237
)}
3338
<p className="text-sm text-base-content/70 m-0">
29.9 KB
Loading
20.1 KB
Loading
122 KB
Loading

0 commit comments

Comments
 (0)