Skip to content

Commit 027e037

Browse files
committed
Updates based on the comments.
1 parent 7fc4cbb commit 027e037

File tree

12 files changed

+89
-24
lines changed

12 files changed

+89
-24
lines changed

src/components/BaseHead.astro

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,5 @@ const { title, description, image = "/social-card.png" } = Astro.props;
5858
is:inline
5959
data-domain="ep2025.europython.eu"
6060
src="https://plausible.io/js/script.js"></script>
61+
62+
<script src="https://kit.fontawesome.com/14a4971ab3.js" crossorigin="anonymous"></script>

src/components/keynoters/keynoter.astro

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export interface Props {
1313
tagline?: string;
1414
image?: ImageMetadata;
1515
placeholder?: boolean;
16+
order?: number;
1617
class?: string;
1718
}
1819
@@ -22,6 +23,7 @@ const {
2223
tagline,
2324
image,
2425
placeholder,
26+
order,
2527
class: className,
2628
} = Astro.props;
2729

src/components/keynoters/keynoters.astro

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
import Keynoter from "./keynoter.astro";
3-
import Headline from "@ui/Headline.astro"
3+
import Headline from "@ui/Headline.astro";
44
import Button from "@ui/Button.astro";
55
66
import { getCollection } from "astro:content";
@@ -83,19 +83,22 @@ const placeholders = Math.max(0, 6 - keynoters.length);
8383

8484
<ul class="p-0 mt-12 flex gap-6 flex-wrap">
8585
{
86-
keynoters.map((keynoter, index) => (
87-
<Keynoter
88-
name={keynoter.data.name}
89-
slug={keynoter.slug}
90-
tagline={keynoter.data.tagline}
91-
image={keynoter.data.image}
92-
placeholder={false}
93-
class:list={[
94-
"w-full sm:w-[calc(50%-1rem)] md:w-[calc(30%-1rem)]",
95-
{ "md:ml-[10%]": index === 0 },
96-
]}
97-
/>
98-
))
86+
keynoters
87+
.sort((a, b) => a.data.order - b.data.order)
88+
.map((keynoter, index) => (
89+
<Keynoter
90+
name={keynoter.data.name}
91+
slug={keynoter.slug}
92+
tagline={keynoter.data.tagline}
93+
image={keynoter.data.image}
94+
placeholder={false}
95+
order={keynoter.data.order}
96+
class:list={[
97+
"w-full sm:w-[calc(50%-1rem)] md:w-[calc(30%-1rem)]",
98+
{ "md:ml-[10%]": index === 0 },
99+
]}
100+
/>
101+
))
99102
}
100103
{
101104
new Array(placeholders)
@@ -118,7 +121,7 @@ const placeholders = Math.max(0, 6 - keynoters.length);
118121
<span class="text-body-light inline-block mr-2">#</span>
119122
See other sessions
120123
</h3>
121-
<Button url="/sessions">List of Sessions</Button>
124+
<Button url="/programme/sessions">See sessions preview</Button>
122125
</div>
123126
</div>
124127
</section>

src/components/sections/prague.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import PragueComponent from "@components/hero-section/prague.astro";
33
import * as venue from "../../data/home/prague.mdx";
44
---
5-
<div class="mt-2 px-6 pb-40 overflow-visible">
5+
<div class="mt-12 px-6 pb-32 overflow-visible">
66
<PragueComponent title={venue.frontmatter.title}>
77
<venue.Content />
88
</PragueComponent>

src/components/sections/updates.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ deadlines = deadlines
1313
.slice(0, 3);
1414
1515
---
16-
<section class="prose-xl m-0 p-0">
16+
<section class="prose-xl m-0 my-12 p-0">
1717
<Headline id="updates" title="Updates" />
1818
<CardContainer>
1919
{deadlines.map((deadline) => <DeadlineCard id={deadline.slug} />)}

src/components/ui/Button.astro

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
---
2-
const {
3-
url,
4-
class: className = "",
5-
secondary = false,
6-
outline = false,
7-
disabled = false,
8-
isExternal
2+
import Icon from "@ui/Icon.astro";
3+
4+
const {
5+
url,
6+
class: className = "",
7+
secondary = false,
8+
outline = false,
9+
disabled = false,
10+
isExternal,
11+
icon,
12+
iconSvg = false,
13+
iconRight = false
914
} = Astro.props;
1015
1116
const resolvedIsExternal = isExternal ?? url?.startsWith("http");
@@ -15,6 +20,8 @@ const primaryClasses = "bg-button text-text-inverted hover:bg-button-hover borde
1520
const secondaryClasses = "bg-primary text-white hover:bg-primary-hover border-transparent";
1621
const outlineClasses = "border-gray-500 text-gray-700 hover:bg-gray-100 hover:bg-button-hover";
1722
const disabledClasses = "opacity-50 pointer-events-none";
23+
const iconClasses = "pl-2 w-5 h-5";
24+
1825
---
1926

2027
{url ? (
@@ -27,7 +34,9 @@ const disabledClasses = "opacity-50 pointer-events-none";
2734
aria-disabled={disabled}
2835
{...(resolvedIsExternal ? { target: "_blank", rel: "noopener noreferrer" } : {})}
2936
>
37+
{!iconRight && icon && <Icon name={icon} svg={iconSvg} class={iconClasses} />}
3038
<slot />
39+
{iconRight && icon && <Icon name={icon} svg={iconSvg} class={iconClasses} />}
3140
{resolvedIsExternal && <span class="ml-1 text-lg leading-4">↗</span>}
3241
</a>
3342
) : (
@@ -39,6 +48,8 @@ const disabledClasses = "opacity-50 pointer-events-none";
3948
disabled={disabled}
4049
aria-disabled={disabled}
4150
>
51+
{!iconRight && icon && <Icon name={icon} svg={iconSvg} class={iconClasses} />}
4252
<slot />
53+
{iconRight && icon && <Icon name={icon} svg={iconSvg} class={iconClasses} />}
4354
</button>
4455
)}

src/components/ui/Icon.astro

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
const {
3+
name,
4+
svg = false,
5+
class: className = "",
6+
size = "w-5 h-5", // Default size (Tailwind)
7+
label = "",
8+
role = "img"
9+
} = Astro.props;
10+
---
11+
12+
{svg ? (
13+
<svg
14+
class={`${size} ${className}`}
15+
aria-label={label || undefined}
16+
role={label ? role : "presentation"}
17+
aria-hidden={!label}
18+
>
19+
<use href={`#${name}`} />
20+
</svg>
21+
) : (
22+
<i
23+
class={`fa-solid fa-${name} ${size} ${className}`}
24+
aria-label={label || undefined}
25+
role={label ? role : "presentation"}
26+
aria-hidden={!label}
27+
></i>
28+
)}

src/content/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ const keynoters = defineCollection({
5050
name: z.string(),
5151
tagline: z.string().optional(),
5252
image: image(),
53+
order: z.number(),
5354
}),
5455
});
5556

src/content/keynoters/brett.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ name: Brett Cannon
33
image: ./brett.jpg
44
slug: brett-cannon
55
tagline: CPython Core Developer & the 5th most prolific PEP (co-)author
6+
order: 1
67
---

src/content/keynoters/savannah.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ name: Savannah Ostrowski
33
image: ./savannah.png
44
slug: savannah-ostrowski
55
tagline: CPython Core Developer & JIT Maintainer
6+
order: 2
67
---

0 commit comments

Comments
 (0)