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.
 
 

94 line
2.4 KiB

  1. import React from 'react';
  2. import Navbar from "@/components/_App/NavbarYamaha";
  3. import Footer from "@/components/_App/FooterYamaha";
  4. import PageBanner from '@/components/Common/PageBanner';
  5. import SparepartCard from '@/components/Yamaha/Product/Sparepart';
  6. import GetSparepart from "api/sparepart/sparepart.js";
  7. import Cookies from "cookies";
  8. const Shop = function ({ ygp, yamalube, helmet, apparel, accessories, backend, user, ...props }) {
  9. return (
  10. <>
  11. <Navbar username={user} />
  12. <PageBanner pageTitle="Sparepart" />
  13. <SparepartCard
  14. ygp={ygp}
  15. yamalube={yamalube}
  16. helmet={helmet}
  17. apparel={apparel}
  18. accessories={accessories}
  19. backend={backend}
  20. />
  21. <Footer />
  22. </>
  23. )
  24. }
  25. export default Shop;
  26. export async function getServerSideProps(context) {
  27. var ygp = [];
  28. var yamalube = [];
  29. var helmet = [];
  30. var apparel = [];
  31. var accessories = [];
  32. const backend = process.env.BACKEND_SERVER_URI;
  33. var { req, resp } = context;
  34. const cookies = new Cookies(req, resp);
  35. var user = "";
  36. var userObj = (await cookies.get("user"))
  37. ? JSON.parse(await cookies.get("user"))
  38. : null;
  39. if (userObj) {
  40. let sessionId = userObj["partners_login_states"].filter(function (i) {
  41. return (
  42. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  43. );
  44. });
  45. if (sessionId.length != 0) user = userObj["username"];
  46. }
  47. var res = await GetSparepart.GetSparepartYGP();
  48. if (res["STATUS"] === 1) {
  49. ygp = res["DATA"]["ygParts"];
  50. }
  51. var res = await GetSparepart.GetSparepartYamalube();
  52. if (res["STATUS"] === 1) {
  53. yamalube = res["DATA"]["yamalubes"];
  54. }
  55. var res = await GetSparepart.GetHelmet();
  56. if (res["STATUS"] === 1) {
  57. helmet = res["DATA"]["helmets"];
  58. }
  59. var res = await GetSparepart.GetApparel();
  60. if (res["STATUS"] === 1) {
  61. apparel = res["DATA"]["apparels"];
  62. }
  63. var res = await GetSparepart.GetAcc();
  64. if (res["STATUS"] === 1) {
  65. accessories = res["DATA"]["accessories"];
  66. }
  67. return {
  68. props: {
  69. ygp,
  70. yamalube,
  71. helmet,
  72. apparel,
  73. accessories,
  74. backend,
  75. user,
  76. }, // will be passed to the page component as props
  77. };
  78. }