{subtitle}
+ + {buttonText && buttonUrl && ( +{children}
++ {children} +
); }; diff --git a/src/components/ticket-tiers/ticket-tiers.astro b/src/components/ticket-tiers/ticket-tiers.astro new file mode 100644 index 000000000..1ae927285 --- /dev/null +++ b/src/components/ticket-tiers/ticket-tiers.astro @@ -0,0 +1,152 @@ +--- +import { Title } from "../typography/title"; + +interface Props { + ticketShopLink: string; +} + +interface TicketTierProps { + title: string; + educationPrice: number | string; + personalPrice: number | string; + businessPrice: number | string; + lateBusinessPrice?: number | string; + latePersonalPrice?: number | string; + features: string[]; +} + +const tiers: TicketTierProps[] = [ + { + title: "Tutorial Only", + educationPrice: 100, + personalPrice: 200, + businessPrice: 400, + features: [ + { text: "Access to two full days of workshops, summits, and tutorials across six parallel tracks (14-15 July)" }, + { text: "Does NOT include access to three days of talks across six parallel tracks with 130+ talks (16-18 July)", icon: "❌" }, + { text: "Does NOT include access to open spaces throughout the three conference days", icon: "❌" }, + { text: "Does NOT include access to sponsor booths with opportunities to connect with sponsoring companies", icon: "❌" }, + { text: "Access to Sprint Weekend (19-20 July)" }, + { text: "Light lunch provided each day" }, + { text: "Break refreshments (coffee, tea, water, and more)" }, + { text: "Access to in-person networking opportunities during the tutorial days" }, + { text: "Access to free childcare if needed" }, + { text: "Conference T-shirt included" }, + { text: "Limited to only 300, due to tutorial capacity", icon: "⚠️" }, + ], + }, + { + title: "Conference Only", + educationPrice: 135, + personalPrice: 300, + businessPrice: 500, + latePersonalPrice: 450, + lateBusinessPrice: 750, + features: [ + { text: "Access to two full days of workshops, summits, and tutorials across six parallel tracks (14-15 July)", icon: "❌" }, + { text: "Access to three days of talks across six parallel tracks with 130+ talks (16-18 July)" }, + { text: "Access to open spaces throughout the three conference days" }, + { text: "Access to Sprint Weekend (19-20 July)" }, + { text: "Access to sponsor booths with opportunities to connect with sponsoring companies" }, + { text: "Access to Sprint Weekend (19-20 July)" }, + { text: "Limited access to specific sponsored workshops" }, + { text: "Light lunch provided each day" }, + { text: "Break refreshments (coffee, tea, water, and more)" }, + { text: "Access to in-person networking opportunities during the main conference days" }, + { text: "Access to free childcare if needed" }, + { text: "Conference T-shirt included" }, + ], + }, + { + title: "Combined", + educationPrice: 210, + personalPrice: 450, + businessPrice: 800, + latePersonalPrice: 675, + lateBusinessPrice: 1200, + features: [ + { text: "Access to two full days of workshops, summits, and tutorials across six parallel tracks (14-15 July)" }, + { text: "Access to three days of talks across six parallel tracks with 130+ talks (16-18 July)" }, + { text: "Access to open spaces throughout the three conference days" }, + { text: "Access to sponsor booths with opportunities to connect with sponsoring companies" }, + { text: "Access to Sprint Weekend (19-20 July)" }, + { text: "Limited access to specific sponsored workshops" }, + { text: "Light lunch provided each day" }, + { text: "Break refreshments (coffee, tea, water, and more)" }, + { text: "Access to in-person networking opportunities throughout the entire conference" }, + { text: "Access to free childcare if needed" }, + { text: "Conference T-shirt included" }, + { text: "Limited to only 300, due to tutorial capacity", icon: "⚠️" }, + ], + }, +]; + + +const formatPrice = (price: number | string) => { + if (typeof price === "string") return price; + return new Intl.NumberFormat("en", { + style: "currency", + currency: "EUR", + maximumFractionDigits: 0, + minimumFractionDigits: 0, + }).format(price); +}; +--- + +This ticket includes:
+A week of all things Python:
++ Are you a CPython Core Developer or an EPS Fellow? You're eligible for a free combined ticket! +
++ Please check out our grant page for details on how to apply for the + GvR grant or + EuroPython Fellow grant. +
++ We know plans can change! If you can't attend, you can request a full refund via your order confirmation email until June 8, 2025. +
++ After that, email us at refunds@europython.eu if you need a refund due to special circumstances. +
+