diff --git a/src/components/button-link/button-link.astro b/src/components/button-link/button-link.astro new file mode 100644 index 000000000..c99d8c788 --- /dev/null +++ b/src/components/button-link/button-link.astro @@ -0,0 +1,32 @@ +--- +import type React from 'react'; + +export interface Props { + url?: string; + children: React.ReactNode; + disabled?: boolean; + className?: string; + secondary?: boolean; + isExternal?: boolean; +} + +const { url, className = "", secondary = false, disabled = false, isExternal} = Astro.props; +const resolvedIsExternal = isExternal !== undefined ? isExternal : url?.startsWith("http"); +--- + + + + + {resolvedIsExternal && ( + + ↗ + + )} + diff --git a/src/components/button-link/button-link.tsx b/src/components/button-link/button-link.tsx deleted file mode 100644 index 44e00bcec..000000000 --- a/src/components/button-link/button-link.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { clsx } from "clsx"; - -export const ButtonLink = ({ - href, - children, - className, - secondary = false, - isExternal, -}: { - href: string; - children: React.ReactNode; - secondary?: boolean; - className?: string; - isExternal?: boolean; // Make isExternal an optional parameter -}) => { - // default isExternal to href.startsWith("http") if not directly provided - const resolvedIsExternal = isExternal ?? href.startsWith("http"); - - return ( - - {children} - - {resolvedIsExternal && ( - - ↗ - - )} - - ); -}; diff --git a/src/components/button-link/index.tsx b/src/components/button-link/index.tsx deleted file mode 100644 index 861775f64..000000000 --- a/src/components/button-link/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { ButtonLink } from "./button-link"; diff --git a/src/components/button-with-title/button-with-title.tsx b/src/components/button-with-title/button-with-title.tsx deleted file mode 100644 index a2884ed0e..000000000 --- a/src/components/button-with-title/button-with-title.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { ButtonLink } from "../button-link"; -import { Title } from "../typography/title"; - -type Props = { - title: string; - href: string; - text: string; -}; - -export const ButtonWithTitle = ({ title, href, text }: Props) => { - return ( -
- - {title} - - -
- {text} -
-
- ); -}; diff --git a/src/components/button-with-title/index.tsx b/src/components/button-with-title/index.tsx deleted file mode 100644 index 1808fbfbb..000000000 --- a/src/components/button-with-title/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { ButtonWithTitle } from "./button-with-title"; diff --git a/src/components/button/button.tsx b/src/components/button/button.tsx deleted file mode 100644 index 172765e8c..000000000 --- a/src/components/button/button.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { clsx } from "clsx"; - -export const Button = ({ - href, - children, - secondary = false, -}: { - href: string; - children: React.ReactNode; - secondary?: boolean; -}) => { - return ( - - {children} - - ); -}; diff --git a/src/components/button/index.tsx b/src/components/button/index.tsx deleted file mode 100644 index 398a3c509..000000000 --- a/src/components/button/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { Button } from "./button"; diff --git a/src/components/card/card.astro b/src/components/card/card.astro index d06a39b1a..154ca1007 100644 --- a/src/components/card/card.astro +++ b/src/components/card/card.astro @@ -1,7 +1,7 @@ --- import type { ImageMetadata } from "astro"; import { Image } from "astro:assets"; -import { ButtonLink } from "../button-link/button-link"; +import ButtonLink from "../button-link/button-link.astro"; export interface Props { title: string; @@ -28,7 +28,7 @@ const { title, subtitle, url, image } = Astro.props;

{title}

diff --git a/src/components/header/header-actions.astro b/src/components/header/header-actions.astro index a2d048ecf..2786369e8 100644 --- a/src/components/header/header-actions.astro +++ b/src/components/header/header-actions.astro @@ -1,5 +1,5 @@ --- -import { ButtonLink } from "../button-link"; +import ButtonLink from "../button-link/button-link.astro"; import HeaderButton from "./header-button.astro"; export interface Props { @@ -15,17 +15,17 @@ const IS_LIVE = false; { !mobile ? ( <> - + CoC - + Community vote {IS_LIVE && ( - + Live diff --git a/src/components/hero-section/prague.astro b/src/components/hero-section/prague.astro index 6db8ab832..8a3084e4c 100644 --- a/src/components/hero-section/prague.astro +++ b/src/components/hero-section/prague.astro @@ -1,6 +1,6 @@ --- import Prose from "../prose/prose.astro"; -import { ButtonLink } from "../button-link"; +import ButtonLink from "../button-link/button-link.astro"; import { Title } from "../typography/title"; import { Image } from "astro:assets"; @@ -31,12 +31,12 @@ import venueImage from "./prague.png";
- + Where is EuroPython?
- + Explore Prague
diff --git a/src/components/keynoters/keynoters.astro b/src/components/keynoters/keynoters.astro index 4b0023db7..b24b97829 100644 --- a/src/components/keynoters/keynoters.astro +++ b/src/components/keynoters/keynoters.astro @@ -1,5 +1,5 @@ --- -import { ButtonLink } from "../button-link/button-link"; +import ButtonLink from "../button-link/button-link.astro"; import { Title } from "../typography/title"; import Keynoter from "./keynoter.astro"; @@ -120,7 +120,7 @@ const placeholders = Math.max(0, 6 - keynoters.length); # See other sessions - List of Sessions + List of Sessions diff --git a/src/components/sponsors/sponsors.astro b/src/components/sponsors/sponsors.astro index 069127fe3..ef3a20ee0 100644 --- a/src/components/sponsors/sponsors.astro +++ b/src/components/sponsors/sponsors.astro @@ -4,7 +4,7 @@ import { Separator } from "../separator/separator"; import { Fragment } from "react"; import { Fullbleed } from "../layout/fullbleed"; -import { ButtonLink } from "../button-link"; +import ButtonLink from "../button-link/button-link.astro"; import { Title } from "../typography/title"; import SponsorTier from "./sponsor-tier.astro"; @@ -70,7 +70,7 @@ const topTier = sponsorTiers.find((tier) => tier.name === "Keystone"); }
- Become a sponsor + Become a sponsor
diff --git a/src/content/pages/images/voting.png b/src/content/pages/images/voting.png new file mode 100644 index 000000000..491c1dd02 Binary files /dev/null and b/src/content/pages/images/voting.png differ diff --git a/src/content/pages/programme/cfp.mdx b/src/content/pages/programme/cfp.mdx index 8cbc44044..7f7a77634 100644 --- a/src/content/pages/programme/cfp.mdx +++ b/src/content/pages/programme/cfp.mdx @@ -10,7 +10,9 @@ subtitle: A set of tips to help you put together a strong, compelling EuroPython The Call for Proposals ran from the 10th of January to the 3rd of February 2025, 23:59 UTC.
-
+ ### Call for Reviewers Now Open + JOIN THE REVIEWER TEAM! + ----- diff --git a/src/content/pages/programme/mentorship.mdx b/src/content/pages/programme/mentorship.mdx index c165e3b9b..6c0b1c8c8 100644 --- a/src/content/pages/programme/mentorship.mdx +++ b/src/content/pages/programme/mentorship.mdx @@ -27,7 +27,7 @@ mentee what their contribution should be (that's for the mentee to decide). ## Mentors
- + Signup closed
We expect mentors to have past speaking experience at conferences similar to @@ -48,7 +48,7 @@ You will also be invited to join the panel of the Webinar Workshops. ## Mentee
- + Signup closed
If you require help contributing to EuroPython, especially if you are from an diff --git a/src/content/pages/programme/voting.mdx b/src/content/pages/programme/voting.mdx index f30029bea..9d02e040d 100644 --- a/src/content/pages/programme/voting.mdx +++ b/src/content/pages/programme/voting.mdx @@ -3,6 +3,9 @@ title: Voting subtitle: Your opinion for a great conference! --- +import { Image } from "astro:assets"; +import voteOptions from "../images/voting.png"; + # Community Voting Welcome to EuroPython Community Voting! We want feedback about what YOU would @@ -20,7 +23,7 @@ from Wednesday, 5 February 23:00:00 UTC until Monday, 17 February 23:59:59 UTC -Cast your votes now! +Cast your votes now! @@ -67,14 +70,7 @@ to receive a new confirmation link. For each submission, you can choose only one of four options -
- - -
-
- - -
+Vote Options - Your vote for each submission is automatically saved, but you can change it at any time before the voting phase ends. @@ -93,9 +89,12 @@ programme team who curate and are responsible for the final programme, but one of the major factors upon which they rely, will be the preferences of the community through this voting process. -
-Go to the community voting -
+ + Go to the community voting + **[Subscribe to our newsletter](https://blog.europython.eu/#/portal/signup)** diff --git a/src/pages/[...slug].astro b/src/pages/[...slug].astro index 56a77d50b..299962141 100644 --- a/src/pages/[...slug].astro +++ b/src/pages/[...slug].astro @@ -3,15 +3,13 @@ import { type CollectionEntry, getCollection } from "astro:content"; import Layout from "../layouts/Layout.astro"; import Prose from "../components/prose/prose.astro"; -import { ButtonLink } from "../components/button-link"; -import { Button } from "../components/button"; +import ButtonLink from "../components/button-link/button-link.astro"; import { Separator } from "../components/separator/separator"; import { Map } from "../components/map"; import { MapSprints } from "../components//map-for-sprints"; import { YouTube } from "@astro-community/astro-embed-youtube"; import BenefitsList from "../components/benefits-list/benefits-list.astro"; import BenefitItem from "../components/benefits-list/benefit-item.astro"; -import { ButtonWithTitle } from "../components/button-with-title"; import { Note } from "../components/note"; import { SponsorTiers } from "../components/sponsor-tiers"; @@ -38,13 +36,11 @@ const description = post.data.subtitle;