Skip to content

Commit 413eecf

Browse files
Link to talks
1 parent eaf9fe0 commit 413eecf

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

src/website/page/index.gleam

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,64 @@ pub fn view() -> Element(a) {
5555

5656
pub fn my_stuff() {
5757
component.text_page("My Stuff", [
58-
html.h2([attribute.class("text-2xl font-bold leading-tight")], [
58+
html.h2([attribute.class("text-2xl font-bold leading-tight my-2")], [
5959
element.text("Links"),
6060
]),
6161
html.p([], list.map(footer.socials, social)),
62+
html.h2([attribute.class("text-2xl font-bold leading-tight my-2")], [
63+
element.text("Talks"),
64+
]),
65+
html.p([], list.flat_map(talks, talk)),
6266
])
6367
}
6468

69+
const talks = [
70+
Talk(
71+
description: "Six to Sixteen: A Child's Programming Journey (Upcoming)",
72+
url: "https://2025.ffconf.org/surya",
73+
date: "14 November, 2025",
74+
conference: "FFConf 2025",
75+
location: "Duke of York's Cinema, Brighton",
76+
),
77+
Talk(
78+
description: "Gleam core team panel (Upcoming)",
79+
url: "https://gleamgathering.com/#speakers",
80+
date: "21 February, 2026",
81+
conference: "Gleam Gathering",
82+
location: "Origin Workspace, Bristol",
83+
),
84+
]
85+
86+
type Talk {
87+
Talk(
88+
description: String,
89+
url: String,
90+
date: String,
91+
conference: String,
92+
location: String,
93+
)
94+
}
95+
96+
fn talk(talk: Talk) -> List(Element(a)) {
97+
[
98+
html.a(
99+
[
100+
attribute.href(talk.url),
101+
attribute.target("_blank"),
102+
attribute.class("font-bold hover:underline text-xl"),
103+
],
104+
[
105+
element.text(talk.description),
106+
],
107+
),
108+
html.br([]),
109+
element.text(
110+
talk.date <> " - " <> talk.conference <> " - " <> talk.location,
111+
),
112+
html.br([]),
113+
]
114+
}
115+
65116
fn social(social: footer.Social) -> Element(a) {
66117
html.a([attribute.href(social.url), attribute.target("_blank")], [
67118
html.img([

0 commit comments

Comments
 (0)