Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions packages/nextjs/app/sessions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ export enum SessionType {
CHALLENGE = "challenge",
}

export type Speaker = {
name: string;
image: string;
};

export interface Session {
title: string;
date: string;
Expand All @@ -16,6 +21,7 @@ export interface Session {
dayOfWeek: string;
dateString: string;
type: SessionType;
speaker?: Speaker;
}

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

export const SPEAKERS = {
AUSTIN: {
name: "Austin Griffith",
image: "/speakers/austin.png",
},
CARLOS: {
name: "Carlos Sánchez",
image: "/speakers/carlos.jpg",
},
PABLO: {
name: "Pablo Alayeto",
image: "/speakers/pablo.png",
},
PHILIP: {
name: "Philip Krause",
image: "/speakers/philip.png",
},
ELLIOT: {
name: "Elliott Alexander",
image: "/speakers/elliot.png",
},
HORSEFACTS: {
name: "Horsefacts",
image: "/speakers/horsefacts.jpg",
},
SHYAM: {
name: "Shyam",
image: "/speakers/shyam.jpg",
},
};

export const sessions: Session[] = [
// Tuesday 18
{
Expand All @@ -50,6 +87,7 @@ export const sessions: Session[] = [
dayOfWeek: "Tuesday",
dateString: "November 18",
type: SessionType.WORKSHOP,
speaker: SPEAKERS.AUSTIN,
},
{
title: "Introduction to SpeedRunEthereum",
Expand All @@ -72,6 +110,7 @@ export const sessions: Session[] = [
dayOfWeek: "Tuesday",
dateString: "November 18",
type: SessionType.CHALLENGE,
speaker: SPEAKERS.ELLIOT,
},
{
title: "BG Office hours / Mentoring",
Expand All @@ -96,6 +135,7 @@ export const sessions: Session[] = [
dayOfWeek: "Wednesday",
dateString: "November 19",
type: SessionType.CHALLENGE,
speaker: SPEAKERS.PHILIP,
},
{
title: "Challenge 3: ZK",
Expand All @@ -118,6 +158,7 @@ export const sessions: Session[] = [
dayOfWeek: "Wednesday",
dateString: "November 19",
type: SessionType.WORKSHOP,
speaker: SPEAKERS.PABLO,
},
{
title: "Live vibe coding (game + play)",
Expand All @@ -129,6 +170,7 @@ export const sessions: Session[] = [
dayOfWeek: "Wednesday",
dateString: "November 19",
type: SessionType.WORKSHOP,
speaker: SPEAKERS.AUSTIN,
},
{
title: "BG Office hours / Mentoring",
Expand All @@ -153,6 +195,7 @@ export const sessions: Session[] = [
dayOfWeek: "Thursday",
dateString: "November 20",
type: SessionType.WORKSHOP,
speaker: SPEAKERS.HORSEFACTS,
},
{
title: "PMfers live / Interview / Panel",
Expand All @@ -164,6 +207,7 @@ export const sessions: Session[] = [
dayOfWeek: "Thursday",
dateString: "November 20",
type: SessionType.PANEL,
speaker: SPEAKERS.AUSTIN,
},
{
title: "Capture the Flag",
Expand All @@ -175,6 +219,7 @@ export const sessions: Session[] = [
dayOfWeek: "Thursday",
dateString: "November 20",
type: SessionType.CTF,
speaker: SPEAKERS.CARLOS,
},

// Friday 21
Expand All @@ -188,6 +233,7 @@ export const sessions: Session[] = [
dayOfWeek: "Friday",
dateString: "November 21",
type: SessionType.STUDENTS,
speaker: SPEAKERS.SHYAM,
},
{
title: "Founder speed dating / Pitch your idea",
Expand Down
5 changes: 3 additions & 2 deletions packages/nextjs/components/ScheduleCalendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ export const ScheduleCalendar = () => {
<h3 className="font-semibold text-sm leading-tight mb-1">{session.title}</h3>
</div>
<div>
<p className="text-xs opacity-75">
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}
<p className="text-xs opacity-75 m-0">
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}{" "}
{session.speaker && <span className="font-bold">- {session.speaker.name}</span>}
</p>
</div>
</div>
Expand Down
31 changes: 18 additions & 13 deletions packages/nextjs/components/SessionModal.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"use client";

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

interface SessionModalProps {
Expand All @@ -16,30 +17,34 @@ export const SessionModal = ({ session, isOpen, onClose }: SessionModalProps) =>
<div className="modal-box max-w-2xl">
<div className="flex justify-between items-start mb-4">
<div>
<h3 className="font-bold text-lg text-primary">{session.title}</h3>
<p className="text-sm text-base-content/70">
<h3 className="font-bold text-lg text-primary mb-0">{session.title}</h3>
{session.speaker && (
<div className="flex items-center gap-2">
<Image
src={session.speaker.image}
alt={session.speaker.name}
width={32}
height={32}
className="rounded-full"
/>
<p className="font-bold">{session.speaker.name}</p>
</div>
)}
<p className="text-sm text-base-content/70 m-0">
{session.dayOfWeek}, {session.dateString}
</p>
<p className="text-sm text-base-content/70">
<p className="text-sm text-base-content/70 mt-0 m-0">
{formatTo12Hour(session.startTime)} - {formatTo12Hour(session.endTime)}
</p>
</div>
<button className="btn btn-sm btn-circle btn-ghost" onClick={onClose}>
<button className="btn btn-lg btn-circle btn-ghost" onClick={onClose}>
</button>
</div>

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

<div className="py-4">
<p className="text-base leading-relaxed">{session.description}</p>
</div>

<div className="modal-action">
<button className="btn btn-primary" onClick={onClose}>
Close
</button>
</div>
<p className="text-base leading-relaxed">{session.description}</p>
</div>
<div className="modal-backdrop" onClick={onClose}></div>
</div>
Expand Down
Binary file added packages/nextjs/public/speakers/austin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/carlos.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/elliott.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/horsefacts.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/pablo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/philip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/nextjs/public/speakers/shyam.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.