Skip to content

Commit

Permalink
Add speakers page
Browse files Browse the repository at this point in the history
  • Loading branch information
thomas-kl1 committed Feb 2, 2025
1 parent dedf7b8 commit a24f7e6
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 6 deletions.
2 changes: 1 addition & 1 deletion public/locales/fr/menu.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"navigation": [
{ "label": "Programme", "href": "/#programs" },
{ "label": "Speakers", "href": "/#speakers" },
{ "label": "Speakers", "href": "/speakers" },
{ "label": "Sponsors", "href": "/sponsors" },
{ "label": "Préparer ma venue", "href": "/#place" },
{ "label": "FAQ & Contact", "href": "/#faq" }
Expand Down
4 changes: 3 additions & 1 deletion public/locales/fr/speakers.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
"title": "Speakers",
"description": "Découvrez les speakers de Meet Magento France, des experts qui interviendront tout au long de la journée lors de conférences sur Magento et Adobe Commerce : stratégie business, E-Commerce, retours d’expérience et expertise technique. Une occasion unique d’enrichir vos connaissances et de découvrir les dernières tendances du secteur !",
"actions": {
"seeAllUrl": null
"seeAllUrl": "/speakers"
},
"data": {
"title": "Appel à speakers",
Expand Down
2 changes: 1 addition & 1 deletion public/locales/fr/sponsors.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "Nos sponsors",
"subtitle": "Acteurs incontournables de l’écosystème Magento et Adobe Commerce, ils rendent cet événement possible et offriront aux participants l'opportunité d'échanger en face à face avec des experts lors de cette journée exceptionnelle.",
"description": "Acteurs incontournables de l’écosystème Magento et Adobe Commerce, ils rendent cet événement possible et offriront aux participants l'opportunité d'échanger en face à face avec des experts lors de cette journée exceptionnelle.",
"buttonCompany": "Site officiel",
"actions": {
"submitUrl": null,
Expand Down
69 changes: 69 additions & 0 deletions src/app/speakers/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
'use client';

import Typography from "@/components/Typography/Typography";
import ContentMedia from "@/components/ContentMedia/ContentMedia";
import Container from "@/layouts/Container";
import { useTranslation } from "react-i18next";
import useDataProvider from "@/hooks/useDataProvider";
import Push from "@/layouts/Push/Push";
import Person from "@/components/Person/Person";
import React from "react";
import PersonPopIn from "@/components/Person/PersonPopIn";
import { PersonProps } from "@/components/Person/PersonProps";

export default function Page() {
const { t } = useTranslation(['speakers']);
const dataProvider = useDataProvider();
const speakers = dataProvider.useSpeakers()
const [selectedSpeaker, setSelectedSpeaker] = React.useState<PersonProps | null>(null);

const handleSpeakerClick = (speaker: PersonProps) => {
setSelectedSpeaker(speaker);
};

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

return (
<Container className="flex flex-col gap-8 my-8">
<ContentMedia>
<Typography
variant="h1"
color="dark"
weight="semibold"
underlineColor="primary-100"
className="mb-2"
>
{t('speakers:title')}
</Typography>
<Typography
color="dark"
className="mb-8"
>
{t('speakers:description')}
</Typography>
</ContentMedia>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 gap-y-12 my-7">
{speakers.speakers
.map((speaker) => (
<div
key={speaker.id}
className="flex flex-row gap-6 group hover:cursor-pointer"
onClick={() => handleSpeakerClick(speaker)}
>
<Person person={speaker}/>
</div>
))}
</div>
<Push/>
{selectedSpeaker && (
<PersonPopIn
isOpen={!!selectedSpeaker}
onClose={handleCloseModal}
selectedPerson={selectedSpeaker}
/>
)}
</Container>
);
}
4 changes: 2 additions & 2 deletions src/app/sponsors/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import Typography from "@/components/Typography/Typography";
import ContentMedia from "@/components/ContentMedia/ContentMedia";
import Container from "@/layouts/Container";
import {useTranslation} from "react-i18next";
import { useTranslation } from "react-i18next";
import useDataProvider from "@/hooks/useDataProvider";
import Push from "@/layouts/Push/Push";
import SponsorListByType from "@/components/SponsorList/SponsorListByType";
Expand All @@ -29,7 +29,7 @@ export default function Page() {
color="dark"
className="mb-8"
>
{t('sponsors:subtitle')}
{t('sponsors:description')}
</Typography>
</ContentMedia>
<SponsorListByType items={sponsors}/>
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 @@ -68,7 +68,7 @@ export default function Page() {
{t('staff:description')}
</Typography>
</ContentMedia>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 gap-y-12">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 gap-y-12 my-7">
{staffMembers
.map((staff) => (
<div
Expand Down

0 comments on commit a24f7e6

Please sign in to comment.