From 3359c473791ea91bb52df4c36ea30fcfbc2e7bc5 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 1 Apr 2024 00:50:53 +0100 Subject: [PATCH] Updated the code to allow for images --- src/app/about/page.tsx | 4 ++-- src/app/ar/about/page.tsx | 4 ++-- src/app/ar/contact/page.tsx | 4 ++-- src/app/ar/contacts/[country]/page.tsx | 4 ++-- src/app/ar/history/page.tsx | 4 ++-- src/app/ar/page.tsx | 11 ++++++++--- src/app/ar/price/page.tsx | 4 ++-- src/app/ar/privacy-policy/page.tsx | 4 ++-- src/app/ar/services/page.tsx | 4 ++-- src/app/ar/terms/page.tsx | 4 ++-- src/app/contact/page.tsx | 4 ++-- src/app/contacts/[country]/page.tsx | 4 ++-- src/app/history/page.tsx | 4 ++-- src/app/page.tsx | 11 ++++++++--- src/app/price/page.tsx | 4 ++-- src/app/privacy-policy/page.tsx | 4 ++-- src/app/services/page.tsx | 4 ++-- src/app/terms/page.tsx | 4 ++-- src/cms/index.ts | 7 +++---- src/components/Footer/index.tsx | 4 ++-- src/components/Navbar/index.tsx | 4 ++-- src/templates/Home.tsx | 6 +++++- src/types/cms/common.ts | 21 +++++++++++++++++++++ src/types/cms/home.ts | 12 ++++++++++-- 24 files changed, 91 insertions(+), 49 deletions(-) diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 69e2e9e..7c67540 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -3,7 +3,7 @@ import About from "@/templates/About"; import AboutPage from "@/types/cms/about"; export default async function Page() { - const {data} = await getData("about", "en"); + const data = await getData("about", "en"); - return ; + return ; } diff --git a/src/app/ar/about/page.tsx b/src/app/ar/about/page.tsx index c221c17..7457898 100644 --- a/src/app/ar/about/page.tsx +++ b/src/app/ar/about/page.tsx @@ -3,7 +3,7 @@ import About from "@/templates/About"; import AboutPage from "@/types/cms/about"; export default async function Page() { - const {data} = await getData("about", "ar"); + const data = await getData("about", "ar"); - return ; + return ; } diff --git a/src/app/ar/contact/page.tsx b/src/app/ar/contact/page.tsx index f2328a8..e82490b 100644 --- a/src/app/ar/contact/page.tsx +++ b/src/app/ar/contact/page.tsx @@ -5,12 +5,12 @@ import ContactUs from "@/templates/ContactUs"; import ContactPage from "@/types/cms/contact"; export default async function Page() { - const {data} = await getData("contact", "ar"); + const data = await getData("contact", "ar"); return (
- ; + ;
); diff --git a/src/app/ar/contacts/[country]/page.tsx b/src/app/ar/contacts/[country]/page.tsx index 6ae258d..b987eda 100644 --- a/src/app/ar/contacts/[country]/page.tsx +++ b/src/app/ar/contacts/[country]/page.tsx @@ -15,7 +15,7 @@ export async function generateStaticParams() { } export default async function Page({params: {country}}: PageProps) { - const {data} = await getData("country-managers-contact", language); + const data = await getData("country-managers-contact", language); - return ; + return ; } diff --git a/src/app/ar/history/page.tsx b/src/app/ar/history/page.tsx index 5fd0748..b355607 100644 --- a/src/app/ar/history/page.tsx +++ b/src/app/ar/history/page.tsx @@ -3,7 +3,7 @@ import History from "@/templates/History"; import HistoryPage from "@/types/cms/history"; export default async function Page() { - const {data} = await getData("history", "ar"); + const data = await getData("history", "ar"); - return ; + return ; } diff --git a/src/app/ar/page.tsx b/src/app/ar/page.tsx index f890ef1..bc3e8e1 100644 --- a/src/app/ar/page.tsx +++ b/src/app/ar/page.tsx @@ -1,10 +1,15 @@ import {getData} from "@/cms"; import Home from "@/templates/Home"; -import HomePage from "@/types/cms/home"; +import HomePage, {HomePageData} from "@/types/cms/home"; import {NextPageContext} from "next"; export default async function Page() { - const {data} = await getData("home", "ar"); + const data = await getData("home", "ar"); - return ; + const home: HomePage = { + ...data, + Banner: data?.Banner?.data?.attributes, + }; + + return ; } diff --git a/src/app/ar/price/page.tsx b/src/app/ar/price/page.tsx index 28fe86c..7b1d590 100644 --- a/src/app/ar/price/page.tsx +++ b/src/app/ar/price/page.tsx @@ -5,12 +5,12 @@ import Price from "@/templates/Price"; import PricePage from "@/types/cms/price"; export default async function Page() { - const {data} = await getData("price", "ar"); + const data = await getData("price", "ar"); return (
- +
); diff --git a/src/app/ar/privacy-policy/page.tsx b/src/app/ar/privacy-policy/page.tsx index 516d422..81b0415 100644 --- a/src/app/ar/privacy-policy/page.tsx +++ b/src/app/ar/privacy-policy/page.tsx @@ -4,7 +4,7 @@ import Terms from "@/templates/Terms"; import PrivacyPolicyPage from "@/types/cms/privacyPolicy"; export default async function Page() { - const {data} = await getData("privacy-policy", "ar"); + const data = await getData("privacy-policy", "ar"); - return ; + return ; } diff --git a/src/app/ar/services/page.tsx b/src/app/ar/services/page.tsx index a14f366..8d3248f 100644 --- a/src/app/ar/services/page.tsx +++ b/src/app/ar/services/page.tsx @@ -3,7 +3,7 @@ import Services from "@/templates/Services"; import ServicesPage from "@/types/cms/services"; export default async function Page() { - const {data} = await getData("services", "ar"); + const data = await getData("services", "ar"); - return ; + return ; } diff --git a/src/app/ar/terms/page.tsx b/src/app/ar/terms/page.tsx index 93c6aa6..be26d25 100644 --- a/src/app/ar/terms/page.tsx +++ b/src/app/ar/terms/page.tsx @@ -3,7 +3,7 @@ import Terms from "@/templates/Terms"; import TermsAndConditionsPage from "@/types/cms/termsConditions"; export default async function Page() { - const {data} = await getData("terms-and-conditions", "ar"); + const data = await getData("terms-and-conditions", "ar"); - return ; + return ; } diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index ba8eb89..6af16ab 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -5,12 +5,12 @@ import ContactUs from "@/templates/ContactUs"; import ContactPage from "@/types/cms/contact"; export default async function Page() { - const {data} = await getData("contact", "en"); + const data = await getData("contact", "en"); return (
- ; + ;
); diff --git a/src/app/contacts/[country]/page.tsx b/src/app/contacts/[country]/page.tsx index 0671c4c..e1477ba 100644 --- a/src/app/contacts/[country]/page.tsx +++ b/src/app/contacts/[country]/page.tsx @@ -15,7 +15,7 @@ export async function generateStaticParams() { } export default async function Page({params: {country}}: PageProps) { - const {data} = await getData("country-managers-contact", language); + const data = await getData("country-managers-contact", language); - return ; + return ; } diff --git a/src/app/history/page.tsx b/src/app/history/page.tsx index 5e9b5d7..e523fa0 100644 --- a/src/app/history/page.tsx +++ b/src/app/history/page.tsx @@ -3,7 +3,7 @@ import History from "@/templates/History"; import HistoryPage from "@/types/cms/history"; export default async function Page() { - const {data} = await getData("history", "en"); + const data = await getData("history", "en"); - return ; + return ; } diff --git a/src/app/page.tsx b/src/app/page.tsx index dcabf4a..2659c74 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,10 +1,15 @@ import {getData} from "@/cms"; import Home from "@/templates/Home"; -import HomePage from "@/types/cms/home"; +import HomePage, {HomePageData} from "@/types/cms/home"; import {NextPageContext} from "next"; export default async function Page() { - const {data} = await getData("home", "en"); + const data = await getData("home", "en"); - return ; + const home: HomePage = { + ...data, + Banner: data?.Banner?.data?.attributes, + }; + + return ; } diff --git a/src/app/price/page.tsx b/src/app/price/page.tsx index 0fbf764..e7ffa9a 100644 --- a/src/app/price/page.tsx +++ b/src/app/price/page.tsx @@ -5,12 +5,12 @@ import Price from "@/templates/Price"; import PricePage from "@/types/cms/price"; export default async function Page() { - const {data} = await getData("price", "en"); + const data = await getData("price", "en"); return (
- +
); diff --git a/src/app/privacy-policy/page.tsx b/src/app/privacy-policy/page.tsx index db7f97a..6096ee3 100644 --- a/src/app/privacy-policy/page.tsx +++ b/src/app/privacy-policy/page.tsx @@ -4,7 +4,7 @@ import Terms from "@/templates/Terms"; import PrivacyPolicyPage from "@/types/cms/privacyPolicy"; export default async function Page() { - const {data} = await getData("privacy-policy", "en"); + const data = await getData("privacy-policy", "en"); - return ; + return ; } diff --git a/src/app/services/page.tsx b/src/app/services/page.tsx index 7bcad84..084bd33 100644 --- a/src/app/services/page.tsx +++ b/src/app/services/page.tsx @@ -3,7 +3,7 @@ import Services from "@/templates/Services"; import ServicesPage from "@/types/cms/services"; export default async function Page() { - const {data} = await getData("services", "en"); + const data = await getData("services", "en"); - return ; + return ; } diff --git a/src/app/terms/page.tsx b/src/app/terms/page.tsx index 858fda4..e01bc3a 100644 --- a/src/app/terms/page.tsx +++ b/src/app/terms/page.tsx @@ -3,7 +3,7 @@ import Terms from "@/templates/Terms"; import TermsAndConditionsPage from "@/types/cms/termsConditions"; export default async function Page() { - const {data} = await getData("terms-and-conditions", "en"); + const data = await getData("terms-and-conditions", "en"); - return ; + return ; } diff --git a/src/cms/index.ts b/src/cms/index.ts index 6ed8ee9..37e59c3 100644 --- a/src/cms/index.ts +++ b/src/cms/index.ts @@ -13,11 +13,10 @@ interface StrapiResponse { meta: object; } -type Result = {data: StrapiResponse; isError: boolean}; - -export async function getData(page: string, locale: "ar" | "en"): Promise> { +export async function getData(page: string, locale: "ar" | "en"): Promise { const request = await axios.get>(`${process.env.STRAPI_URL}/api/${page}/?populate=deep&locale=${locale}`, { headers: {Authorization: `Bearer ${process.env.STRAPI_TOKEN}`}, }); - return {data: request.data, isError: request.status !== 200}; + + return request.data.data.attributes; } diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx index 48c8273..f3baf91 100644 --- a/src/components/Footer/index.tsx +++ b/src/components/Footer/index.tsx @@ -7,7 +7,7 @@ interface Props { } export default async function FooterContainer({language}: Props) { - const {data} = await getData("footer", language); + const data = await getData("footer", language); - return