Skip to content

Commit d6a0407

Browse files
Merge branch 'ep2025' into ep2025-tickets
2 parents baf8652 + da26e4e commit d6a0407

File tree

20 files changed

+239
-20
lines changed

20 files changed

+239
-20
lines changed

src/components/SponsorLogo.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const {
2020
} = sponsor.data;
2121
2222
const logo = sponsorLogos[sponsor.id];
23-
const slug = tier==="Partners"? `/community-partners#sponsor-${sponsorId}`: tier==="Platinum" ? `/sponsor/${sponsorId}` : `/sponsors#sponsor-${sponsorId}`
23+
const slug = tier==="Partners"? `/community-partners#sponsor-${sponsorId}`: tier==="Platinum" ? `/sponsor/${sponsorId}` : tier==="Media Partners" ? `/media-partners#sponsor-${sponsorId}` : tier==="Startups" ? `/startups#sponsor-${sponsorId}` : ""
2424
2525
---
2626

@@ -29,7 +29,7 @@ const slug = tier==="Partners"? `/community-partners#sponsor-${sponsorId}`: tier
2929
>
3030
<div class="w-full flex justify-center items-center md:items-center">
3131
{
32-
website ? (
32+
website && slug ? (
3333

3434
<a href={slug} aria-label={`Link to ${title}`}
3535
>

src/components/sections/sponsors/sponsor-tier.astro

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ const { tier, level = 2} = Astro.props;
3030
`level-${level}`,
3131
{
3232
"grid-cols-1 md:grid-cols-2 m-20 [&>*]:scale-110": level===0,
33-
"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 [&>*]:scale-80": level > 0 && level << 6,
34-
"grid-cols-2 md:grid-cols-3 lg:grid-cols-4 [&>*]:scale-80" : level===6,
33+
"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 [&>*]:scale-90": level > 0 && level << 6,
34+
"grid-cols-2 md:grid-cols-3 lg:grid-cols-4 [&>*]:scale-90" : level===6,
35+
"grid-cols-2 md:grid-cols-3 lg:grid-cols-4 [&>*]:scale-85" : level>6,
3536
},
3637
]}
3738
>

src/components/sections/sponsors/sponsors.astro

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ const tiers = [
1414
"Platinum X",
1515
"Gold",
1616
"Silver",
17+
"Startups",
1718
"Bronze",
1819
"Patron",
1920
"Financial Aid",
2021
"Supporters",
21-
"Partners"
22+
"Partners",
23+
"Media Partners"
2224
] as const;
2325
2426
const sponsors = await getCollection("sponsors");

src/components/sponsor-tiers/sponsor-tiers.astro

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,18 @@ const tiers: SponsorTierProps[] = [
123123
"Welcome post on EuroPython social media",
124124
],
125125
},
126+
{
127+
title: "Startup",
128+
price: 3_000,
129+
slotsLeft: "5",
130+
features: [
131+
"<strong>Exhibition Space for 3 days</strong>",
132+
"<strong>2 conference tickets (€1000 value)</strong>",
133+
"1 remote ticket (€150 value)",
134+
"Logo on website and signage",
135+
"Welcome post on EuroPython social media",
136+
],
137+
},
126138
{
127139
title: "Bronze",
128140
price: 2_000,
@@ -153,6 +165,7 @@ const getRibbonClass = (title: string) => {
153165
Platinum: "text-sponsor-platinum",
154166
Gold: "text-sponsor-gold",
155167
Silver: "text-sponsor-silver",
168+
Startup: "text-sponsor-startup",
156169
Bronze: "text-sponsor-bronze",
157170
Patron: "text-sponsor-patron",
158171
};
@@ -212,8 +225,64 @@ const formatPrice = (price: number | string) => {
212225
<div class="text-xl mt-4">
213226
{tier.slotsLeft ? (
214227
<>
215-
<span>{tier.slotsLeft}</span> slot
216-
{tier.slotsLeft == 1 ? "" : "s"} remaining
228+
<span>{tier.slotsLeft}</span>
229+
{tier.slotsLeft == 1 ? "slot" : "slots"} availalbe
230+
</>
231+
) : (
232+
<>Fully booked</>
233+
)}
234+
</div>
235+
</div>
236+
237+
<p class="font-bold text-base">This tier includes:</p>
238+
<ul class="text-base list-none pl-0">
239+
{tier.features.map((feature) => (
240+
<li class="flex items-start">
241+
<span class="flex-shrink-0 w-6">✔️</span>
242+
<span set:html={feature} />
243+
</li>
244+
))}
245+
</ul>
246+
<div class="absolute bottom-4 right-4">
247+
<Button url={signupLink}>Sign Up Now!</Button>
248+
</div>
249+
</div>
250+
))
251+
}
252+
</div>
253+
254+
255+
<div class="text-center mb-8 mt-16">
256+
<h2 class="text-3xl font-bold">Startups</h2>
257+
<p class="text-xl mt-2 mb-12">
258+
For early-stage companies ready to connect with the community, boost visibility, and make a strong first impression.
259+
</p>
260+
</div>
261+
<div class="grid grid-cols-1 sm:grid-cols-1 gap-10 mx-96">
262+
{
263+
tiers
264+
.filter((tier) => tier.title === "Startup")
265+
.sort((a, b) => {
266+
const order: { [key: string]: number } = { Startup: 1 };
267+
return order[a.title] - order[b.title];
268+
})
269+
270+
.map((tier) => (
271+
<div class="bg-white text-black rounded-2xl p-6 pb-20 relative not-prose z-0">
272+
<div class="h-[160px]">
273+
<Ribbon
274+
className={`absolute -right-6 -top-8 ${getRibbonClass(tier.title)}`}
275+
style={{ zIndex: "-1", top: "-55px" }}
276+
/>
277+
<Headline as="h3" title={tier.title} />
278+
<div class="font-bold text-3xl">{formatPrice(tier.price)}</div>
279+
<div class="text-xl">
280+
{tier.slotsLeft === "Exclusive" ? (
281+
<>Exclusive</>
282+
) : tier.slotsLeft ? (
283+
<>
284+
<span>{tier.slotsLeft}</span>
285+
{tier.slotsLeft == 1 ? "slot" : "slots"} availalbe
217286
</>
218287
) : (
219288
<>Fully booked</>
@@ -268,8 +337,8 @@ const formatPrice = (price: number | string) => {
268337
<>Exclusive</>
269338
) : tier.slotsLeft ? (
270339
<>
271-
<span>{tier.slotsLeft}</span> slot
272-
{tier.slotsLeft == 1 ? "" : "s"} remaining
340+
<span>{tier.slotsLeft}</span>
341+
{tier.slotsLeft == 1 ? "slot" : "slots"} availalbe
273342
</>
274343
) : (
275344
<>Fully booked</>
@@ -322,8 +391,8 @@ const formatPrice = (price: number | string) => {
322391
<div class="text-xl">
323392
{tier.slotsLeft ? (
324393
<>
325-
<span>{tier.slotsLeft}</span> slot
326-
{tier.slotsLeft == 1 ? "" : "s"} remaining
394+
<span>{tier.slotsLeft}</span>
395+
{tier.slotsLeft == 1 ? "slot" : "slots"} availalbe
327396
</>
328397
) : (
329398
<>Fully booked</>
Lines changed: 12 additions & 0 deletions
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
name: CultRepo
3+
description: ""
4+
url: https://www.youtube.com/@cultrepo
5+
socials:
6+
twitter: https://x.com/CultRepo
7+
bluesky: https://bsky.app/profile/cultrepo.bsky.social
8+
youtube: https://www.youtube.com/channel/UCsUalyRg43M8D60mtHe6YcA
9+
tier: Media Partners
10+
logo_padding: "0"
11+
---

src/content/sponsors/gel/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ socials:
1515
youtube: "https://www.youtube.com/@EdgeDB"
1616
tier: Platinum
1717
logo_padding: 5px
18-
draft: true
1918
---
2019

21-
## About Gel
20+
# About Gel
2221

2322
Gel is a scalable, integrated data platform on top of Postgres. Gel gives the
2423
relational model a fresh facelift, solves n+1, simplifies migrations, and

src/content/sponsors/google-cloud/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ socials:
1010

1111
tier: Gold
1212
logo_padding: 15px
13-
draft: true
1413
---
1514

16-
## About Google Cloud
15+
# About Google Cloud
1716

1817
The new way to cloud starts here: Build with generative AI, deploy apps fast,
1918
and analyze data in seconds—all with Google-grade security.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Junior Guru
3+
description: ""
4+
url: https://junior.guru/
5+
socials:
6+
youtube: https://www.youtube.com/@juniordotguru
7+
8+
tier: Media Partners
9+
logo_padding: 15px
10+
---

0 commit comments

Comments
 (0)