Skip to content

Commit b50d78c

Browse files
NoeTerrierThechi2000
andauthoredFeb 18, 2025
feat: add linkedin link around cards (#100)
Co-authored-by: Ludovic Mermod <ludovic.mermod@epfl.ch>
1 parent 947c05f commit b50d78c

11 files changed

+69
-16
lines changed
 

‎src/components/IcbdActivityCard.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
import DirectusImage from "./DirectusImage";
12
import { getTranslation, locale } from "@/locales";
23
import styles from "@/styles/IcbdActivityCard.module.scss";
3-
import { ICBDActivity, ICBDSpeaker, ICBDSpeakerActivityRelation } from "@/types/aliases";
4+
import {
5+
ICBDActivity,
6+
ICBDSpeaker,
7+
ICBDSpeakerActivityRelation,
8+
} from "@/types/aliases";
49
import { useRouter } from "next/router";
510
import Markdown from "react-markdown";
6-
import DirectusImage from "./DirectusImage";
711

812
export default function IcbdActivityCard(props: { activity: ICBDActivity }) {
913
const router = useRouter();

‎src/pages/association.tsx

+13-3
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export const getServerSideProps: GetServerSideProps<{
101101
result.map((s) => s.social_links_id)
102102
)) as SocialLink[],
103103
poles: await directus().request(
104-
readItems("association_poles", queryTranslations)
104+
readItems("association_poles", queryTranslations as any)
105105
),
106106
committee: (await directus().request(
107107
readItems("association_memberships", {
@@ -110,14 +110,24 @@ export const getServerSideProps: GetServerSideProps<{
110110
{ member: ["*"] },
111111
//@ts-ignore
112112
{ translations: ["*"] },
113-
{ pole: ["*", { translations: ["*"] }] },
113+
{
114+
pole: [
115+
"*",
116+
//@ts-ignore
117+
{ translations: ["*"] },
118+
],
119+
},
114120
],
115121
filter: { level: { _eq: "committee" } },
116122
})
117123
)) as (AssociationMembership & { member: Member })[],
118124
publicFiles: await directus().request(
119125
readItems("association_public_files", {
120-
fields: ["*", { translations: ["*"], icon: ["*"] }],
126+
fields: [
127+
"*",
128+
//@ts-ignore
129+
{ translations: ["*"], icon: ["*"] },
130+
],
121131
})
122132
),
123133
},

‎src/pages/commissions.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const getServerSideProps: GetServerSideProps<{
5757
"name",
5858
"slug",
5959
"id",
60+
//@ts-ignore
6061
{ translations: ["banner", "small_description", "languages_code"] },
6162
],
6263
})

‎src/pages/commissions/[slug].tsx

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export const getServerSideProps: GetServerSideProps<
6868
}
6969

