import React from "react";
import classNames from "classnames";
import { makeStyles } from "@material-ui/core/styles";

import Header from "components/Header/Header.js";
import HeaderLinks from "components/Header/HeaderLinks.js";
import Footer from "components/Footer/Footer.js";
import Parallax from "components/Parallax/Parallax.js";
import styles from "assets/jss/nextjs-material-kit/pages/components.js";


import GridContainer from "components/Grid/GridContainer.js";
import GridItem from "components/Grid/GridItem.js";
import Parallax from "components/Parallax/Parallax.js";
import styles from "assets/jss/nextjs-material-kit/pages/components.js";
import Button from "components/CustomButtons/Button.js";
import Footer from "components/Footer/Footer.js";
import GetbusinessPartners from "../api/home/businessPartner.js";
import Getservices from "../api/home/service.js";
import Getcarousels from "../api/home/carousel.js";
import DataSnackbarContent from "../pages-sections/snackbar.js";
import DataCarousel from "../pages-sections/home/carousel.js";
import DataService from "../pages-sections/home/service.js";
import DataBusinessPartner from "../pages-sections/home/business_partner.js";
import CoreValue from "../pages-sections/home/core_value.js";

const useStyles = makeStyles(styles);
const Home = function ({
  backend,
  businessPartners,
  service,
  carousel,
  ...props
}) {
  const classes = useStyles();
  const { ...rest } = props;
  <DataService service={props.service} />;

  return (
    <div>
      <Header
        rightLinks={<HeaderLinks />}
        fixed
        color="info"
        changeColorOnScroll={{
          height: 400,
          color: "white",
        }}
        {...rest}
      />
      <Parallax image={require("assets/img/welcome.png")}styles={{ marginTop: "50px" }}/>
      <div className={classNames(classes.main, classes.mainRaised)}>
        <DataSnackbarContent />
        <CoreValue />
        <DataCarousel carousel={carousel} backend={backend} />
        <DataService service={service} backend={backend} />
        <DataBusinessPartner
          businessPartners={businessPartners}
          backend={backend}
        />
      </div>
      <Footer />
    </div>
  );
};

export async function getServerSideProps(context) {
  var businessPartners = [];
  var service = [];
  var carousel = [];
  const backend = process.env.BACKEND_SERVER_URI;

  var res = await GetbusinessPartners.GetbusinessPartners();
  if (res["STATUS"] === 1) {
    businessPartners = res["DATA"]["businessPartners"];
  }

  var res = await Getservices.Getservices();
  if (res["STATUS"] === 1) {
    service = res["DATA"]["services"];
  }

  var res = await Getcarousels.GetCarousels();
  if (res["STATUS"] === 1) {
    carousel = res["DATA"]["carousels"];
  }

  return {
    props: { businessPartners, service, carousel, backend }, // will be passed to the page component as props
  };
}

export default Home;
