You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.5 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import Header from "components/Header/Header.js";
  5. import HeaderHonda from "components/Header/HeaderHonda.js";
  6. import FooterHonda from "components/Footer/FooterHonda.js";
  7. import DataProduct from "pages-sections/honda/product/product.js";
  8. import Parallax from "components/Parallax/Parallax.js";
  9. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  10. import Getproduct from "api/product/product.js";
  11. import Cookies from "cookies";
  12. import stylecss from "pages/home.css";
  13. const useStyles = makeStyles(styles);
  14. const Product = function ({
  15. backend,
  16. car,
  17. user,
  18. ...props
  19. }) {
  20. const classes = useStyles();
  21. const { ...rest } = props;
  22. return (
  23. <div>
  24. <Header
  25. rightLinks={<HeaderHonda username={user} />}
  26. fixed
  27. color="info"
  28. changeColorOnScroll={{
  29. height: 400,
  30. color: "white",
  31. }}
  32. {...rest}
  33. />
  34. <Parallax image={require("assets/img/honda.jpg")} width="200px" />
  35. <div className={classNames(classes.main, classes.mainRaised)}>
  36. <DataProduct
  37. car={car}
  38. backend={backend}
  39. />
  40. </div>
  41. <FooterHonda />
  42. <a href="https://wa.me/087797315685" target="_blank" class="float">
  43. <i class="fa fa-phone my-float"></i>
  44. </a>
  45. </div>
  46. );
  47. };
  48. export default Product;
  49. export async function getServerSideProps(context) {
  50. var car = [];
  51. const backend = process.env.BACKEND_SERVER_URI;
  52. var { req, resp } = context;
  53. const cookies = new Cookies(req, resp);
  54. var user = "";
  55. var userObj = (await cookies.get("user"))
  56. ? JSON.parse(await cookies.get("user"))
  57. : null;
  58. if (userObj) {
  59. let sessionId = userObj["partners_login_states"].filter(function (i) {
  60. return (
  61. i.business_partner && i.business_partner.name.toUpperCase() == "HONDA"
  62. );
  63. });
  64. if (sessionId.length != 0) user = userObj["username"];
  65. }
  66. var res = await Getproduct.GetProductHonda();
  67. if (res["STATUS"] === 1) {
  68. car = res["DATA"]["products"];
  69. }
  70. return {
  71. props: {
  72. car,
  73. backend,
  74. user,
  75. }, // will be passed to the page component as props
  76. };
  77. }