7070
let commissions = await directus().request(
71+
//@ts-ignore
7172
readItems("commissions", {
7273
filter: { slug: { _eq: context.params.slug } },
7374
...queryTranslations,

‎src/pages/icbd.tsx

+30-9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import pageStyle from "@/styles/Page.module.scss";
1111
import { ICBD, ICBDActivity, ICBDPhd, ICBDSpeaker } from "@/types/aliases";
1212
import { readItems, readSingleton } from "@directus/sdk";
1313
import { GetServerSideProps, InferGetServerSidePropsType } from "next";
14+
import Link from "next/link";
1415
import { useRouter } from "next/router";
1516
import Markdown from "react-markdown";
1617

@@ -147,14 +148,24 @@ export default function ICBDPage(
147148

148149
<div className={style.alumni}>
149150
<div className={style.alumniList}>
150-
{props.speakers.map((speaker: ICBDSpeaker) => (
151-
<Card
152-
key={speaker.id}
153-
img={speaker.picture}
154-
title={`${speaker.first_name} ${speaker.last_name}` || ""}
155-
description={speaker.company || ""}
156-
/>
157-
))}
151+
{props.speakers.map((speaker: ICBDSpeaker) => {
152+
const card = (
153+
<Card
154+
key={speaker.id}
155+
img={speaker.picture}
156+
title={`${speaker.first_name} ${speaker.last_name}` || ""}
157+
description={speaker.company || ""}
158+
/>
159+
);
160+
161+
return speaker.linkedin ? (
162+
<Link key={speaker.id} href={speaker.linkedin}>
163+
{card}
164+
</Link>
165+
) : (
166+
card
167+
);
168+
})}
158169
</div>
159170
</div>
160171
</div>
@@ -221,6 +232,7 @@ export const getServerSideProps: GetServerSideProps<{
221232
"end_time",
222233
"timetable",
223234
{ partners_images: ["*"] },
235+
//@ts-ignore
224236
{
225237
translations: ["*"],
226238
},
@@ -229,7 +241,14 @@ export const getServerSideProps: GetServerSideProps<{
229241
),
230242
speakers: await directus().request(
231243
readItems("icbd_speakers", {
232-
fields: ["id", "picture", "first_name", "last_name", "company"],
244+
fields: [
245+
"id",
246+
"picture",
247+
"first_name",
248+
"last_name",
249+
"company",
250+
"linkedin",
251+
],
233252
})
234253
),
235254
phds: await directus().request(
@@ -244,7 +263,9 @@ export const getServerSideProps: GetServerSideProps<{
244263
"icon",
245264
"timeslots",
246265
"color",
266+
//@ts-ignore
247267
{ translations: ["*"] },
268+
//@ts-ignore
248269
"hosts.icbd_speakers_id.*",
249270
],
250271
})

‎src/pages/index.tsx

+9-1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ export const getServerSideProps: GetServerSideProps<
123123
{
124124
partners_id: [
125125
"*",
126+
//@ts-ignore
126127
{ category: ["*", { translations: ["*"] }] },
127128
],
128129
},
@@ -149,6 +150,7 @@ export const getServerSideProps: GetServerSideProps<
149150
"slug",
150151
"date_created",
151152
{
153+
//@ts-ignore
152154
translations: [
153155
"title",
154156
"banner",
@@ -165,15 +167,21 @@ export const getServerSideProps: GetServerSideProps<
165167
"*",
166168
{ member: ["*"] },
167169
//@ts-ignore
170+
//@ts-ignore
168171
{ translations: ["*"] },
172+
//@ts-ignore
169173
{ pole: ["slug", { translations: ["name", "languages_code"] }] },
170174
],
171175
filter: { level: { _eq: "committee" } },
172176
})
173177
)) as (AssociationMembership & { member: Member })[],
174178
publicFiles: await directus().request(
175179
readItems("association_public_files", {
176-
fields: ["*", { translations: ["*"], icon: ["*"] }],
180+
fields: [
181+
"*",
182+
//@ts-ignore
183+
{ translations: ["*"], icon: ["*"] },
184+
],
177185
})
178186
),
179187
gallery: await directus().request(

‎src/pages/news.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export const getServerSideProps: GetServerSideProps<{
5656
"slug",
5757
"date_created",
5858
{
59+
//@ts-ignore
5960
translations: [
6061
"title",
6162
"banner",

‎src/pages/news/[slug].tsx

+3
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export const getServerSideProps: GetServerSideProps<{
8484
}
8585

8686
let news = await directus().request(
87+
//@ts-ignore
8788
readItems("news", {
8889
...queryTranslations,
8990
limit: 1,
@@ -97,8 +98,10 @@ export const getServerSideProps: GetServerSideProps<{
9798

9899
let commissions = (await directus()
99100
.request(
101+
//@ts-ignore
100102
readItems("news_commissions", {
101103
...queryTranslations,
104+
//@ts-ignore
102105
fields: [{ commissions_id: ["*.*"] }],
103106
filter: { news_id: { _eq: news[0].id } },
104107
})

‎src/pages/save-the-date.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ export const getServerSideProps: GetServerSideProps<{
402402
"text_color",
403403
"title_color",
404404
"button_color",
405+
//@ts-ignore
405406
{ translations: ["*"] },
406407
"language_button_target",
407408
],
@@ -418,6 +419,7 @@ export const getServerSideProps: GetServerSideProps<{
418419
"text_color",
419420
"button_color",
420421
"recurrence",
422+
//@ts-ignore
421423
{ translations: ["*"], commission: ["id", "name"] },
422424
],
423425
})

‎src/pages/subsonic.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ export const getServerSideProps: GetServerSideProps<{
107107
subsonic: await directus().request(
108108
// @ts-ignore
109109
readSingleton("subsonic", {
110+
//@ts-ignore
110111
fields: ["header_image", "logo", "map", { translations: ["*"] }],
111112
})
112113
),
@@ -120,6 +121,7 @@ export const getServerSideProps: GetServerSideProps<{
120121
{
121122
partners_id: [
122123
"*",
124+
//@ts-ignore
123125
{ category: ["*", { translations: ["*"] }] },
124126
],
125127
},

0 commit comments

Comments
 (0)