index.js
3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import { Inter } from "next/font/google";
import HomeBanner from "@/container/Home/HomeBanner";
import AboutContent from "@/container/Home/AboutContent";
import People from "@/container/Home/People";
import ClientService from "@/container/Home/ClientService";
import AreasofExpertise from "@/container/Home/AreasofExpertise";
import HomeBlog from "@/container/Home/HomeBlog";
import PartnerSlider from "@/container/Home/PartnerSlider";
import CallBackRequest from "@/components/reuseables/CallBackRequest";
import qs from "qs";
import axios from "axios";
import { fetchBlogList } from "@/redux/slices/bloglistslice";
import { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { fetchServiceList } from "@/redux/slices/clientservice";
import Industries from "@/container/Home/Industries";
import FunctionalAreas from "@/container/Home/FunctionalAreas";
import Seo from "@/components/reuseables/Seo/Seo";
const inter = Inter({ subsets: ["latin"] });
export default function Home({homepage }) {
  const dispatch = useDispatch();
  // console.log("homepage", homepage);
  const banner = homepage?.Banner;
  const Knowledgeshack = homepage?.Knowledgeshack;
  const KnowledgeTab = homepage?.KnowledgeTab;
  const people = homepage?.People;
  const Areas = homepage?.AreasofExpertise;
  const functionarea = homepage?.FunctionalAreas;
  const industry = homepage?.Industry;
  const Clientel = homepage?.Clientel;
  useEffect(() => {
    dispatch(fetchBlogList());
    dispatch(fetchServiceList());
    
  }, []);
  const blogData = useSelector((state) => state.bloglist.data)
  const serviceData = useSelector((state) => state.servicelist.data)
  // console.log(serviceData, "data")
  const seo = homepage?.seo;
  return (
    <>
      <Seo seo={seo} />
      <HomeBanner banner={banner} />
      <AboutContent Knowledges={Knowledgeshack} KnowledgeTab={KnowledgeTab} />
      <People people={people} />
      <ClientService service={serviceData}  />
      <AreasofExpertise Areas={Areas} />
      <FunctionalAreas functionarea={functionarea} />
      <Industries industry={industry} />
      <HomeBlog data={blogData}/>
      <div className="ptb-100 bg-fafafa">
        <PartnerSlider Clientel={Clientel} />
      </div>
      <CallBackRequest />
    </>
  );
}
export async function getServerSideProps() {
  try {
    const query1 = {
      populate: [
        "Banner.Mobilebanner",
        "Banner.BackgroundBanner",
        "Banner.Desktopbanner",
        "Banner.CTA",
        "Knowledgeshack.Image",
        "KnowledgeTab",
        "KnowledgeTab.CTA",
        "People.Image",
        "People.peoplelist",
        "whatwedo.Image",
        "whatwedo.CTA",
        "AreasofExpertise.Image",
        "FunctionalAreas.Icon",
        "Industry.Image",
        "Industry.CTA",
        "Clientel.logos",
        "seo",
        "seo.metaImage",
        "seo.schema",
      ],
    };
    const query1String = qs.stringify(query1, {
      encodeValuesOnly: true,
    });
    const endpoint1 = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/home?${query1String}`;
    console.log(`Final url: ${endpoint1}`);
    const response1 = await axios.get(endpoint1);
    const homepage = response1.data.data;
    return {
      props: { homepage },
    };
  } catch (error) {
    console.log("Error", error);
  }
}