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.
 
 

130 lines
3.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 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 stylecss from "pages/home.css";
  12. import GetSparepart from "api/sparepart/sparepart.js";
  13. const useStyles = makeStyles(styles);
  14. const Sparepart = function ({
  15. ygp,
  16. yamalube,
  17. helmet,
  18. apparel,
  19. accessories,
  20. backend,
  21. user,
  22. ...props
  23. }) {
  24. const classes = useStyles();
  25. const { ...rest } = props;
  26. return (
  27. <div>
  28. <Header
  29. leftLinks={<HeaderLinks username={user} />}
  30. fixed
  31. color="info"
  32. changeColorOnScroll={{
  33. height: 400,
  34. color: "white",
  35. }}
  36. {...rest}
  37. />
  38. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/>
  39. <div className={classNames(classes.main, classes.mainRaised)}>
  40. <DataSparepart
  41. ygp={ygp}
  42. yamalube={yamalube}
  43. helmet={helmet}
  44. apparel={apparel}
  45. accessories={accessories}
  46. backend={backend}
  47. />
  48. <a href="https://wa.me/+6287797315685" class="float" target="_blank">
  49. <i class="fa fa-whatsapp my-float"></i>
  50. </a>
  51. </div>
  52. <Footer />
  53. </div>
  54. );
  55. };
  56. export default Sparepart;
  57. export async function getServerSideProps(context) {
  58. var ygp = [];
  59. var yamalube = [];
  60. var helmet = [];
  61. var apparel = [];
  62. var accessories = [];
  63. var detailygp = [];
  64. var detailyamalube = [];
  65. var detailhelmet = [];
  66. var detailapparel = [];
  67. var detailacc = [];
  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 GetSparepart.GetSparepartYGP();
  84. if (res["STATUS"] === 1) {
  85. ygp = res["DATA"]["ygParts"];
  86. }
  87. var res = await GetSparepart.GetSparepartYamalube();
  88. if (res["STATUS"] === 1) {
  89. yamalube = res["DATA"]["yamalubes"];
  90. }
  91. var res = await GetSparepart.GetHelmet();
  92. if (res["STATUS"] === 1) {
  93. helmet = res["DATA"]["helmets"];
  94. }
  95. var res = await GetSparepart.GetApparel();
  96. if (res["STATUS"] === 1) {
  97. apparel = res["DATA"]["apparels"];
  98. }
  99. var res = await GetSparepart.GetAcc();
  100. if (res["STATUS"] === 1) {
  101. accessories = res["DATA"]["accessories"];
  102. }
  103. return {
  104. props: {
  105. ygp,
  106. yamalube,
  107. helmet,
  108. apparel,
  109. accessories,
  110. backend,
  111. user,
  112. }, // will be passed to the page component as props
  113. };
  114. }