Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

252 строки
6.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 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. var detailygp = [];
  102. var detailyamalube = [];
  103. var detailhelmet = [];
  104. var detailapparel = [];
  105. var detailacc = [];
  106. const backend = process.env.BACKEND_SERVER_URI;
  107. var { req, resp } = context;
  108. const cookies = new Cookies(req, resp);
  109. var user = "";
  110. var userObj = (await cookies.get("user"))
  111. ? JSON.parse(await cookies.get("user"))
  112. : null;
  113. if (userObj) {
  114. let sessionId = userObj["partners_login_states"].filter(function (i) {
  115. return (
  116. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  117. );
  118. });
  119. if (sessionId.length != 0) user = userObj["username"];
  120. }
  121. var res = await GetSparepart.GetSparepartYGP();
  122. if (res["STATUS"] === 1) {
  123. ygp = res["DATA"]["ygps"];
  124. }
  125. var res = await GetSparepart.GetSparepartYamalube();
  126. if (res["STATUS"] === 1) {
  127. yamalube = res["DATA"]["yamalubes"];
  128. }
  129. var res = await GetSparepart.GetHelmetRConcepts();
  130. if (res["STATUS"] === 1) {
  131. rconcept = res["DATA"]["helmets"];
  132. }
  133. var res = await GetSparepart.GetHelmetMTX();
  134. if (res["STATUS"] === 1) {
  135. mtx = res["DATA"]["helmets"];
  136. }
  137. var res = await GetSparepart.GetHelmetExtreme();
  138. if (res["STATUS"] === 1) {
  139. extreme = res["DATA"]["helmets"];
  140. }
  141. var res = await GetSparepart.GetHelmetRanger();
  142. if (res["STATUS"] === 1) {
  143. ranger = res["DATA"]["helmets"];
  144. }
  145. var res = await GetSparepart.GetHelmetFighter();
  146. if (res["STATUS"] === 1) {
  147. fighter = res["DATA"]["helmets"];
  148. }
  149. var res = await GetSparepart.GetHelmetSwirl();
  150. if (res["STATUS"] === 1) {
  151. swirl = res["DATA"]["helmets"];
  152. }
  153. var res = await GetSparepart.GetHelmetClassic();
  154. if (res["STATUS"] === 1) {
  155. classic = res["DATA"]["helmets"];
  156. }
  157. var res = await GetSparepart.GetHelmetUno();
  158. if (res["STATUS"] === 1) {
  159. uno = res["DATA"]["helmets"];
  160. }
  161. var res = await GetSparepart.GetApparel();
  162. if (res["STATUS"] === 1) {
  163. apparel = res["DATA"]["apparels"];
  164. }
  165. var res = await GetSparepart.GetApparel46Asia();
  166. if (res["STATUS"] === 1) {
  167. asia = res["DATA"]["apparels"];
  168. }
  169. var res = await GetSparepart.GetApparelBasic();
  170. if (res["STATUS"] === 1) {
  171. basic = res["DATA"]["apparels"];
  172. }
  173. var res = await GetSparepart.GetApparelMerchandise();
  174. if (res["STATUS"] === 1) {
  175. merchand = res["DATA"]["apparels"];
  176. }
  177. var res = await GetSparepart.GetApparelMaxi();
  178. if (res["STATUS"] === 1) {
  179. maxi = res["DATA"]["apparels"];
  180. }
  181. var res = await GetSparepart.GetApparelRainSuit();
  182. if (res["STATUS"] === 1) {
  183. rainsuit = res["DATA"]["apparels"];
  184. }
  185. var res = await GetSparepart.GetApparelMotoGP();
  186. if (res["STATUS"] === 1) {
  187. motogp = res["DATA"]["apparels"];
  188. }
  189. var res = await GetSparepart.GetApparelOffRoad();
  190. if (res["STATUS"] === 1) {
  191. offroad = res["DATA"]["apparels"];
  192. }
  193. var res = await GetSparepart.GetSparepartAccessories();
  194. if (res["STATUS"] === 1) {
  195. accessories = res["DATA"]["accessories"];
  196. }
  197. return {
  198. props: {
  199. ygp,
  200. yamalube,
  201. rconcept,
  202. mtx,
  203. extreme,
  204. ranger,
  205. fighter,
  206. swirl,
  207. classic,
  208. uno,
  209. apparel,
  210. asia,
  211. basic,
  212. merchand,
  213. maxi,
  214. rainsuit,
  215. motogp,
  216. offroad,
  217. accessories,
  218. backend,
  219. user,
  220. }, // will be passed to the page component as props
  221. };
  222. }