1
1
---
2
- import ButtonLink from " ../button-link/button-link.astro" ;
3
- import { Title } from " ../typography/title" ;
4
2
import Keynoter from " ./keynoter.astro" ;
3
+ import Headline from " @ui/Headline.astro" ;
4
+ import Button from " @ui/Button.astro" ;
5
5
6
6
import { getCollection } from " astro:content" ;
7
7
8
8
const keynoters = await getCollection (" keynoters" );
9
9
10
- const placeholders = Math .max (0 , 6 - keynoters .length );
10
+ const placeholders = Math .max (0 , 5 - keynoters .length );
11
11
---
12
12
13
- <section class =" relative my-12 px-6" >
13
+ <section class =" prose-xl relative my-12 px-6" >
14
14
<svg viewBox =" 0 0 729 704" class =" absolute top-0 left-0 w-full h-full -z-10" >
15
15
<g
16
16
stroke =" none"
17
17
stroke-width ={ 1 }
18
18
fill =" none"
19
19
fill-rule =" evenodd"
20
- opacity ={ 0.4 }
20
+ opacity ={ 0.1 }
21
21
>
22
22
<g
23
23
transform =" translate(-297.000000, -4131.000000)"
24
- class =" fill-hero-primary "
24
+ class =" fill-secondary-light "
25
25
>
26
26
<g transform =" translate(81.000000, 3688.000000)" >
27
27
<g transform =" translate(216.000000, 443.000000)" >
@@ -79,25 +79,26 @@ const placeholders = Math.max(0, 6 - keynoters.length);
79
79
</g >
80
80
</svg >
81
81
82
- <Title className =" text-primary" >
83
- <a href =" /keynoters" >Keynote Speakers</a >
84
- </Title >
82
+ <Headline id =" keynoters" title =" Keynote Speakers" />
85
83
86
- <ul class =" mt-12 mb-24 flex gap-6 flex-wrap" >
84
+ <ul class =" p-0 mt-12 flex gap-6 flex-wrap justify-center " >
87
85
{
88
- keynoters .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
- class :list = { [
96
- " w-full sm:w-[calc(50%-1rem)] md:w-[calc(30%-1rem)]" ,
97
- { " md:ml-[10%]" : index === 0 },
98
- ]}
99
- />
100
- ))
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
+ ))
101
102
}
102
103
{
103
104
new Array (placeholders )
@@ -114,13 +115,16 @@ const placeholders = Math.max(0, 6 - keynoters.length);
114
115
}
115
116
</ul >
116
117
117
- <div class =" flex items-end flex-col pr-6" >
118
+ <div class =" flex items-center flex-col pr-6" >
118
119
<div class =" text-center" >
119
120
<h3 class =" font-bold text-3xl mb-4" >
120
121
<span class =" text-body-light inline-block mr-2" >#</span >
121
122
See other sessions
122
123
</h3 >
123
- <ButtonLink url =" /sessions" >List of Sessions</ ButtonLink >
124
+ <Button url =" /programme/ sessions" >See sessions preview</ Button >
124
125
</div >
125
126
</div >
126
127
</section >
128
+ <style >
129
+ .fill-hero-primary {}
130
+ </style >
0 commit comments