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.
 
 

121 lines
3.1 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 DataSparepart from "../../../pages-sections/yamaha/sparepart/sparepart.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 GetSparepart from "api/sparepart/sparepart.js";
  12. const useStyles = makeStyles(styles);
  13. const Sparepart = function ({
  14. ygp,
  15. yamalube,
  16. helmet,
  17. apparel,
  18. accessories,
  19. backend,
  20. user,
  21. ...props
  22. }) {
  23. const classes = useStyles();
  24. const { ...rest } = props;
  25. return (
  26. <div>
  27. <Header
  28. leftLinks={<HeaderLinks username={user} />}
  29. fixed
  30. color="info"
  31. changeColorOnScroll={{
  32. height: 400,
  33. color: "white",
  34. }}
  35. {...rest}
  36. />
  37. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/>
  38. <div className={classNames(classes.main, classes.mainRaised)}>
  39. <DataSparepart
  40. ygp={ygp}
  41. yamalube={yamalube}
  42. helmet={helmet}
  43. apparel={apparel}
  44. accessories={accessories}
  45. backend={backend}
  46. />
  47. </div>
  48. <Footer />
  49. </div>
  50. );
  51. };
  52. export default Sparepart;
  53. export async function getServerSideProps(context) {
  54. var ygp = [];
  55. var yamalube = [];
  56. var helmet = [];
  57. var apparel = [];
  58. var accessories = [];
  59. const backend = process.env.BACKEND_SERVER_URI;
  60. var { req, resp } = context;
  61. const cookies = new Cookies(req, resp);
  62. var user = "";
  63. var userObj = (await cookies.get("user"))
  64. ? JSON.parse(await cookies.get("user"))
  65. : null;
  66. if (userObj) {
  67. let sessionId = userObj["partners_login_states"].filter(function (i) {
  68. return (
  69. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  70. );
  71. });
  72. if (sessionId.length != 0) user = userObj["username"];
  73. }
  74. var res = await GetSparepart.GetSparepartYGP();
  75. if (res["STATUS"] === 1) {
  76. ygp = res["DATA"]["accessories"];
  77. }
  78. var res = await GetSparepart.GetSparepartYGP();
  79. if (res["STATUS"] === 1) {
  80. yamalube = res["DATA"]["accessories"];
  81. }
  82. var res = await GetSparepart.GetSparepartYGP();
  83. if (res["STATUS"] === 1) {
  84. apparel = res["DATA"]["accessories"];
  85. }
  86. var res = await GetSparepart.GetSparepartYGP();
  87. if (res["STATUS"] === 1) {
  88. helmet = res["DATA"]["accessories"];
  89. }
  90. var res = await GetSparepart.GetSparepartYGP();
  91. if (res["STATUS"] === 1) {
  92. accessories = res["DATA"]["accessories"];
  93. }
  94. return {
  95. props: {
  96. ygp,
  97. yamalube,
  98. helmet,
  99. apparel,
  100. accessories,
  101. backend,
  102. backend,
  103. user,
  104. }, // will be passed to the page component as props
  105. };
  106. }