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

import Header from "components/Header/Header.js";
import HeaderSuzuki from "components/Header/HeaderSuzuki.js";
import FooterSuzuki from "components/Footer/FooterSuzuki.js";
import DataProduct from "pages-sections/suzuki/product/product.js";
import Parallax from "components/Parallax/Parallax.js";
import styles from "assets/jss/nextjs-material-kit/pages/components.js";

import Getproduct from "../../../api/product/product.js";
import Cookies from "cookies";

const useStyles = makeStyles(styles);

const Product = function ({
  backend,
  car,
  user,
  ...props
}) {
  const classes = useStyles();
  const { ...rest } = props;
  return (
    <div>
      <Header
        rightLinks={<HeaderSuzuki username={user} />}
        fixed
        color="info"
        changeColorOnScroll={{
          height: 400,
          color: "white",
        }}
        {...rest}
      />
      <Parallax image={require("assets/img/dekstop_pandemi.jpg")} width="200px"/>
      <div className={classNames(classes.main, classes.mainRaised)}>
        <DataProduct
          car={car}
          backend={backend}
        />
      </div>
      <FooterSuzuki />
    </div>
  );
};

export default Product;

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

  var { req, resp } = context;
  const cookies = new Cookies(req, resp);
  var user = "";
  var userObj = (await cookies.get("user"))
    ? JSON.parse(await cookies.get("user"))
    : null;
  if (userObj) {
    let sessionId = userObj["partners_login_states"].filter(function (i) {
      return (
        i.business_partner && i.business_partner.name.toUpperCase() == "SUZUKI"
      );
    });
    if (sessionId.length != 0) user = userObj["username"];
  }

  var res = await Getproduct.GetProductSuzuki();
  if (res["STATUS"] === 1) {
    car = res["DATA"]["products"];
  }

  return {
    props: {
      car,
      backend,
      user,
    }, // will be passed to the page component as props
  };
}
