diff --git a/src/components/CtaButton.astro b/src/components/Button.astro similarity index 62% rename from src/components/CtaButton.astro rename to src/components/Button.astro index 8785193..d85cd26 100644 --- a/src/components/CtaButton.astro +++ b/src/components/Button.astro @@ -1,11 +1,17 @@ --- interface Props { href: string; - variant?: "solid" | "outline"; + variant?: "solid" | "outline" | "inverted"; class?: string; id?: string; } +const variantClass = { + solid: "btn-solid", + outline: "btn-outline", + inverted: "btn-inverted", +}; + const { href, variant = "solid", class: cls, id } = Astro.props; const external = href.startsWith("http"); --- @@ -15,7 +21,7 @@ const external = href.startsWith("http"); href={href} target={external ? "_blank" : undefined} rel={external ? "noopener noreferrer" : undefined} - class:list={["btn", variant === "outline" ? "btn-outline" : "btn-solid", cls]} + class:list={["btn", variantClass[variant], cls]} > diff --git a/src/content/prose/cfp-details.mdx b/src/content/prose/cfp-details.mdx index 8068b09..bcf7e55 100644 --- a/src/content/prose/cfp-details.mdx +++ b/src/content/prose/cfp-details.mdx @@ -1,8 +1,10 @@ import { event } from "@data/event"; +import Button from "@components/Button.astro";
-

Submissions close {event.cfp.deadlineDisplay}.

-

Submit your talk β†’

+

Deadline extended!

+

Submissions now close 25 August 2026 {event.cfp.deadlineDisplay}.

+
## Everyone is welcome here diff --git a/src/content/prose/cfp.mdx b/src/content/prose/cfp.mdx index d53911e..99b756d 100644 --- a/src/content/prose/cfp.mdx +++ b/src/content/prose/cfp.mdx @@ -2,4 +2,4 @@ import { event } from "@data/event"; The CFP is open! Got a Python project, story, or hard-won lesson to share? We want to hear it - all experience levels welcome, first-time speakers especially. -Talks are 10 minutes, mostly in English, with a few Turkish slots for this first edition. Submissions close **{event.cfp.deadlineDisplay}**. +Talks are 10 minutes, mostly in English, with a few Turkish slots for this first edition. Submissions close 25 August 2026{" "}{event.cfp.deadlineDisplay}. diff --git a/src/data/event.ts b/src/data/event.ts index 49f0c7a..b398f2d 100644 --- a/src/data/event.ts +++ b/src/data/event.ts @@ -3,6 +3,8 @@ // to stand up a new edition. const cfpUrl = "https://forms.gle/41Zpwh2N2uS4P1RB8"; +const ticketsUrl = + "https://kommunity.com/pythonturkiye/events/python-pizza-istanbul-4fa122d9"; export const event = { name: "Python Pizza Istanbul", @@ -14,7 +16,7 @@ export const event = { startDate: "2026-11-14T11:00:00+03:00", endDate: "2026-11-14T18:00:00+03:00", contactEmail: "organizers@pythonturkiye.org", - ticketsUrl: "https://kommunity.com/pythonturkiye/events/python-pizza-istanbul-4fa122d9", + ticketsUrl: ticketsUrl, maxAttendees: 150, organizer: { name: "Python Türkiye", @@ -31,6 +33,21 @@ export const event = { url: cfpUrl, deadlineDisplay: "Monday, 7 September 2026, 23:59 AoE", }, - // whatever is most important right now - cta: { label: "Submit a talk! 🎀", href: cfpUrl }, + // shown together in the hero; ctas with floating: true also get a floating button once scrolled past + ctas: [ + { + id: "cfp", + label: "Submit a talk! 🎀", + href: cfpUrl, + variant: "outline" as const, + floating: true, + }, + { + id: "tickets", + label: "Get your ticket! 🎟️", + href: ticketsUrl, + variant: "inverted" as const, + floating: false, + }, + ], }; diff --git a/src/pages/cfp.astro b/src/pages/cfp.astro index 9fd9b50..908e4bc 100644 --- a/src/pages/cfp.astro +++ b/src/pages/cfp.astro @@ -3,7 +3,7 @@ import Base from "@layouts/Base.astro"; import Header from "@components/Header.astro"; import Footer from "@components/Footer.astro"; import Prose from "@components/Prose.astro"; -import CtaButton from "@components/CtaButton.astro"; +import Button from "@components/Button.astro"; import { event } from "@data/event"; import Content from "@prose/cfp-details.mdx"; --- @@ -19,7 +19,7 @@ import Content from "@prose/cfp-details.mdx";
- Submit your talk +