Skip to content

Commit 287b194

Browse files
authored
Add 2025 streamers teams (#19)
1 parent 2606d5a commit 287b194

File tree

3 files changed

+95
-57
lines changed

3 files changed

+95
-57
lines changed

app/app/src/components/StreamersTable.astro

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ import CountryFlag from '~/components/CountryFlag.astro'
55
import SocialPlatformIcon from '~/components/SocialPlatformIcon.astro'
66
import streamersSocialsYml from '~/data/streamers/socials.yml?raw'
77
8+
interface YamlStreamerList
9+
{
10+
teams: Record<string, string>
11+
streamers: Record<string, {
12+
team: string
13+
} | null>
14+
}
15+
816
interface YamlStreamerSocials
917
{
1018
name: string
@@ -19,14 +27,36 @@ interface StreamerSocials
1927
{
2028
name: string
2129
country: string
30+
team?: string | null
2231
socials: Array<{
2332
platform: string
2433
url: string
2534
}>
2635
}
2736
28-
const { streamersListYml = '[]' } = Astro.props
29-
const streamersList = YAML.parse(streamersListYml) as Array<string>
37+
function parseStreamerList(streamersListYml: string): YamlStreamerList
38+
{
39+
const streamersList = YAML.parse(streamersListYml)
40+
41+
if (Array.isArray(streamersList))
42+
{
43+
return {
44+
teams: {},
45+
streamers: streamersList.reduce(
46+
(acc, name) => ({ ...acc, [name]: null }),
47+
{} as Record<string, { team: string } | null>
48+
),
49+
}
50+
}
51+
52+
return streamersList as YamlStreamerList
53+
}
54+
55+
const {
56+
streamersListYml = '[]',
57+
showTeams = false,
58+
} = Astro.props
59+
const streamersList = parseStreamerList(streamersListYml)
3060
const streamersSocials = YAML.parse(streamersSocialsYml) as Record<string, YamlStreamerSocials>
3161
3262
const socialPlatforms = [
@@ -39,8 +69,8 @@ const socialPlatforms = [
3969
'links',
4070
]
4171
42-
const streamers: Array<StreamerSocials> = streamersList.map(
43-
(name): StreamerSocials =>
72+
const streamers: Array<StreamerSocials> = Object.entries(streamersList.streamers).map(
73+
([name, data]): StreamerSocials =>
4474
{
4575
const streamer = streamersSocials[name]
4676
@@ -56,6 +86,7 @@ const streamers: Array<StreamerSocials> = streamersList.map(
5686
return {
5787
name: streamer.name,
5888
country: streamer.country,
89+
...(showTeams && { team: data?.team ? streamersList.teams[data.team] : null }),
5990
socials: socialPlatforms.reduce(
6091
(socials, platform) =>
6192
{
@@ -71,7 +102,7 @@ const streamers: Array<StreamerSocials> = streamersList.map(
71102
return socials
72103
},
73104
[] as StreamerSocials['socials'],
74-
)
105+
),
75106
}
76107
}
77108
)
@@ -83,6 +114,7 @@ const streamers: Array<StreamerSocials> = streamersList.map(
83114
<tr>
84115
<th><span class="sr-only">Nationalité</span></th>
85116
<th>Participant</th>
117+
{showTeams && <th>Équipe</th>}
86118
<th>Réseaux sociaux</th>
87119
</tr>
88120
</thead>
@@ -94,6 +126,7 @@ const streamers: Array<StreamerSocials> = streamersList.map(
94126
<CountryFlag country={streamer.country} />
95127
</td>
96128
<td>{streamer.name}</td>
129+
{showTeams && <td>{streamer.team || ''}</td>}
97130
<td>
98131
{streamer.socials.map((social, index) => (
99132
<>

app/app/src/content/docs/fluff-event-2025/streamers.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ streaming et la collecte de fonds pour l'association **En Avant Toute(s)**.
1010
import StreamersTable from '~/components/StreamersTable.astro'
1111
import streamersListYml from '~/data/streamers/2025.yml?raw'
1212

13-
<StreamersTable streamersListYml={streamersListYml} />
13+
<StreamersTable streamersListYml={streamersListYml} showTeams={true} />
Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
1-
- amiliavt
2-
- atomicbraven
3-
- azeleneuf
4-
- baphostv
5-
- blakeprod
6-
- blaqkcat
7-
- dodgerakame
8-
- drakelelionblanc
9-
- elzbietatv
10-
- emarcanine
11-
- endoku_chan
12-
- esliane
13-
- extranumby
14-
- fluffy
15-
- foxyareku
16-
- furo
17-
- hildamist
18-
- ikutokami
19-
- keola
20-
- kokore
21-
- lechatoo
22-
- luiroi
23-
- lutzthakitten
24-
- malidoudou
25-
- manaryuujin
26-
- masakifujiwara
27-
- mommysillica
28-
- narcos_furry
29-
- nia_c
30-
- nisumi
31-
- peachypiwie
32-
- perceval_robin
33-
- pheden
34-
- plivecrocodile
35-
- pocat
36-
- ponokichan
37-
- ryuuna_vt
38-
- shalinka
39-
- shiholitchi
40-
- sol_hms
41-
- spaceyeen
42-
- spica_stellaris
43-
- stanrenart
44-
- sumashu
45-
- takudev
46-
- the_skinwalkers
47-
- the_turboyoyo
48-
- umbreonoctie
49-
- volpoune
50-
- yhusky_kun
51-
- yuiicky
1+
teams:
2+
knights: ⚔️ Knights
3+
magicians: 🪄 Magicians
4+
5+
streamers:
6+
amiliavt: { "team": "knights" }
7+
atomicbraven: { "team": "knights" }
8+
azeleneuf: { "team": "knights" }
9+
baphostv: { "team": "magicians" }
10+
blakeprod: { "team": "knights" }
11+
blaqkcat: { "team": null }
12+
dodgerakame: { "team": "knights" }
13+
drakelelionblanc: { "team": "magicians" }
14+
elzbietatv: { "team": "knights" }
15+
emarcanine: { "team": "knights" }
16+
endoku_chan: { "team": "magicians" }
17+
esliane: { "team": "knights" }
18+
extranumby: { "team": "magicians" }
19+
fluffy: { "team": "magicians" }
20+
foxyareku: { "team": null }
21+
furo: { "team": "magicians" }
22+
hildamist: { "team": "knights" }
23+
ikutokami: { "team": "knights" }
24+
keola: { "team": "knights" }
25+
kokore: { "team": "magicians" }
26+
lechatoo: { "team": "knights" }
27+
luiroi: { "team": "knights" }
28+
lutzthakitten: { "team": "magicians" }
29+
malidoudou: { "team": "knights" }
30+
manaryuujin: { "team": "magicians" }
31+
masakifujiwara: { "team": "knights" }
32+
mommysillica: { "team": "magicians" }
33+
narcos_furry: { "team": "knights" }
34+
nia_c: { "team": "knights" }
35+
nisumi: { "team": "knights" }
36+
peachypiwie: { "team": "magicians" }
37+
perceval_robin: { "team": "knights" }
38+
pheden: { "team": "knights" }
39+
plivecrocodile: { "team": "magicians" }
40+
pocat: { "team": null }
41+
ponokichan: { "team": "magicians" }
42+
ryuuna_vt: { "team": "magicians" }
43+
shalinka: { "team": "knights" }
44+
shiholitchi: { "team": "magicians" }
45+
sol_hms: { "team": "magicians" }
46+
spaceyeen: { "team": null }
47+
spica_stellaris: { "team": "magicians" }
48+
stanrenart: { "team": "knights" }
49+
sumashu: { "team": "magicians" }
50+
takudev: { "team": "knights" }
51+
the_skinwalkers: { "team": "magicians" }
52+
the_turboyoyo: { "team": "magicians" }
53+
umbreonoctie: { "team": "magicians" }
54+
volpoune: { "team": "magicians" }
55+
yhusky_kun: { "team": "knights" }
56+
yuiicky: { "team": "magicians" }

0 commit comments

Comments
 (0)