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.
 
 

146 lines
3.4 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 HeaderLinks from "components/Header/HeaderLinks.js";
  6. import Footer from "components/Footer/Footer.js";
  7. import DataProduct from "pages-sections/yamaha/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 Cookies from "cookies";
  11. import Getproduct from "../../../api/product/product.js";
  12. const useStyles = makeStyles(styles);
  13. const Product = function ({
  14. backend,
  15. maxi,
  16. matic,
  17. naked,
  18. sport,
  19. offroad,
  20. moped,
  21. monsterenergy,
  22. cbu,
  23. user,
  24. ...props
  25. }) {
  26. const classes = useStyles();
  27. const { ...rest } = props;
  28. return (
  29. <div>
  30. <Header
  31. rightLinks={<HeaderLinks username={user} />}
  32. fixed
  33. color="info"
  34. changeColorOnScroll={{
  35. height: 400,
  36. color: "white",
  37. }}
  38. {...rest}
  39. />
  40. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/>
  41. <div className={classNames(classes.main, classes.mainRaised)}>
  42. <DataProduct
  43. maxi={maxi}
  44. matic={matic}
  45. naked={naked}
  46. sport={sport}
  47. offroad={offroad}
  48. moped={moped}
  49. monsterenergy={monsterenergy}
  50. cbu={cbu}
  51. backend={backend}
  52. />
  53. </div>
  54. <Footer />
  55. </div>
  56. );
  57. };
  58. export default Product;
  59. export async function getServerSideProps(context) {
  60. var maxi = [];
  61. var matic = [];
  62. var naked = [];
  63. var sport = [];
  64. var offroad = [];
  65. var moped = [];
  66. var monsterenergy = [];
  67. var cbu = [];
  68. const backend = process.env.BACKEND_SERVER_URI;
  69. var { req, resp } = context;
  70. const cookies = new Cookies(req, resp);
  71. var user = "";
  72. var userObj = (await cookies.get("user"))
  73. ? JSON.parse(await cookies.get("user"))
  74. : null;
  75. if (userObj) {
  76. let sessionId = userObj["partners_login_states"].filter(function (i) {
  77. return (
  78. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  79. );
  80. });
  81. if (sessionId.length != 0) user = userObj["username"];
  82. }
  83. var res = await Getproduct.GetProductMaxi();
  84. if (res["STATUS"] === 1) {
  85. maxi = res["DATA"]["products"];
  86. }
  87. var res = await Getproduct.GetProductMatic();
  88. if (res["STATUS"] === 1) {
  89. matic = res["DATA"]["products"];
  90. }
  91. var res = await Getproduct.GetProductNaked();
  92. if (res["STATUS"] === 1) {
  93. naked = res["DATA"]["products"];
  94. }
  95. var res = await Getproduct.GetProductSport();
  96. if (res["STATUS"] === 1) {
  97. sport = res["DATA"]["products"];
  98. }
  99. var res = await Getproduct.GetProductOffRoad();
  100. if (res["STATUS"] === 1) {
  101. offroad = res["DATA"]["products"];
  102. }
  103. var res = await Getproduct.GetProductMoped();
  104. if (res["STATUS"] === 1) {
  105. moped = res["DATA"]["products"];
  106. }
  107. var res = await Getproduct.GetProductMonsterEnergy();
  108. if (res["STATUS"] === 1) {
  109. monsterenergy = res["DATA"]["products"];
  110. }
  111. var res = await Getproduct.GetProductCBU();
  112. if (res["STATUS"] === 1) {
  113. cbu = res["DATA"]["products"];
  114. }
  115. return {
  116. props: {
  117. maxi,
  118. matic,
  119. naked,
  120. sport,
  121. offroad,
  122. moped,
  123. monsterenergy,
  124. cbu,
  125. backend,
  126. user,
  127. }, // will be passed to the page component as props
  128. };
  129. }