Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions src/content/prose/cfp-details.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { event } from "@data/event";

<div class="prose-banner">
<p class="m-0">Submissions close {event.cfp.deadlineDisplay}.</p>
<p class="m-0"><a class="text-white" href={event.cfp.url} target="_blank" rel="noopener noreferrer">Submit your talk →</a></p>
<p class="m-0">The CFP is now closed. Submissions closed {event.cfp.deadlineDisplay}.</p>
</div>

## Everyone is welcome here
Expand Down
4 changes: 2 additions & 2 deletions src/content/prose/cfp.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
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.
The CFP is now closed. Thank you to everyone who submitted a talk - we can't wait to see you in November.

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 closed **{event.cfp.deadlineDisplay}**.
7 changes: 1 addition & 6 deletions src/data/event.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
// Update this file (and the other ones in this directory)
// to stand up a new edition.

const cfpUrl = "https://forms.gle/41Zpwh2N2uS4P1RB8";

export const event = {
name: "Python Pizza Istanbul",
city: "Istanbul",
Expand All @@ -14,7 +12,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: "#",
ticketsUrl: "https://kommunity.com/pythonturkiye/events/python-pizza-istanbul-4fa122d9",
maxAttendees: 150,
organizer: {
name: "Python Türkiye",
Expand All @@ -28,9 +26,6 @@ export const event = {
"https://maps.google.com/?q=StartGate+Maslak+Eski+Büyükdere+Caddesi+21",
},
cfp: {
url: cfpUrl,
deadlineDisplay: "Monday, 7 September 2026, 23:59 AoE",
},
// whatever is most important right now
cta: { label: "Submit a talk! 🎤", href: cfpUrl },
};
6 changes: 1 addition & 5 deletions src/pages/cfp.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,20 @@ 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 { event } from "@data/event";
import Content from "@prose/cfp-details.mdx";
---

<Base
title={`Call for Proposals | ${event.name}`}
description={`Submit a talk for ${event.name}, ${event.whenDisplay}. All experience levels welcome.`}
description={`The Call for Proposals for ${event.name}, ${event.whenDisplay}, is now closed.`}
>
<Header />
<main class="section-sm text-left pt-32">
<h1 class="section-heading">Call for Proposals</h1>
<Prose class="[&_p]:mb-4 [&_h2]:mt-10 [&_strong]:font-medium">
<Content />
</Prose>
<div class="text-center mt-8">
<CtaButton href={event.cfp.url}>Submit your talk</CtaButton>
</div>
</main>
<Footer />
</Base>
23 changes: 1 addition & 22 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,12 @@ const twitter = socials.find((s) => s.handle);
</Fragment>

<Header />
<CtaButton
id="floating-cta"
href={event.cta.href}
class="cta-hidden fixed right-4 bottom-4 md:right-8 md:bottom-8 z-20 min-w-40 md:min-w-44 shadow-lg"
>
{event.cta.label}
</CtaButton>
<main>
<Hero />
<Section id="about" title={`Python Pizza is Coming to ${event.city}!`}>
<Prose><AboutContent /></Prose>
</Section>
<Section id="cfp" title="Call for Proposals is Open! 🎤">
<Section id="cfp" title="Call for Proposals is Closed">
<Prose><CfpContent /></Prose>
<CtaButton href="/cfp/" class="mt-8">Read the full CFP →</CtaButton>
</Section>
Expand All @@ -59,18 +52,4 @@ const twitter = socials.find((s) => s.handle);
</Section>
</main>
<Footer />

<script>
// floating cta button appears when the hero cta button is scrolled out of view
const heroCta = document.getElementById("hero-cta");
const floatingCta = document.getElementById("floating-cta");

if (heroCta && floatingCta) {
const observer = new IntersectionObserver(
([entry]) => floatingCta.classList.toggle("cta-hidden", entry.isIntersecting),
{ threshold: 0.4 },
);
observer.observe(heroCta);
}
</script>
</Base>
17 changes: 9 additions & 8 deletions src/sections/Hero.astro
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ const optimizedCityBg = await getImage({
</h1>
<p class="hero-subtext md:text-[2.2rem]">{event.subHeading}</p>
<p class="hero-subtext md:text-[2.2rem]">{event.whenDisplay}</p>
<CtaButton
id="hero-cta"
href={event.cta.href}
variant="outline"
class="mt-12 px-10 py-4 text-lg md:text-xl"
>
{event.cta.label}
</CtaButton>
<div class="mt-12 flex flex-col sm:flex-row items-center justify-center gap-4">
<CtaButton
href={event.ticketsUrl}
variant="solid"
class="px-10 py-4 text-lg md:text-xl"
>
Get a ticket! 🎟️
</CtaButton>
</div>
</div>

<Wave />
Expand Down
5 changes: 0 additions & 5 deletions src/styles/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,6 @@
@apply border-2 border-white bg-white/15 text-white backdrop-blur-sm hover:bg-white hover:text-primary;
}

.cta-hidden {
opacity: 0;
pointer-events: none;
}

.stripe-badge {
background-image: linear-gradient(
45deg,
Expand Down
Loading