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.
 
 

246 lines
6.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. rconcept,
  17. mtx,
  18. extreme,
  19. ranger,
  20. fighter,
  21. swirl,
  22. classic,
  23. uno,
  24. apparel,
  25. asia,
  26. basic,
  27. merchand,
  28. maxi,
  29. rainsuit,
  30. motogp,
  31. offroad,
  32. accessories,
  33. backend,
  34. user,
  35. ...props
  36. }) {
  37. const classes = useStyles();
  38. const { ...rest } = props;
  39. return (
  40. <div>
  41. <Header
  42. leftLinks={<HeaderLinks username={user} />}
  43. fixed
  44. color="info"
  45. changeColorOnScroll={{
  46. height: 400,
  47. color: "white",
  48. }}
  49. {...rest}
  50. />
  51. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/>
  52. <div className={classNames(classes.main, classes.mainRaised)}>
  53. <DataSparepart
  54. ygp={ygp}
  55. yamalube={yamalube}
  56. rconcept={rconcept}
  57. mtx={mtx}
  58. extreme={extreme}
  59. ranger={ranger}
  60. fighter={fighter}
  61. swirl={swirl}
  62. classic={classic}
  63. uno={uno}
  64. apparel={apparel}
  65. asia={asia}
  66. basic={basic}
  67. merchand={merchand}
  68. maxi={maxi}
  69. rainsuit={rainsuit}
  70. motogp={motogp}
  71. offroad={offroad}
  72. accessories={accessories}
  73. backend={backend}
  74. />
  75. </div>
  76. <Footer />
  77. </div>
  78. );
  79. };
  80. export default Sparepart;
  81. export async function getServerSideProps(context) {
  82. var ygp = [];
  83. var yamalube = [];
  84. var rconcept = [];
  85. var mtx = [];
  86. var extreme = [];
  87. var ranger = [];
  88. var fighter = [];
  89. var swirl = [];
  90. var classic = [];
  91. var uno = [];
  92. var apparel = [];
  93. var asia = [];
  94. var basic = [];
  95. var merchand = [];
  96. var maxi = [];
  97. var rainsuit = [];
  98. var motogp = [];
  99. var offroad = [];
  100. var accessories = [];
  101. const backend = process.env.BACKEND_SERVER_URI;
  102. var { req, resp } = context;
  103. const cookies = new Cookies(req, resp);
  104. var user = "";
  105. var userObj = (await cookies.get("user"))
  106. ? JSON.parse(await cookies.get("user"))
  107. : null;
  108. if (userObj) {
  109. let sessionId = userObj["partners_login_states"].filter(function (i) {
  110. return (
  111. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  112. );
  113. });
  114. if (sessionId.length != 0) user = userObj["username"];
  115. }
  116. var res = await GetSparepart.GetSparepartYGP();
  117. if (res["STATUS"] === 1) {
  118. ygp = res["DATA"]["ygps"];
  119. }
  120. var res = await GetSparepart.GetSparepartYamalube();
  121. if (res["STATUS"] === 1) {
  122. yamalube = res["DATA"]["yamalubes"];
  123. }
  124. var res = await GetSparepart.GetHelmetRConcepts();
  125. if (res["STATUS"] === 1) {
  126. rconcept = res["DATA"]["helmets"];
  127. }
  128. var res = await GetSparepart.GetHelmetMTX();
  129. if (res["STATUS"] === 1) {
  130. mtx = res["DATA"]["helmets"];
  131. }
  132. var res = await GetSparepart.GetHelmetExtreme();
  133. if (res["STATUS"] === 1) {
  134. extreme = res["DATA"]["helmets"];
  135. }
  136. var res = await GetSparepart.GetHelmetRanger();
  137. if (res["STATUS"] === 1) {
  138. ranger = res["DATA"]["helmets"];
  139. }
  140. var res = await GetSparepart.GetHelmetFighter();
  141. if (res["STATUS"] === 1) {
  142. fighter = res["DATA"]["helmets"];
  143. }
  144. var res = await GetSparepart.GetHelmetSwirl();
  145. if (res["STATUS"] === 1) {
  146. swirl = res["DATA"]["helmets"];
  147. }
  148. var res = await GetSparepart.GetHelmetClassic();
  149. if (res["STATUS"] === 1) {
  150. classic = res["DATA"]["helmets"];
  151. }
  152. var res = await GetSparepart.GetHelmetUno();
  153. if (res["STATUS"] === 1) {
  154. uno = res["DATA"]["helmets"];
  155. }
  156. var res = await GetSparepart.GetApparel();
  157. if (res["STATUS"] === 1) {
  158. apparel = res["DATA"]["apparels"];
  159. }
  160. var res = await GetSparepart.GetApparel46Asia();
  161. if (res["STATUS"] === 1) {
  162. asia = res["DATA"]["apparels"];
  163. }
  164. var res = await GetSparepart.GetApparelBasic();
  165. if (res["STATUS"] === 1) {
  166. basic = res["DATA"]["apparels"];
  167. }
  168. var res = await GetSparepart.GetApparelMerchandise();
  169. if (res["STATUS"] === 1) {
  170. merchand = res["DATA"]["apparels"];
  171. }
  172. var res = await GetSparepart.GetApparelMaxi();
  173. if (res["STATUS"] === 1) {
  174. maxi = res["DATA"]["apparels"];
  175. }
  176. var res = await GetSparepart.GetApparelRainSuit();
  177. if (res["STATUS"] === 1) {
  178. rainsuit = res["DATA"]["apparels"];
  179. }
  180. var res = await GetSparepart.GetApparelMotoGP();
  181. if (res["STATUS"] === 1) {
  182. motogp = res["DATA"]["apparels"];
  183. }
  184. var res = await GetSparepart.GetApparelOffRoad();
  185. if (res["STATUS"] === 1) {
  186. offroad = res["DATA"]["apparels"];
  187. }
  188. var res = await GetSparepart.GetSparepartAccessories();
  189. if (res["STATUS"] === 1) {
  190. accessories = res["DATA"]["accessories"];
  191. }
  192. return {
  193. props: {
  194. ygp,
  195. yamalube,
  196. rconcept,
  197. mtx,
  198. extreme,
  199. ranger,
  200. fighter,
  201. swirl,
  202. classic,
  203. uno,
  204. apparel,
  205. asia,
  206. basic,
  207. merchand,
  208. maxi,
  209. rainsuit,
  210. motogp,
  211. offroad,
  212. accessories,
  213. backend,
  214. user,
  215. }, // will be passed to the page component as props
  216. };
  217. }