File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ export type OrganizerLink = {
2+ url : string ;
3+ icon : string ;
4+ label : string ;
5+ } ;
6+
17export type Organizer = {
28 name : string ;
39 image : string ;
410 index : number ;
11+ links ?: OrganizerLink [ ] ;
512} ;
613
714export const ORGANIZERS : Organizer [ ] = [
815 {
916 name : "Piotr Grędowski" ,
1017 image : "/organizers/piotr-gredowski.jpeg" ,
1118 index : 1 ,
19+ links : [
20+ {
21+ url : "https://pl.linkedin.com/in/piotrgredowski" ,
22+ icon : "/socials/linkedin.png" ,
23+ label : "LinkedIn" ,
24+ } ,
25+ ] ,
1226 } ,
1327 {
1428 name : "Dorota Ostrowska" ,
1529 image : "/organizers/dorota-ostrowska.jpeg" ,
1630 index : 2 ,
31+ links : [
32+ {
33+ url : "https://www.linkedin.com/in/ostrowska-dorota/" ,
34+ icon : "/socials/linkedin.png" ,
35+ label : "LinkedIn" ,
36+ } ,
37+ ] ,
1738 } ,
1839 {
1940 name : "Natalia Traczewska" ,
2041 image : "/organizers/natalia-traczewska.jpg" ,
2142 index : 3 ,
43+ links : [
44+ {
45+ url : "https://pl.linkedin.com/in/natalia-traczewska" ,
46+ icon : "/socials/linkedin.png" ,
47+ label : "LinkedIn" ,
48+ } ,
49+ ] ,
2250 } ,
2351 {
2452 name : "Data Science Club PJATK" ,
2553 image : "/organizers/dsc-pjatk.png" ,
2654 index : 4 ,
55+ links : [ ] ,
2756 } ,
2857] ;
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import { ContentButton } from "~/components/header";
66export const CFP = ( ) => (
77 < Container id = "cfp" variant = "smallContainer" >
88 < AnchorHeading anchor = "cfp" >
9- Call For Proposals is open until April 12 2026, 23:59 CET
9+ Call For Proposals is open until the end of Tuesday, April 14 2026
1010 </ AnchorHeading >
1111 < Paragraph >
1212 < a
Original file line number Diff line number Diff line change 1+ /** @jsxImportSource theme-ui */
12import React from "react" ;
3+ import { Image , Link } from "theme-ui" ;
24
3- const Organizer = ( { name, image } ) => {
5+ import type { Organizer as OrganizerType } from "~/data/organizers" ;
6+
7+ type OrganizerProps = Pick < OrganizerType , "name" | "image" | "links" > ;
8+
9+ const Organizer = ( { name, image, links = [ ] } : OrganizerProps ) => {
410 return (
511 < div >
612 < img
@@ -13,7 +19,53 @@ const Organizer = ({ name, image }) => {
1319 objectFit : "cover" ,
1420 } }
1521 />
16- < h3 > { name } </ h3 >
22+
23+ < div
24+ sx = { {
25+ display : "flex" ,
26+ justifyContent : "center" ,
27+ } }
28+ >
29+ < h3
30+ style = { { margin : 0 } }
31+ sx = { {
32+ display : "inline-flex" ,
33+ alignItems : "center" ,
34+ justifyContent : "center" ,
35+ gap : "0.4rem" ,
36+ flexWrap : "wrap" ,
37+ } }
38+ >
39+ < span > { name } </ span >
40+ { links . map ( ( link ) => (
41+ < Link
42+ as = "a"
43+ key = { `${ name } -${ link . url } ` }
44+ href = { link . url }
45+ target = "_blank"
46+ rel = "noopener noreferrer"
47+ aria-label = { link . label }
48+ title = { link . label }
49+ sx = { {
50+ display : "inline-flex" ,
51+ alignItems : "center" ,
52+ lineHeight : 0 ,
53+ } }
54+ >
55+ < Image
56+ src = { link . icon }
57+ alt = { link . label }
58+ sx = { {
59+ width : "16px" ,
60+ height : "16px" ,
61+ display : "block" ,
62+ filter : "brightness(0)" ,
63+ } }
64+ />
65+ </ Link >
66+ ) ) }
67+ </ h3 >
68+ </ div >
1769 </ div >
1870 ) ;
1971} ;
Original file line number Diff line number Diff line change @@ -27,7 +27,12 @@ export const OrganizerSection = () => {
2727 >
2828 < Grid columns = { [ 2 , 2 , 2 , 3 ] } gap = "primary" >
2929 { ORGANIZERS . map ( ( org ) => (
30- < Organizer key = { org . index } name = { org . name } image = { org . image } />
30+ < Organizer
31+ key = { org . index }
32+ name = { org . name }
33+ image = { org . image }
34+ links = { org . links }
35+ />
3136 ) ) }
3237 </ Grid >
3338 </ div >
You can’t perform that action at this time.
0 commit comments