Skip to content

Commit 9f2bc5c

Browse files
committed
feat(sponsors): Update statistics using data from last year
1 parent c306c43 commit 9f2bc5c

4 files changed

Lines changed: 146 additions & 50 deletions

File tree

src/i18n/sponsors/ca.ts

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,42 @@ export const ca = {
5252
interests: {
5353
title: 'Interessos',
5454
items: [
55-
{ label: 'DATA & AI 🤖', pc: '40%', width: '40%' },
56-
{ label: 'WEB & BACKEND 💻', pc: '30%', width: '30%' },
57-
{ label: 'DEVOPS & CLOUD ☁️', pc: '20%', width: '20%' },
58-
{ label: 'ALTRES 🔧', pc: '10%', width: '10%' },
55+
{ label: 'ML & IA 🤖', pc: '29%' },
56+
{ label: 'DATA SCIENCE 📊', pc: '17%' },
57+
{ label: 'ENG. SOFTWARE 🏗️', pc: '14%' },
58+
{ label: 'DESENV. WEB 💻', pc: '10%' },
59+
{ label: 'COMUNITAT 🤝', pc: '7%' },
60+
{ label: 'DEVOPS & CLOUD ☁️', pc: '7%' },
61+
{ label: 'ALTRES 🔧', pc: '16%' },
5962
],
6063
},
6164
audience: {
6265
title: 'Perfil d’assistents',
6366
seniority: 'Nivell de Seniority',
6467
items: [
65-
{ icon: '💼', value: '72%', label: 'Oberts a ofertes de feina' },
66-
{ icon: '🔑', value: '35%', label: 'Prenen decisions a la seva empresa' },
67-
{ icon: '💜', value: '25%', label: 'Dones i no-binaris' },
68-
{ icon: '🌍', value: '10%', label: 'Visitants internacionals' },
68+
{
69+
icon: '💼',
70+
value: '81%',
71+
label: 'Professionals en actiu',
72+
},
73+
{
74+
icon: '💜',
75+
value: '33%',
76+
label: 'Dones i persones no binàries',
77+
},
78+
{
79+
icon: '🔑',
80+
value: '26%',
81+
label: 'Direcció i Leads',
82+
},
83+
{
84+
icon: '🌍',
85+
value: '13%',
86+
label: 'Contingut en anglès',
87+
},
6988
],
70-
quote: 'Una audiència madura: El 80% del contingut està enfocat a perfils intermedi-avançat.',
89+
quote:
90+
"Immersió tècnica: el 62% de l'agenda està dedicada a sessions de complexitat Intermèdia i Avançada.",
7191
},
7292
whatis: {
7393
title: 'Què és PyConES?',

src/i18n/sponsors/en.ts

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,42 @@ export const en = {
5252
interests: {
5353
title: 'Interests',
5454
items: [
55-
{ label: 'DATA & AI 🤖', pc: '40%', width: '40%' },
56-
{ label: 'WEB & BACKEND 💻', pc: '30%', width: '30%' },
57-
{ label: 'DEVOPS & CLOUD ☁️', pc: '20%', width: '20%' },
58-
{ label: 'OTHERS 🔧', pc: '10%', width: '10%' },
55+
{ label: 'ML & AI 🤖', pc: '29%' },
56+
{ label: 'DATA SCIENCE 📊', pc: '17%' },
57+
{ label: 'SOFTWARE ENG 🏗️', pc: '14%' },
58+
{ label: 'WEB DEV 💻', pc: '10%' },
59+
{ label: 'COMMUNITY 🤝', pc: '7%' },
60+
{ label: 'DEVOPS & CLOUD ☁️', pc: '7%' },
61+
{ label: 'OTHERS 🔧', pc: '16%' },
5962
],
6063
},
6164
audience: {
6265
title: 'Attendee Profile',
6366
seniority: 'Seniority Level',
6467
items: [
65-
{ icon: '💼', value: '72%', label: 'Open to job offers' },
66-
{ icon: '🔑', value: '35%', label: 'Decision makers in their company' },
67-
{ icon: '💜', value: '25%', label: 'Women and non-binary' },
68-
{ icon: '🌍', value: '10%', label: 'International visitors' },
68+
{
69+
icon: '💼',
70+
value: '81%',
71+
label: 'Active Professionals',
72+
},
73+
{
74+
icon: '💜',
75+
value: '33%',
76+
label: 'Women and Non-Binary',
77+
},
78+
{
79+
icon: '🔑',
80+
value: '26%',
81+
label: 'Management & Leads',
82+
},
83+
{
84+
icon: '🌍',
85+
value: '13%',
86+
label: 'English Track Content',
87+
},
6988
],
70-
quote: 'A mature audience: 80% of the content is focused on intermediate-advanced profiles.',
89+
quote:
90+
'A technical deep-dive: 62% of the schedule is dedicated to Intermediate and Advanced complexity sessions.',
7191
},
7292
whatis: {
7393
title: 'What is PyConES?',

src/i18n/sponsors/es.ts

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,42 @@ export const es = {
5252
interests: {
5353
title: 'Intereses',
5454
items: [
55-
{ label: 'DATA & AI 🤖', pc: '40%', width: '40%' },
56-
{ label: 'WEB & BACKEND 💻', pc: '30%', width: '30%' },
57-
{ label: 'DEVOPS & CLOUD ☁️', pc: '20%', width: '20%' },
58-
{ label: 'OTROS 🔧', pc: '10%', width: '10%' },
55+
{ label: 'ML & IA 🤖', pc: '29%' },
56+
{ label: 'DATA SCIENCE 📊', pc: '17%' },
57+
{ label: 'ING. SOFTWARE 🏗️', pc: '14%' },
58+
{ label: 'DESARROLLO WEB 💻', pc: '10%' },
59+
{ label: 'COMUNIDAD 🤝', pc: '7%' },
60+
{ label: 'DEVOPS & CLOUD ☁️', pc: '7%' },
61+
{ label: 'OTROS 🔧', pc: '16%' },
5962
],
6063
},
6164
audience: {
6265
title: 'Perfil de asistentes',
6366
seniority: 'Nivel de Seniority',
6467
items: [
65-
{ icon: '💼', value: '72%', label: 'Abiertos a ofertas de trabajo' },
66-
{ icon: '🔑', value: '35%', label: 'Toman decisiones en su empresa' },
67-
{ icon: '💜', value: '25%', label: 'Mujeres y no-binarios' },
68-
{ icon: '🌍', value: '10%', label: 'Visitantes internacionales' },
68+
{
69+
icon: '💼',
70+
value: '81%',
71+
label: 'Profesionales en activo',
72+
},
73+
{
74+
icon: '💜',
75+
value: '33%',
76+
label: 'Mujeres y personas no binarias',
77+
},
78+
{
79+
icon: '🔑',
80+
value: '26%',
81+
label: 'Dirección y Leads',
82+
},
83+
{
84+
icon: '🌍',
85+
value: '13%',
86+
label: 'Contenido en inglés',
87+
},
6988
],
70-
quote: 'Una audiencia madura: El 80% del contenido está enfocado a perfiles intermedio-avanzado.',
89+
quote:
90+
'Inmersión técnica: el 62% de la agenda está dedicada a sesiones de complejidad Intermedia y Avanzada.',
7191
},
7292
whatis: {
7393
title: '¿Qué es PyConES?',

src/pages/[lang]/sponsors.astro

Lines changed: 59 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,38 @@ const {
164164
<div class="bg-[#111] p-8 rounded-lg border border-[#333] mb-6">
165165
<h3 class="mb-6 font-mono text-white">{audience.seniority}</h3>
166166

167-
<div class="grid grid-cols-1 w-full rounded-md mb-4 sm:grid-cols-3">
168-
<div class="bg-gray-700 text-gray-300 text-xs font-bold rounded-tl rounded-bl flex items-center justify-center py-4">
169-
🌱 JUNIOR 20%
167+
<div class="flex w-full h-12 rounded-lg overflow-hidden mb-3">
168+
<div
169+
style="width: 38%"
170+
class="h-full min-w-[2rem] bg-gray-600 text-gray-200 text-xs font-bold flex items-center justify-center"
171+
>
172+
38%
170173
</div>
171-
<div class="bg-green-400 text-black text-sm font-bold flex items-center justify-center py-4">
172-
🚀 SENIOR / PRO 60%
174+
<div
175+
style="width: 57%"
176+
class="h-full min-w-[2rem] bg-green-400 text-black text-xs font-bold flex items-center justify-center"
177+
>
178+
57%
173179
</div>
174-
<div class="bg-gray-700 text-gray-300 text-xs font-bold rounded-tr rounded-br flex items-center justify-center py-4">
175-
🧠 EXPERT 20%
180+
<div
181+
style="width: 5%"
182+
class="h-full min-w-[2rem] bg-gray-500 text-gray-200 text-xs font-bold flex items-center justify-center"
183+
>
184+
5%
185+
</div>
186+
</div>
187+
<div class="flex flex-wrap justify-center gap-x-4 gap-y-1 mb-4">
188+
<div class="flex items-center gap-2 text-sm text-gray-300">
189+
<div class="w-3 h-3 rounded-sm flex-shrink-0 bg-gray-600"></div>
190+
<span>🌱 JUNIOR 38%</span>
191+
</div>
192+
<div class="flex items-center gap-2 text-sm text-gray-300">
193+
<div class="w-3 h-3 rounded-sm flex-shrink-0 bg-green-400"></div>
194+
<span>🚀 SENIOR / PRO 57%</span>
195+
</div>
196+
<div class="flex items-center gap-2 text-sm text-gray-300">
197+
<div class="w-3 h-3 rounded-sm flex-shrink-0 bg-gray-500"></div>
198+
<span>🧠 EXPERT 5%</span>
176199
</div>
177200
</div>
178201

@@ -195,23 +218,36 @@ const {
195218

196219
<div class="bg-[#111] p-8 rounded-lg border border-[#333]">
197220
<h3 class="mb-6 font-mono text-white">{interests.title}</h3>
198-
<div class="space-y-3">
199-
{
200-
interests.items.map((interest) => (
201-
<div class="flex items-center gap-4">
202-
<div class="w-32 text-sm text-gray-400">{interest.label}</div>
203-
<div class="flex-1 h-8 bg-[#222] rounded overflow-hidden">
204-
<div
205-
class="h-full bg-green-400 flex items-center justify-end pr-2 text-black text-sm font-bold"
206-
style={`width: ${interest.width}`}
207-
>
208-
{interest.pc}
209-
</div>
221+
{
222+
(() => {
223+
const colors = ['#4ade80', '#60a5fa', '#c084fc', '#fbbf24', '#f472b6', '#22d3ee', '#fb923c']
224+
return (
225+
<>
226+
<div class="flex w-full h-12 rounded-lg overflow-hidden">
227+
{interests.items.map((interest, i) => (
228+
<div
229+
class="h-full min-w-[2rem] flex items-center justify-center text-black font-bold text-xs"
230+
style={`width: ${interest.pc}; background-color: ${colors[i]};`}
231+
>
232+
{interest.pc}
233+
</div>
234+
))}
210235
</div>
211-
</div>
212-
))
213-
}
214-
</div>
236+
<div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-x-4 gap-y-2 mt-4">
237+
{interests.items.map((interest, i) => (
238+
<div class="flex items-center gap-2 text-sm text-gray-300">
239+
<div
240+
class="w-3 h-3 rounded-sm flex-shrink-0"
241+
style={`background-color: ${colors[i]};`}
242+
/>
243+
<span class="truncate">{interest.label}</span>
244+
</div>
245+
))}
246+
</div>
247+
</>
248+
)
249+
})()
250+
}
215251
</div>
216252
</section>
217253

0 commit comments

Comments
 (0)