Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

126 řádky
3.3 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. var detailygp = [];
  60. var detailyamalube = [];
  61. var detailhelmet = [];
  62. var detailapparel = [];
  63. var detailacc = [];
  64. const backend = process.env.BACKEND_SERVER_URI;
  65. var { req, resp } = context;
  66. const cookies = new Cookies(req, resp);
  67. var user = "";
  68. var userObj = (await cookies.get("user"))
  69. ? JSON.parse(await cookies.get("user"))
  70. : null;
  71. if (userObj) {
  72. let sessionId = userObj["partners_login_states"].filter(function (i) {
  73. return (
  74. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  75. );
  76. });
  77. if (sessionId.length != 0) user = userObj["username"];
  78. }
  79. var res = await GetSparepart.GetSparepartYGP();
  80. if (res["STATUS"] === 1) {
  81. ygp = res["DATA"]["ygParts"];
  82. }
  83. var res = await GetSparepart.GetSparepartYamalube();
  84. if (res["STATUS"] === 1) {
  85. yamalube = res["DATA"]["yamalubes"];
  86. }
  87. var res = await GetSparepart.GetHelmet();
  88. if (res["STATUS"] === 1) {
  89. helmet = res["DATA"]["helmets"];
  90. }
  91. var res = await GetSparepart.GetApparel();
  92. if (res["STATUS"] === 1) {
  93. apparel = res["DATA"]["apparels"];
  94. }
  95. var res = await GetSparepart.GetAcc();
  96. if (res["STATUS"] === 1) {
  97. accessories = res["DATA"]["accessories"];
  98. }
  99. return {
  100. props: {
  101. ygp,
  102. yamalube,
  103. helmet,
  104. apparel,
  105. accessories,
  106. backend,
  107. user,
  108. }, // will be passed to the page component as props
  109. };
  110. }