Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

151 rinda
4.9 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import { QueryClient, QueryClientProvider, useQuery } from 'react-query'
  5. import Header from "components/Header/Header.js";
  6. import HeaderLinks from "components/Header/HeaderLinks.js";
  7. import Footer from "components/Footer/Footer.js";
  8. import Parallax from "components/Parallax/Parallax.js";
  9. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  10. import GetDataApparel from "../../../api/product/apparel.js";
  11. import DataApparel from "../../../pages-sections/yamaha/product/apparel.js";
  12. import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js";
  13. import Router from 'next/router'
  14. import Cookies from "cookies";
  15. const useStyles = makeStyles(styles);
  16. const queryClient = new QueryClient();
  17. const handleName = values => {
  18. Router.push({
  19. pathname: 'yamaha/product/apparel',
  20. query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{},
  21. })
  22. }
  23. const Apparel = function ({ user, selected, apparel, asia, basic, merchand, maxi, rainsuit, motogp, offroad, backend, ...props }) {
  24. const classes = useStyles();
  25. const { ...rest } = props;
  26. return (
  27. <div>
  28. <Header
  29. rightLinks={<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/yamalube.jpg")} height="200px"/>
  39. <div className={classNames(classes.main, classes.mainRaised)}>
  40. <QueryClientProvider client={queryClient}>
  41. <DataSnackbarContent/>
  42. <DataApparel selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} apparel={apparel} asia={asia} basic={basic} merchand={merchand} maxi={maxi} rainsuit={rainsuit} motogp={motogp} offroad={offroad} backend={backend} />
  43. </QueryClientProvider>
  44. </div>
  45. <Footer />
  46. </div>
  47. );
  48. };
  49. export default Apparel;
  50. export async function getServerSideProps(context) {
  51. var apparel = [];
  52. var asia = [];
  53. var basic = [];
  54. var merchand = [];
  55. var maxi = [];
  56. var rainsuit = [];
  57. var motogp = [];
  58. var offroad = [];
  59. var filter = context.query.filter||"";
  60. var selected = "";
  61. var { req, resp } = context;
  62. const cookies = new Cookies(req, resp);
  63. var user = "";
  64. var userObj = (await cookies.get("user"))
  65. ? JSON.parse(await cookies.get("user"))
  66. : null;
  67. if (userObj) {
  68. let sessionId = userObj["partners_login_states"].filter(function (i) {
  69. return (
  70. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  71. );
  72. });
  73. if (sessionId.length != 0) user = userObj["username"];
  74. }
  75. const backend = process.env.BACKEND_SERVER_URI;
  76. var res = await GetDataApparel.GetApparel(filter);
  77. if (res["STATUS"] === 1) {
  78. apparel = res["DATA"]["apparels"];
  79. if (filter !=""){
  80. selected = apparel.filter((i)=>i.name==filter);
  81. }
  82. }
  83. var res = await GetDataApparel.GetApparel46Asia(filter);
  84. if (res["STATUS"] === 1) {
  85. asia = res["DATA"]["apparels"];
  86. if (filter !=""){
  87. selected = asia.filter((i)=>i.name==filter);
  88. }
  89. }
  90. var res = await GetDataApparel.GetApparelBasic(filter);
  91. if (res["STATUS"] === 1) {
  92. basic = res["DATA"]["apparels"];
  93. if (filter !=""){
  94. selected = basic.filter((i)=>i.name==filter);
  95. }
  96. }
  97. var res = await GetDataApparel.GetApparelMerchandise(filter);
  98. if (res["STATUS"] === 1) {
  99. merchand = res["DATA"]["apparels"];
  100. if (filter !=""){
  101. selected = merchand.filter((i)=>i.name==filter);
  102. }
  103. }
  104. var res = await GetDataApparel.GetApparelMaxi(filter);
  105. if (res["STATUS"] === 1) {
  106. maxi = res["DATA"]["apparels"];
  107. if (filter !=""){
  108. selected = maxi.filter((i)=>i.name==filter);
  109. }
  110. }
  111. var res = await GetDataApparel.GetApparelRainSuit(filter);
  112. if (res["STATUS"] === 1) {
  113. rainsuit = res["DATA"]["apparels"];
  114. if (filter !=""){
  115. selected = rainsuit.filter((i)=>i.name==filter);
  116. }
  117. }
  118. var res = await GetDataApparel.GetApparelMotoGP(filter);
  119. if (res["STATUS"] === 1) {
  120. motogp = res["DATA"]["apparels"];
  121. if (filter !=""){
  122. selected = motogp.filter((i)=>i.name==filter);
  123. }
  124. }
  125. var res = await GetDataApparel.GetApparelOffRoad(filter);
  126. if (res["STATUS"] === 1) {
  127. offroad = res["DATA"]["apparels"];
  128. if (filter !=""){
  129. selected = offroad.filter((i)=>i.name==filter);
  130. }
  131. }
  132. return {
  133. props: { user, selected, apparel, asia, basic, merchand, maxi, rainsuit, motogp, offroad, backend }, // will be passed to the page component as props
  134. };
  135. }