From 69cc2aad67af467a7cfc9261ef5e8d0514d0c49e Mon Sep 17 00:00:00 2001 From: Niko Date: Fri, 13 Jun 2025 22:38:44 +0200 Subject: [PATCH 1/2] Update sponsorship, add package for startups --- .../sponsor-tiers/sponsor-tiers.astro | 69 +++++++++++++++++++ src/styles/tailwind.css | 1 + 2 files changed, 70 insertions(+) diff --git a/src/components/sponsor-tiers/sponsor-tiers.astro b/src/components/sponsor-tiers/sponsor-tiers.astro index 1e24852b1..a7f512779 100644 --- a/src/components/sponsor-tiers/sponsor-tiers.astro +++ b/src/components/sponsor-tiers/sponsor-tiers.astro @@ -123,6 +123,18 @@ const tiers: SponsorTierProps[] = [ "Welcome post on EuroPython social media", ], }, + { + title: "Startup", + price: 3_000, + slotsLeft: "5", + features: [ + "Exhibition Space for 3 days", + "2 conference tickets (€1000 value)", + "1 remote ticket (€150 value)", + "Logo on website and signage", + "Welcome post on EuroPython social media", + ], + }, { title: "Bronze", price: 2_000, @@ -153,6 +165,7 @@ const getRibbonClass = (title: string) => { Platinum: "text-sponsor-platinum", Gold: "text-sponsor-gold", Silver: "text-sponsor-silver", + Startup: "text-sponsor-startup", Bronze: "text-sponsor-bronze", Patron: "text-sponsor-patron", }; @@ -238,6 +251,62 @@ const formatPrice = (price: number | string) => { } + +
+

Startups

+

+ For early-stage companies ready to connect with the community, boost visibility, and make a strong first impression. +

+
+
+ { + tiers + .filter((tier) => tier.title === "Startup") + .sort((a, b) => { + const order: { [key: string]: number } = { Startup: 1 }; + return order[a.title] - order[b.title]; + }) + + .map((tier) => ( +
+
+ + +
{formatPrice(tier.price)}
+
+ {tier.slotsLeft === "Exclusive" ? ( + <>Exclusive + ) : tier.slotsLeft ? ( + <> + {tier.slotsLeft} slot + {tier.slotsLeft == 1 ? "" : "s"} remaining + + ) : ( + <>Fully booked + )} +
+
+ +

This tier includes:

+
    + {tier.features.map((feature) => ( +
  • + ✔️ + +
  • + ))} +
+
+ +
+
+ )) + } +
+

Major Supporters

diff --git a/src/styles/tailwind.css b/src/styles/tailwind.css index 9a6fbed09..627b7304a 100644 --- a/src/styles/tailwind.css +++ b/src/styles/tailwind.css @@ -53,6 +53,7 @@ --color-sponsor-platinum: #6b6c6e; --color-sponsor-gold: #f5c251; --color-sponsor-silver: #c0c0c0; + --color-sponsor-startup: #8572c6; --color-sponsor-bronze: #6e6151; --color-sponsor-patron: #a11217; From 8100372eeebb2bf17f207dd5cc80a129754b0c6a Mon Sep 17 00:00:00 2001 From: Niko Date: Sat, 14 Jun 2025 16:14:52 +0200 Subject: [PATCH 2/2] Fix naming in sponsors packages --- src/components/sponsor-tiers/sponsor-tiers.astro | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/sponsor-tiers/sponsor-tiers.astro b/src/components/sponsor-tiers/sponsor-tiers.astro index a7f512779..bdb8f9bd1 100644 --- a/src/components/sponsor-tiers/sponsor-tiers.astro +++ b/src/components/sponsor-tiers/sponsor-tiers.astro @@ -225,8 +225,8 @@ const formatPrice = (price: number | string) => {

{tier.slotsLeft ? ( <> - {tier.slotsLeft} slot - {tier.slotsLeft == 1 ? "" : "s"} remaining + {tier.slotsLeft} + {tier.slotsLeft == 1 ? "slot" : "slots"} availalbe ) : ( <>Fully booked @@ -281,8 +281,8 @@ const formatPrice = (price: number | string) => { <>Exclusive ) : tier.slotsLeft ? ( <> - {tier.slotsLeft} slot - {tier.slotsLeft == 1 ? "" : "s"} remaining + {tier.slotsLeft} + {tier.slotsLeft == 1 ? "slot" : "slots"} availalbe ) : ( <>Fully booked @@ -337,8 +337,8 @@ const formatPrice = (price: number | string) => { <>Exclusive ) : tier.slotsLeft ? ( <> - {tier.slotsLeft} slot - {tier.slotsLeft == 1 ? "" : "s"} remaining + {tier.slotsLeft} + {tier.slotsLeft == 1 ? "slot" : "slots"} availalbe ) : ( <>Fully booked @@ -391,8 +391,8 @@ const formatPrice = (price: number | string) => {
{tier.slotsLeft ? ( <> - {tier.slotsLeft} slot - {tier.slotsLeft == 1 ? "" : "s"} remaining + {tier.slotsLeft} + {tier.slotsLeft == 1 ? "slot" : "slots"} availalbe ) : ( <>Fully booked