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.
 
 

135 line
4.3 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 GetDataHelmet from "../../api/product/helmet.js"
  11. import DataHelmet from "../../pages-sections/product/helmet.js";
  12. import DataSnackbarContent from "../../pages-sections/snackbar.js";
  13. import Router from 'next/router'
  14. const useStyles = makeStyles(styles);
  15. const queryClient = new QueryClient();
  16. const handleName = values => {
  17. Router.push({
  18. pathname: '/product/helmet',
  19. query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{},
  20. })
  21. }
  22. const Helmet = function ({ selected, helmet, mtx, extreme, ranger, backend, fighter, swirl, classic, uno, ...props }) {
  23. const classes = useStyles();
  24. const { ...rest } = props;
  25. return (
  26. <div>
  27. <Header
  28. rightLinks={<HeaderLinks />}
  29. fixed
  30. color="info"
  31. changeColorOnScroll={{
  32. height: 400,
  33. color: "white",
  34. }}
  35. {...rest}
  36. />
  37. <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/>
  38. <div className={classNames(classes.main, classes.mainRaised)}>
  39. <QueryClientProvider client={queryClient}>
  40. <DataSnackbarContent/>
  41. <DataHelmet selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} helmet={helmet} mtx={mtx} extreme={extreme} ranger={ranger} fighter={fighter} swirl={swirl} classic={classic} uno={uno} backend={backend} />
  42. </QueryClientProvider>
  43. </div>
  44. <Footer />
  45. </div>
  46. );
  47. };
  48. export default Helmet;
  49. export async function getServerSideProps(context) {
  50. var helmet = [];
  51. var mtx = [];
  52. var extreme = [];
  53. var ranger = [];
  54. var fighter = [];
  55. var swirl = [];
  56. var classic = [];
  57. var uno = [];
  58. var filter = context.query.filter||"";
  59. var selected = "";
  60. const backend = process.env.BACKEND_SERVER_URI;
  61. var res = await GetDataHelmet.GetHelmetRConcepts(filter);
  62. if (res["STATUS"] === 1) {
  63. helmet = res["DATA"]["helmets"];
  64. if (filter !=""){
  65. selected = helmet.filter((i)=>i.name==filter);
  66. }
  67. }
  68. var res = await GetDataHelmet.GetHelmetMTX(filter);
  69. if (res["STATUS"] === 1) {
  70. mtx = res["DATA"]["helmets"];
  71. if (filter !=""){
  72. selected = mtx.filter((i)=>i.name==filter);
  73. }
  74. }
  75. var res = await GetDataHelmet.GetHelmetExtreme(filter);
  76. if (res["STATUS"] === 1) {
  77. extreme = res["DATA"]["helmets"];
  78. if (filter !=""){
  79. selected = extreme.filter((i)=>i.name==filter);
  80. }
  81. }
  82. var res = await GetDataHelmet.GetHelmetRanger(filter);
  83. if (res["STATUS"] === 1) {
  84. ranger = res["DATA"]["helmets"];
  85. if (filter !=""){
  86. selected = ranger.filter((i)=>i.name==filter);
  87. }
  88. }
  89. var res = await GetDataHelmet.GetHelmetFighter(filter);
  90. if (res["STATUS"] === 1) {
  91. fighter = res["DATA"]["helmets"];
  92. if (filter !=""){
  93. selected = fighter.filter((i)=>i.name==filter);
  94. }
  95. }
  96. var res = await GetDataHelmet.GetHelmetSwirl(filter);
  97. if (res["STATUS"] === 1) {
  98. swirl = res["DATA"]["helmets"];
  99. if (filter !=""){
  100. selected = swirl.filter((i)=>i.name==filter);
  101. }
  102. }
  103. var res = await GetDataHelmet.GetHelmetClassic(filter);
  104. if (res["STATUS"] === 1) {
  105. classic = res["DATA"]["helmets"];
  106. if (filter !=""){
  107. selected = classic.filter((i)=>i.name==filter);
  108. }
  109. }
  110. var res = await GetDataHelmet.GetHelmetUno(filter);
  111. if (res["STATUS"] === 1) {
  112. uno = res["DATA"]["helmets"];
  113. if (filter !=""){
  114. selected = uno.filter((i)=>i.name==filter);
  115. }
  116. }
  117. return {
  118. props: { selected, helmet, mtx, extreme, ranger, fighter, swirl, classic, uno, backend }, // will be passed to the page component as props
  119. };
  120. }