import Head from "next/head";

import PartnersPageSectionFour from "@/components/pages/partners/section-four/PartnersPageSectionFour";
import PartnersPageSectionOne from "@/components/pages/partners/section-one/PartnersPageSectionOne";
import PartnersPageSectionThree from "@/components/pages/partners/section-three/PartnersPageSectionThree";
import PartnersPageSectionTwo from "@/components/pages/partners/section-two/PartnersPageSectionTwo";
import MainLayout from "@/components/shared/layout/MainLayout";
import { SERVICES_PAGE_ENDPOINT_URL } from "@/constant/ApiEndpoints";
import ApiServer from "@/lib/axios/axiosServer";
import { PartnersPageData } from "@/types/PartnersPage";
import { AxiosRequestConfig } from "axios";
import { NextApiRequest } from "next";
import { Box, Container } from "@mui/material";
import PartnersShowcase from "@/components/pages/home/partners-showcase/PartnersShowcase";
import TestimonialsSection from "@/components/pages/home/testimonials-section/TestimonialsSection";

interface PartnersProps {
  servicesData: PartnersPageData;
}

export default function Page({ servicesData }: PartnersProps) {
  const { title, description, keywords } = servicesData.data;
  return (
    <>
      <Head>
        <title>{title ?? "Partners"}</title>
        <meta name="description" content={description ?? ""} />
        <meta name="keywords" content={keywords ?? ""} />
      </Head>
      <MainLayout>
        <Box
          sx={{
            height: "80vh",
            display: "flex",
            flexDirection: "column",
            // alignItems: "center",
            justifyContent: "center",
            borderBottom: "1px solid #E9E9E9",
          }}
        >
          <PartnersPageSectionOne />
          <PartnersPageSectionTwo />
        </Box>
        <PartnersPageSectionThree />
        <PartnersShowcase showExploreButton={false} />
        <PartnersPageSectionFour />
        <TestimonialsSection />
      </MainLayout>
    </>
  );
}
export async function getServerSideProps({ req }: { req: NextApiRequest }) {
  try {
    const cookies = req.cookies;
    const apiConfig: AxiosRequestConfig = {
      method: "GET",
      headers: {
        "Accept-Language": cookies.language || "en",
      },
    };
    const servicesData = await ApiServer.get(
      SERVICES_PAGE_ENDPOINT_URL,
      apiConfig,
    );
    // console.log(servicesData);
    return {
      props: {
        servicesData,
      },
    };
  } catch (error) {
    return {
      redirect: {
        destination: "/maintenance",
        permanent: false,
      },
    };
  }
}
