diff --git a/src/components/sponsor-tiers/sponsor-tiers.astro b/src/components/sponsor-tiers/sponsor-tiers.astro index 1e24852b1..bdb8f9bd1 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", }; @@ -212,8 +225,64 @@ 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 + )} +
+ + +

This tier includes:

+ +
+ +
+ + )) + } + + + +
+

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} + {tier.slotsLeft == 1 ? "slot" : "slots"} availalbe ) : ( <>Fully booked @@ -268,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 @@ -322,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 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;