annual-reports.js 3.33 KB
import React from "react";
import PageBanner from "@/components/reuseables/PageBanner";
import { cleanImage } from "@/layout/imageHandling";
import axios from "axios";
import qs from "qs";
import Seo from "@/components/reuseables/Seo/Seo";
import Heading from "@/components/reuseables/Heading";

export default function Contact({ Contactpage, conversionData }) {
  console.log("conatct", Contactpage);

  console.log({Contactpage});

  const banners = [
    {
      imageSrc: cleanImage(Contactpage?.Banner?.Image?.url),
      pageTitle: Contactpage?.Banner?.Heading,
      homePageUrl: "/",
      homePageText: "Home",
      activePageText: Contactpage?.Banner?.Heading,
    },
  ];


  const seo = Contactpage?.seo;
  const Listing = Contactpage.Listing;

  console.log({ Listing });
  return (
    <>
      <Seo seo={seo} />
      <PageBanner banners={banners} />
      <div className="container py-5">
        {Listing.map((item, index) => (
          <div
            key={item.id}
            className={`card mb-3 border-0 ${
              index !== Listing.length - 1 ? "border-bottom pb-2" : ""
            }`}
            style={{
              borderBottomColor: "#dee2e6", // Bootstrap default border color
              borderBottomWidth: index !== Listing.length - 1 ? "1px" : "0",
              borderBottomStyle: "solid",
            }}
          >
            <div className="card-body">
              <div className="mb-4">
                <Heading el="h2" heading={item.Title} />
              </div>

              {/* GRID layout */}
              <div className="row">
                {item.category.map((cat) => (
                  <div key={cat.id} className="col-12 col-md-4 mb-3">
                    <a
                      href={cleanImage(cat?.img?.url)}
                      download
                      target="_blank"
                      rel="noopener noreferrer"
                      className="text-decoration-underline d-flex gap-2 text-dark"
                      style={{ cursor: "pointer" }}
                    >
                      <p>{cat.name}</p> <span className="text-danger">(PDF)</span>
                    </a>
                  </div>
                ))}
              </div>
            </div>
          </div>
        ))}
      </div>
    </>
  );
}

export async function getServerSideProps() {
  try {
    const query1 = {
      populate: [
        "Banner.Image",
        "seo",
        "seo.metaImage",
        "seo.schema",
        "Listing",
        "Listing.category",
        "Listing.category.img",
      ],
    };
    const query2 = {
      populate: ["conversion"],
    };

    const query1String = qs.stringify(query1, {
      encodeValuesOnly: true,
    });
    const query12String = qs.stringify(query2, {
      encodeValuesOnly: true,
    });

    const endpoint1 = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/annual-reports?${query1String}`;
    const endpoint2 = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/google-manger?${query12String}`;

    // console.log(`Final url: ${endpoint1}`);

    const [response1, response2] = await Promise.all([
      axios.get(endpoint1),
      axios.get(endpoint2),
    ]);

    const Contactpage = response1.data.data;
    const conversionData = response2.data.data;

    return {
      props: { Contactpage, conversionData },
    };
  } catch (error) {
    console.log("Error", error);
  }
}