diff --git a/src/components/hero-section/title-with-cta.astro b/src/components/hero-section/title-with-cta.astro new file mode 100644 index 000000000..fa17c2697 --- /dev/null +++ b/src/components/hero-section/title-with-cta.astro @@ -0,0 +1,26 @@ +--- +import ButtonLink from "../button-link/button-link.astro"; +import { Title } from "../typography/title"; + +interface Props { + title: string; + subtitle: string; + buttonText?: string; + buttonUrl?: string; +} + +const { title, subtitle, buttonText, buttonUrl } = Astro.props; +--- + +
{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..a65302570 --- /dev/null +++ b/src/components/ticket-tiers/ticket-tiers.astro @@ -0,0 +1,212 @@ +--- +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: [ + "Access to Workshop/Tutorial Days (14-15 July)", + "Access to Sprint Weekend (19-20 July)", + "Does NOT include the main Conference Days", + "Break refreshments and light lunch included", + "Free childcare available if needed", + "T-shirt" + ], + }, + { + title: "Conference Only", + educationPrice: 135, + personalPrice: 300, + businessPrice: 500, + latePersonalPrice: 450, + lateBusinessPrice: 750, + features: [ + "Access to Conference Days (16-18 July)", + "Access to Sprint Weekend (19-20 July)", + "Limited access to specific sponsored workshops", + "Break refreshments and light lunch included", + "Free childcare available if needed", + "T-shirt" + ], + }, + { + title: "Combined", + educationPrice: 210, + personalPrice: 450, + businessPrice: 800, + latePersonalPrice: 675, + lateBusinessPrice: 1200, + features: [ + "Access to ALL conference dates (14-20 July)", + "Workshop/Tutorial Days (14-15 July)", + "Conference Days (16-18 July)", + "Sprint Weekend (19-20 July)", + "Break refreshments and light lunch included", + "Free childcare available if needed", + "T-shirt", + "Limited to only 300, due to Tutorial capacity" + ], + }, +]; + +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); +}; +--- + +Choose the ticket that best fits your conference needs
+Regular tickets available until 27 June 2025, after which Late-bird rates apply
+This ticket includes:
+For those who cannot attend in person but want to participate virtually
+This ticket includes:
+This ticket includes:
++ EuroPython 2025 will be held on 14-20 July at the + Prague Congress Centre (PCC), Czech Republic. + For those who cannot physically join us but still want to support the community, + we have remote ticket options. +
+ +The conference will follow this timeline:
++ Each ticket type is available in three payment tiers. We encourage and trust you to pick a + fair ticket tier that fits your personal circumstance. The money you spend will be put + straight back into the community to support our diversity initiatives, + the financial aid programme and + the EPS Grants programme +
+ +If you need a proper VAT invoice listing your company's name, please purchase a business ticket. + Personal Tickets do not include a company name. We will list the ticket tier and type on your conference + badge to accommodate the registration staff.
++ Is your company attending the conference as a team? We offer the following volume discounts: +
+ +Notes:
+If you are interested in buying lots of tickets, please consider sponsoring the event!
++ As part of the GvR grant, we are offering free combined tickets to Python Core Developers. + We are also offering free combined tickets to all of our EuroPython Fellows, as an appreciation + for their major contribution to the past EuroPython conferences and Society. +
++ Please check out our grant page for details on how to apply for the + GvR grant or + EuroPython Fellow grant. +
++ We understand things can be complicated at times and you may not be able to attend after booking your ticket. + Therefore, we aim to offer a full refund of your ticket(s) if your circumstances change. +
++ Before 8 June 2025, you can request a full refund from the order details link in your order confirmation email. + After that date, please email us at refunds@europython.eu + if you need a refund due to special circumstances. +
++ If you have any questions, please check our FAQ. + If you still have questions, we're happy to help so don't hesitate to email our + EuroPython Helpdesk + (staffed by wonderful volunteers). +
+