From 236afd44b22fe5980769b588351bbf757b79c1e4 Mon Sep 17 00:00:00 2001 From: YoanRos Date: Wed, 24 Jul 2024 10:47:02 +0200 Subject: [PATCH] feat: add fetching --- next-app/app/partners/page.tsx | 219 +++++---------------------------- next-app/app/plan/page.tsx | 63 ++++++---- 2 files changed, 71 insertions(+), 211 deletions(-) diff --git a/next-app/app/partners/page.tsx b/next-app/app/partners/page.tsx index d055d0b..bb59bcc 100644 --- a/next-app/app/partners/page.tsx +++ b/next-app/app/partners/page.tsx @@ -1,5 +1,7 @@ import Footer from "~/components/Footer" import Navigation from "~/components/Navigation" +import { fetchAPI, getStrapiMedia } from "~/app/api/strapi" +import { Key} from "react"; export const metadata = { title: "Partenaires | Oz Ensemble", @@ -7,209 +9,56 @@ export const metadata = { "Découvrez les partenaires d'Oz Ensemble, une application mobile pour maitriser sa consommation d'alcool.", } -export default function Partners() { +async function getPartners() { + try { + const path = `/partners-page`; + const urlParamsObject = { + populate: ["section", "section.logos", "section.logos.image"], + }; + const options = {}; + const { data } = await fetchAPI(path, urlParamsObject, options); + return data?.attributes; + } catch (error) { + console.error(error); + return []; + } +} + +export default async function Partners() { + const partners = await getPartners(); return (

- Ils parlent de nous + {partners?.title || "Ils parlent de nous"}

-
+ {partners?.section?.map((section: { id: Key; title: string; logos: any[]; }) => ( +

- Institutions + {section.title}

-
-
+
+ {section.logos?.map((logo)=>( +
Partenaire alcool info service, accédez à leur site en cliquant sur ce logo - -
-
- - Partenaire fédération addiction, accédez à leur site en cliquant sur ce logo - -
-
- - Partenaire l'agence régionale de santé Ile-de-France, accédez à leur site en cliquant sur ce logo - -
-
- - Partenaire l'association Capasscité, accédez à leur site en cliquant sur ce logo - -
-
-
-
-

- Communes -

-
-
- - La commune de Correns, accédez à leur site en cliquant sur ce logo - -
-
- - Commune jury, accédez à leur site en cliquant sur ce logo - -
-
- - Commune les martres sur morge, accédez à leur site en cliquant sur ce logo - -
-
- - Commune Laà Mondras , accédez à leur site en cliquant sur ce logo - -
-
- - L'association guyane promo santé, accédez à leur site en cliquant sur ce logo - -
-
- - La commune ouzouer-sur-loire, accédez à leur site en cliquant sur ce logo - -
-
- - Partenaire fédération addiction, accédez à leur site en cliquant sur ce logo - -
-
-
-
-

- Autres -

-
-
- - Magazine what's up doc, accédez à leur site en cliquant sur ce logo - -
-
- - Application nutri app, accédez à la page de téléchargement en cliquant sur ce logo - -
-
- - Le site internet ordotype, accédez à leur site en cliquant sur ce logo - -
-
- - Journal la nutrition, accédez à leur site en cliquant sur ce logo - -
-
- - Entreprise VIVA technology, accédez à leur site en cliquant sur ce logo - -
-
-
-
-

- Presse -

-
-
- - Journal rmc conso, accédez à leur site en cliquant sur ce logo - -
-
- - Journal libération, accédez à leur site en cliquant sur ce logo
+ ))}
+ ))}
- ) -} + )} diff --git a/next-app/app/plan/page.tsx b/next-app/app/plan/page.tsx index 783405d..0a8de86 100644 --- a/next-app/app/plan/page.tsx +++ b/next-app/app/plan/page.tsx @@ -4,45 +4,56 @@ export const metadata = { title: "Plan du site | Oz Ensemble", description: "Plan du site de l'application Oz Ensemble", } +import { fetchAPI } from "~/app/api/strapi"; -export default function Plan() { + +export default async function Plan() { + const data = await getData(); return (
-

- Plan du site +

{data?.title || "Plan du site"}

- -
- - -
- - -

Utilités

-
- - - - -
+ { data?.sections?.map((section)=> ( + <> + { section.parentUrl ? + + :

{section.title}

+ } + { section.urls?.length > 0 && +
+ {section.urls.map((link)=>( + + ))} +
+ } + + ))} +
) } + +async function getData() { + try { + const path = `/plan-page`; + const urlParamsObject = { + populate: ["sections", "sections.urls"], + }; + const options = {}; + const { data } = await fetchAPI(path, urlParamsObject, options); + console.log(data); + return data?.attributes; + } catch (error) { + console.error(error); + return []; + } +} const ArrowList = ({ text, link }) => (