Skip to content

Commit

Permalink
Add developers to credits
Browse files Browse the repository at this point in the history
  • Loading branch information
thomas-kl1 committed Feb 1, 2025
1 parent 42546a2 commit 994cafc
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 10 deletions.
Binary file added public/images/staff/baptiste_bourzeix.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/staff/timothee_aubry.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions public/locales/fr/contributors.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"developers": [
{
"id": 1,
"name": "Timothée AUBRY",
"company": "Opengento",
"companyLogo": "/images/logo/opengento.svg",
"companyUrl": "https://opengento.fr/",
"linkedin": "https://www.linkedin.com/in/timoth%C3%A9e-aubry-33b543196/",
"role": "Développeur",
"photo": "/images/staff/timothee_aubry.jpeg",
"photoBg": 1,
"biography": ""
},
{
"id": 2,
"name": "Baptiste Bourzeix",
"company": "Opengento",
"companyLogo": "/images/logo/opengento.svg",
"companyUrl": "https://opengento.fr/",
"linkedin": "https://www.linkedin.com/in/baptiste-bourzeix-%F0%9F%85%93%F0%9F%85%9D%F0%9F%85%93-34bb7565",
"role": "Développeur",
"photo": "/images/staff/baptiste_bourzeix.jpeg",
"photoBg": 2,
"biography": ""
},
{
"id": 3,
"name": "Thomas Klein",
"company": "Opengento",
"companyLogo": "/images/logo/opengento.svg",
"companyUrl": "https://opengento.fr/",
"linkedin": "https://www.linkedin.com/in/thomas-klein/",
"role": "Développeur",
"photo": "/images/staff/thomas_klein.jpeg",
"photoBg": 3,
"biography": ""
}
]
}
14 changes: 13 additions & 1 deletion public/locales/fr/staff.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"description": "L’édition française de Meet Magento 2025 est un événement communautaire né d’une idée et d’une collaboration entre Dn’D, Hyvä, Opengento et PH2M. Ces entreprises, toutes engagées dans l’écosystème Magento et Adobe Commerce, ont uni leurs forces pour organiser cet événement unique, avec le soutien d’Adobe France, le support de plusieurs acteurs de la communauté et l’approbation de la Magento Association.\n\nCe salon, inédit en France, sera l’occasion de rassembler des experts, des marchands et des professionnels du secteur pour une journée d’échanges, de retours d’expérience et de démonstrations sur les solutions Magento et Adobe Commerce. Découvrez les acteurs qui œuvrent ensemble pour faire de cette rencontre un moment clé du commerce digital.",
"members": [
{
"id": 1,
"name": "Camille Bénard",
"company": "Agence Dn'D",
"companyLogo": "/images/logo/dnd.svg",
Expand All @@ -19,6 +20,7 @@
"biography": ""
},
{
"id": 2,
"name": "Julien Didier",
"company": "Agence Dn'D",
"companyLogo": "/images/logo/dnd.svg",
Expand All @@ -30,6 +32,7 @@
"biography": ""
},
{
"id": 3,
"name": "Thien-Lan Weber",
"company": "Hyvä",
"companyLogo": "/images/logo/hyva.svg",
Expand All @@ -41,6 +44,7 @@
"biography": ""
},
{
"id": 4,
"name": "Frédéric Martinez",
"company": "PH2M",
"companyLogo": "/images/logo/ph2m.jpeg",
Expand All @@ -52,6 +56,7 @@
"biography": ""
},
{
"id": 5,
"name": "Marion Sainty",
"company": "Blackbird",
"companyLogo": "/images/logo/blackbird.svg",
Expand All @@ -63,16 +68,19 @@
"biography": ""
},
{
"id": 6,
"name": "Thomas Klein",
"company": "Opengento",
"companyLogo": "/images/logo/opengento.svg",
"companyUrl": "https://opengento.fr/",
"linkedin": "https://www.linkedin.com/in/thomas-klein/",
"role": "Secrétaire",
"photo": "/images/staff/thomas_klein.jpeg",
"photoBg": 3,
"biography": ""
},
{
"id": 7,
"name": "Cannelle Lemnos",
"company": "Ati4 Group",
"companyLogo": "/images/logo/ati4group.svg",
Expand All @@ -84,6 +92,7 @@
"biography": ""
},
{
"id": 8,
"name": "Ceyhun Kaplan",
"company": "Blackbird",
"companyLogo": "/images/logo/blackbird.svg",
Expand All @@ -95,17 +104,19 @@
"biography": ""
},
{
"id": 9,
"name": "Patricia Poncy",
"company": "Platform.sh",
"companyLogo": "/images/logo/platformsh.svg",
"companyUrl": "https://platform.sh/",
"linkedin": "https://www.linkedin.com/in/patriciaponcy",
"role": "Agency Partner Manager Western EU",
"photo": "/images/staff/patricia_poncy.png",
"photoBg": 3,
"photoBg": 1,
"biography": ""
},
{
"id": 10,
"name": "Olivier Haesen",
"company": "Ati4 Group",
"companyLogo": "/images/logo/ati4group.svg",
Expand All @@ -117,6 +128,7 @@
"biography": ""
},
{
"id": 11,
"name": "Elodie Guiroux",
"company": "Platform.sh",
"companyLogo": "/images/logo/platformsh.svg",
Expand Down
56 changes: 51 additions & 5 deletions src/app/mentions-legales/page.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,29 @@
'use client';

import Typography from "@/components/Typography/Typography";
import ContentMedia from "@/components/ContentMedia/ContentMedia";
import Container from "@/layouts/Container";
import Link from "next/link";
import Image from "next/image";
import Person from "@/components/Person/Person";
import React from "react";
import useDataProvider from "@/hooks/useDataProvider";
import {PersonProps} from "@/components/Person/PersonProps";
import PersonPopIn from "@/components/Person/PersonPopIn";

export default function Page() {
const dataProvider = useDataProvider();
const developers = dataProvider.usePersonList('contributors', 'developers');
const [selectedDeveloper, setSelectedDeveloper] = React.useState<PersonProps | null>(null);

const handleDeveloperClick = (developer: PersonProps) => {
setSelectedDeveloper(developer);
};

const handleCloseModal = () => {
setSelectedDeveloper(null);
};

return (
<Container className="flex flex-col gap-8 my-8">
<ContentMedia>
Expand Down Expand Up @@ -51,18 +70,45 @@ export default function Page() {
Ce site Web à été fait avec <Link href="https://nextjs.org/" target="_blank">Next.js</Link>.
</Typography>
<Typography color="dark">
Merci aux <Link className="font-semibold" href="https://github.com/opengento/meet-magento-fr/graphs/contributors" target="_blank">contributeurs</Link> !
</Typography>
<Typography color="dark">
Merci à <Link className="inline-block align-middle" href="https://opengento.fr/" target="_blank" title="Opengento">
Merci à <Link
className="inline-block align-middle"
href="https://opengento.fr/"
target="_blank"
title="Opengento"
>
<Image
src="/images/logo/opengento.png"
alt="Opengento Logo"
width={101}
height={24}
/>
</Link> pour la réalisation du site !
</Link> et aux <Link
className="font-semibold"
href="https://github.com/opengento/meet-magento-fr/graphs/contributors"
target="_blank"
>
contributeurs
</Link> pour la réalisation du site !
</Typography>
<div className="grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-8 gap-y-12 mt-8">
{developers
.map((developer) => (
<div
key={developer.id}
className="flex flex-row gap-6 group hover:cursor-pointer"
onClick={() => handleDeveloperClick(developer)}
>
<Person person={developer}/>
</div>
))}
</div>
{selectedDeveloper && (
<PersonPopIn
isOpen={!!selectedDeveloper}
onClose={handleCloseModal}
selectedPerson={selectedDeveloper}
/>
)}
</ContentMedia>
<ContentMedia
title="Cookies"
Expand Down
2 changes: 1 addition & 1 deletion src/app/staff/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {IoIosArrowForward} from "react-icons/io";
export default function Page() {
const { t } = useTranslation(['staff', 'common']);
const dataProvider = useDataProvider();
const staffMembers = dataProvider.useStaffs();
const staffMembers = dataProvider.usePersonList('staff', 'members');
const [selectedStaff, setSelectedStaff] = React.useState<PersonProps | null>(null);

const handleStaffClick = (staff: PersonProps) => {
Expand Down
6 changes: 3 additions & 3 deletions src/hooks/useDataProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ const usePlace = (): PlaceProps =>
return content;
}

const useStaffs = (): PersonProps[] =>
const usePersonList = (ns: string, key: string): PersonProps[] =>
{
const content = useData('staff', 'members');
const content = useData(ns, key);
if (!isPersonList(content)) {
throw new Error('Content is not a valid array of Sponsor Type');
}
Expand All @@ -71,7 +71,7 @@ const useDataProvider = () => {
useSponsors: useSponsors,
useSpeakers: useSpeakers,
usePlace: usePlace,
useStaffs: useStaffs,
usePersonList: usePersonList,
}
};

Expand Down

0 comments on commit 994cafc

Please sign in to comment.