Skip to content

Commit 98715c1

Browse files
committed
2 parents e0d7084 + 76a0467 commit 98715c1

2 files changed

Lines changed: 77 additions & 153 deletions

File tree

src/app/[city]/page.js

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,59 @@ export default async function CityPage({ params }) {
166166
{/* Agenda*/}
167167
<section className="container-py">
168168
<h2 className="section-title">Agenda</h2>
169-
<div className="space-y-4 md:space-y-6 mt-6 md:mt-8 max-w-4xl mx-auto">
170-
{data.schedule.map((talk, index) => (
171-
<TalkCard key={talk.id} talk={talk} />
172-
))}
173-
</div>
174-
{/* registro oculto
169+
{data.length > 0 ? (
170+
<div className="space-y-4 md:space-y-6 mt-6 md:mt-8 max-w-4xl mx-auto">
171+
{data.schedule.map((talk, index) => (
172+
<TalkCard key={talk.id} talk={talk} />
173+
))}
174+
</div>
175+
) : (
176+
<div className="backdrop-blur-sm rounded-lg p-6 md:p-8 text-center">
177+
<div className="w-16 h-16 md:w-20 md:h-20 bg-py-red/30 rounded-full flex items-center justify-center mx-auto mb-4">
178+
<svg
179+
xmlns="http://www.w3.org/2000/svg"
180+
className="h-8 w-8 md:h-10 md:w-10"
181+
fill="none"
182+
viewBox="0 0 24 24"
183+
stroke="currentColor"
184+
>
185+
<path
186+
strokeLinecap="round"
187+
strokeLinejoin="round"
188+
strokeWidth={2}
189+
d="M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"
190+
/>
191+
</svg>
192+
</div>
193+
<h3 className="text-lg md:text-xl font-bold mb-2 text-py-text">
194+
No hay charlas disponibles aún
195+
</h3>
196+
<p className="text-py-text/80 mb-6">
197+
Estamos finalizando el programa. ¡Vuelve pronto para ver las
198+
charlas confirmadas!
199+
</p>
200+
<Link
201+
href="https://sessionize.com/pyday-valparaiso-2025/"
202+
target="_blank"
203+
className="btn-secondary inline-flex items-center"
204+
>
205+
<span>Proponer una charla</span>
206+
<svg
207+
xmlns="http://www.w3.org/2000/svg"
208+
className="h-5 w-5 ml-2"
209+
viewBox="0 0 20 20"
210+
fill="currentColor"
211+
>
212+
<path
213+
fillRule="evenodd"
214+
d="M10.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L12.586 11H5a1 1 0 110-2h7.586l-2.293-2.293a1 1 0 010-1.414z"
215+
clipRule="evenodd"
216+
/>
217+
</svg>
218+
</Link>
219+
</div>
220+
)}
221+
175222
<div className="mt-8 md:mt-12 text-center">
176223
<Link
177224
href="/register"
@@ -194,7 +241,7 @@ export default async function CityPage({ params }) {
194241
/>
195242
</svg>
196243
</Link>
197-
</div>*/}
244+
</div>
198245
</section>
199246
<FAQSection faqs={generalFAQs} />
200247

@@ -222,7 +269,10 @@ export default async function CityPage({ params }) {
222269
<p>PyDay {data.name} es organizado por la comunidad Python Chile.</p>
223270
<p className="mt-2">
224271
Si quieres ser patrocinador o colaborador,{" "}
225-
<Link href="/sponsors#contacto" className="underline hover:text-white">
272+
<Link
273+
href="/sponsors#contacto"
274+
className="underline hover:text-white"
275+
>
226276
contáctanos
227277
</Link>
228278
.

src/data/talks.js

Lines changed: 19 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -30,151 +30,25 @@
3030
//TODO: Simulación de datos - Estos vendrían de una base de datos o API
3131
//FIXME:Actualizar con los datos de los oradores y las charlas.
3232
const allTalks = [
33-
{
34-
id: 101,
35-
type: "charla",
36-
city: "valparaiso",
37-
title: "Keynote: El futuro de Python en América Latina",
38-
description: "Visión estratégica del crecimiento de Python en la región con casos de éxito regionales",
39-
time: "09:00 - 09:45",
40-
speaker: {
41-
name: "Roberto Gutiérrez",
42-
image: "/images/speakers/roberto-gutierrez.webp"
43-
},
44-
category: "keynote",
45-
level: "intermedio",
46-
tags: ["Python", "Comunidad", "Educación"],
47-
resources: {
48-
slides: "https://slides.com/rgutierrez/keynote-pyday"
49-
}
50-
},
51-
{
52-
id: 201,
53-
type: "taller",
54-
city: "valparaiso",
55-
title: "Django desde Cero: Construye un E-commerce",
56-
description: "Taller práctico de 3 horas para crear una tienda online completa",
57-
time: "10:00 - 13:00",
58-
duration: 180,
59-
speaker: {
60-
name: "Laura Pérez",
61-
image: "/images/speakers/laura-perez.webp"
62-
},
63-
category: "proyecto-practico",
64-
level: "introductorio",
65-
tags: ["Python", "Web", "Django"],
66-
requirements: ["Laptop con Python 3.11+", "Conocimientos básicos de Python"],
67-
resources: {
68-
repo: "https://github.com/lperez/django-ecommerce-workshop"
69-
}
70-
},
71-
{
72-
id: 301,
73-
type: "charla",
74-
city: "santiago",
75-
title: "Python en Sistemas Embebidos",
76-
description: "Implementación de Python en dispositivos IoT y sistemas de bajo consumo",
77-
time: "14:30 - 15:15",
78-
speaker: {
79-
name: "Ana González",
80-
image: "/images/speakers/ana-gonzalez.webp"
81-
},
82-
category: "tecnica",
83-
level: "avanzado",
84-
tags: ["Python", "IoT", "Hardware"],
85-
resources: {
86-
repo: "https://github.com/agonzalez/embedded-python-demo"
87-
}
88-
},
89-
{
90-
id: 401,
91-
type: "taller",
92-
city: "copiapo",
93-
title: "Análisis de Datos Mineros con Pandas",
94-
description: "Taller intensivo de procesamiento de datos de sensores mineros",
95-
time: "16:00 - 18:00",
96-
duration: 120,
97-
speaker: {
98-
name: "Felipe Rojas",
99-
image: "/images/speakers/felipe-rojas.webp"
100-
},
101-
category: "herramientas",
102-
level: "intermedio",
103-
tags: ["Python", "Data Science", "Pandas"],
104-
requirements: ["Laptop con Jupyter instalado"],
105-
resources: {
106-
dataset: "https://github.com/frojas/mining-dataset-sample"
107-
}
108-
},
109-
{
110-
id: 501,
111-
type: "charla",
112-
city: "santiago",
113-
title: "Type Hints en Python a Escala Empresarial",
114-
description: "Implementación de tipado estático en grandes codebases",
115-
time: "11:30 - 12:15",
116-
speaker: {
117-
name: "Daniel Castro",
118-
image: "/images/speakers/daniel-castro.webp"
119-
},
120-
category: "tecnica",
121-
level: "avanzado",
122-
tags: ["Python", "Best Practices", "Testing"],
123-
resources: {
124-
slides: "https://slides.com/dcastro/typehints-enterprise"
125-
}
126-
},
127-
{
128-
id: 601,
129-
type: "taller",
130-
city: "valparaiso",
131-
title: "DevOps con Python: De Cero a CI/CD",
132-
description: "Implementación de pipelines de despliegue automático",
133-
time: "15:30 - 17:30",
134-
duration: 120,
135-
speaker: {
136-
name: "Carlos Rojas",
137-
image: "/images/speakers/carlos-rojas.webp"
138-
},
139-
category: "herramientas",
140-
level: "intermedio",
141-
tags: ["Python", "DevOps", "Cloud"],
142-
requirements: ["Cuenta gratuita en AWS", "Docker Desktop instalado"]
143-
},
144-
{
145-
id: 701,
146-
type: "charla",
147-
city: "copiapo",
148-
title: "Python en la Automatización Minera",
149-
description: "Casos reales de implementación en la industria extractiva",
150-
time: "10:45 - 11:30",
151-
speaker: {
152-
name: "Carla Herrera",
153-
image: "/images/speakers/carla-herrera.webp"
154-
},
155-
category: "caso-de-exito",
156-
level: "intermedio",
157-
tags: ["Python", "Industria", "Automatización"]
158-
},
159-
{
160-
id: 801,
161-
type: "taller",
162-
city: "santiago",
163-
title: "Machine Learning para Videojuegos",
164-
description: "Implementación de IA en desarrollo de juegos con Python",
165-
time: "16:00 - 18:30",
166-
duration: 150,
167-
speaker: {
168-
name: "Jorge Méndez",
169-
image: "/images/speakers/jorge-mendez.webp"
170-
},
171-
category: "proyecto-practico",
172-
level: "avanzado",
173-
tags: ["Python", "IA", "Machine Learning"],
174-
resources: {
175-
repo: "https://github.com/jmendez/game-ai-workshop"
176-
}
177-
}
33+
// {
34+
// id: 101,
35+
// type: "charla",
36+
// city: "valparaiso",
37+
// title: "Keynote: El futuro de Python en América Latina",
38+
// description: "Visión estratégica del crecimiento de Python en la región con casos de éxito regionales",
39+
// time: "09:00 - 09:45",
40+
// speaker: {
41+
// name: "Roberto Gutiérrez",
42+
// image: "/images/speakers/roberto-gutierrez.webp"
43+
// },
44+
// category: "keynote",
45+
// level: "intermedio",
46+
// tags: ["Python", "Comunidad", "Educación"],
47+
// resources: {
48+
// slides: "https://slides.com/rgutierrez/keynote-pyday"
49+
// }
50+
// },
51+
17852
];
17953

18054
export default allTalks;

0 commit comments

Comments
 (0)