From 3ddcb2dcb555d6a50ea0f9be806cfd3a727e3f3a Mon Sep 17 00:00:00 2001 From: Gabriel Le Breton Date: Thu, 6 Jun 2024 10:38:43 -0400 Subject: [PATCH] Improve archives page with authors icons and add TODOs --- .../pages/ArchivesPage/ArchivesPage.jsx | 104 ++++++++++++------ .../pages/ArchivesPage/ArchivesPage.scss | 25 +++++ static/images/default_user_icon.png | Bin 0 -> 17531 bytes 3 files changed, 97 insertions(+), 32 deletions(-) create mode 100644 static/images/default_user_icon.png diff --git a/src/components/pages/ArchivesPage/ArchivesPage.jsx b/src/components/pages/ArchivesPage/ArchivesPage.jsx index 8bba597..8daefcc 100644 --- a/src/components/pages/ArchivesPage/ArchivesPage.jsx +++ b/src/components/pages/ArchivesPage/ArchivesPage.jsx @@ -4,38 +4,78 @@ import Layout from '@/components/layout/PageLayout/PageLayout'; import Section from '@/components/shared/Section'; import './ArchivesPage.scss'; -const ArchivesPage = ({ events }) => ( - -
- {events.map((event) => ( -
-

{event.title}

-

- Date: {new Date(event.date).toLocaleDateString()} -

-

Lieu: {event?.location?.name}

- {event?.talks?.map((talk, index) => ( -
-

{talk?.title}

-

- Présenté par:{' '} - {/* TODO: support multiple authors */} - {talk?.authors?.name || ( - - ERREUR: veuillez ajouter le fichier `.yml` pour cette - personne dans le répertoire `data/authors`. - +const ArchivesPage = ({ events }) => { + const getAvatarUrl = (author) => { + if (author.avatar) { + return author.avatar; + } + if (author.github) { + return `https://avatars.githubusercontent.com/${author.github}`; + } + if (author.twitter) { + return `https://unavatar.io/twitter/${author.twitter}`; + } + return '/images/default_user_icon.png'; + }; + + return ( + +

+ {events.map((event) => ( +
+

{event.title}

+

+ Date: {new Date(event.date).toLocaleDateString()} +

+

Lieu: {event?.location?.name}

+ {event?.talks?.map((talk, index) => ( +
+

{talk?.title}

+

+ Présenté par:{' '} + {/*TODO: add support for multiple authors, not sure what's wrong with the graphql schema 🤷 */} + {talk.authors ? ( + + {talk.authors.name} + {talk.authors.name} + + // TODO: add a way to support bio, github link, twitter link, website link, etc. + ) : ( + + ERREUR: veuillez ajouter le fichier `.yml` pour cette personne + dans le répertoire `data/authors`. + + )} +

+ {/* TODO: fix this, graphql schema is drunk, slides is present in yaml. We probably have to + work with gatsby-node.js or something like that to get that working + also: some presentations had multiple slidedecks so let's support that */} + {talk?.slides && ( + + Voir les slides + )} -

-
- ))} - - Lien vers l'évènement - -
- ))} -
- -); +
+ ))} + {event.event_url && ( + + Lien vers l'évènement + + )} +
+ ))} +
+
+ ); +}; export default ArchivesPage; diff --git a/src/components/pages/ArchivesPage/ArchivesPage.scss b/src/components/pages/ArchivesPage/ArchivesPage.scss index b8f037b..0b0c932 100644 --- a/src/components/pages/ArchivesPage/ArchivesPage.scss +++ b/src/components/pages/ArchivesPage/ArchivesPage.scss @@ -25,6 +25,31 @@ color: #dc3545; } +.author-info { + display: flex; + align-items: center; + margin-right: 8px; +} + +.author-avatar { + width: 24px; + height: 24px; + border-radius: 50%; + margin-right: 4px; +} + +.slides-link { + display: block; + margin-top: 8px; + color: #007bff; + text-decoration: none; + transition: color 0.3s; + + &:hover { + color: #0056b3; + } +} + .event-link { display: inline-block; margin-top: 8px; diff --git a/static/images/default_user_icon.png b/static/images/default_user_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd07199e06ede3249a5a92540f0b0e118080d98d GIT binary patch literal 17531 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 literal 0 HcmV?d00001