Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

338 linhas
13 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import Select from 'react-select';
  5. import Button from "components/CustomButtons/Button.js";
  6. import Icon from "@material-ui/core/Icon";
  7. import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/notificationsStyles.js";
  8. import Card from "components/Card/Card.js";
  9. import CardBody from "components/Card/CardBody.js";
  10. import GridContainer from "components/Grid/GridContainer.js";
  11. import SnackbarContent from "components/Snackbar/SnackbarContent.js";
  12. import { MoveToInboxOutlined } from "@material-ui/icons";
  13. const useStyles = makeStyles(styles);
  14. const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extreme, ranger, fighter, swirl, classic, uno, ...props }) {
  15. const classes = useStyles();
  16. const { ...rest } = props;
  17. const imageClasses = classNames(
  18. classes.imgRaised,
  19. classes.imgRoundedCircle,
  20. classes.imgFluid
  21. );
  22. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  23. const ProductHelmetRConcepts = helmet.map((data) => {
  24. return (
  25. <div style={{padding:"40px"}}>
  26. <img
  27. alt="..."
  28. style={{ height: "150px", display: "block" }}
  29. src={`${backend}${data.img["url"]}`}
  30. className={navImageClasses}
  31. />
  32. <div align="center">
  33. <h4>{data.name}</h4>
  34. <h4>Rp.{data.price}</h4>
  35. <Button
  36. color="info" round
  37. href={"/product/helmet_details?s="+data.id}
  38. >
  39. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  40. </Button>
  41. </div>
  42. </div>
  43. );
  44. })
  45. const ProductHelmetMTX = mtx.map((data) => {
  46. return (
  47. <div style={{padding:"40px"}}>
  48. <img
  49. alt="..."
  50. style={{ height: "150px", display: "block" }}
  51. src={`${backend}${data.img["url"]}`}
  52. className={navImageClasses}
  53. />
  54. <div align="center">
  55. <h4>{data.name}</h4>
  56. <h4>Rp.{data.price}</h4>
  57. <Button
  58. color="info" round
  59. href={"/product/helmet_details?s="+data.id}
  60. >
  61. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  62. </Button>
  63. </div>
  64. </div>
  65. );
  66. })
  67. const ProductHelmetExtreme = extreme.map((data) => {
  68. return (
  69. <div style={{padding:"40px"}}>
  70. <img
  71. alt="..."
  72. style={{ height: "150px", display: "block" }}
  73. src={`${backend}${data.img["url"]}`}
  74. className={navImageClasses}
  75. />
  76. <div align="center">
  77. <h4>{data.name}</h4>
  78. <h4>Rp.{data.price}</h4>
  79. <Button
  80. color="info" round
  81. href={"/product/helmet_details?s="+data.id}
  82. >
  83. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  84. </Button>
  85. </div>
  86. </div>
  87. );
  88. })
  89. const ProductHelmetRanger = ranger.map((data) => {
  90. return (
  91. <div style={{padding:"40px"}}>
  92. <img
  93. alt="..."
  94. style={{ height: "150px", display: "block" }}
  95. src={`${backend}${data.img["url"]}`}
  96. className={navImageClasses}
  97. />
  98. <div align="center">
  99. <h4>{data.name}</h4>
  100. <h4>Rp.{data.price}</h4>
  101. <Button
  102. color="info" round
  103. href={"/product/helmet_details?s="+data.id}
  104. >
  105. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  106. </Button>
  107. </div>
  108. </div>
  109. );
  110. })
  111. const ProductHelmetFighter = fighter.map((data) => {
  112. return (
  113. <div style={{padding:"40px"}}>
  114. <img
  115. alt="..."
  116. style={{ height: "150px", display: "block" }}
  117. src={`${backend}${data.img["url"]}`}
  118. className={navImageClasses}
  119. />
  120. <div align="center">
  121. <h4>{data.name}</h4>
  122. <h4>Rp.{data.price}</h4>
  123. <Button
  124. color="info" round
  125. href={"/product/helmet_details?s="+data.id}
  126. >
  127. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  128. </Button>
  129. </div>
  130. </div>
  131. );
  132. })
  133. const ProductHelmetSwirl = swirl.map((data) => {
  134. return (
  135. <div style={{padding:"40px"}}>
  136. <img
  137. alt="..."
  138. style={{ height: "150px", display: "block" }}
  139. src={`${backend}${data.img["url"]}`}
  140. className={navImageClasses}
  141. />
  142. <div align="center">
  143. <h4>{data.name}</h4>
  144. <h4>Rp.{data.price}</h4>
  145. <Button
  146. color="info" round
  147. href={"/product/helmet_details?s="+data.id}
  148. >
  149. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  150. </Button>
  151. </div>
  152. </div>
  153. );
  154. })
  155. const ProductHelmetClassic = classic.map((data) => {
  156. return (
  157. <div style={{padding:"40px"}}>
  158. <img
  159. alt="..."
  160. style={{ height: "150px", display: "block" }}
  161. src={`${backend}${data.img["url"]}`}
  162. className={navImageClasses}
  163. />
  164. <div align="center">
  165. <h4>{data.name}</h4>
  166. <h4>Rp.{data.price}</h4>
  167. <Button
  168. color="info" round
  169. href={"/product/helmet_details?s="+data.id}
  170. >
  171. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  172. </Button>
  173. </div>
  174. </div>
  175. );
  176. })
  177. const ProductHelmetUno = uno.map((data) => {
  178. return (
  179. <div style={{padding:"40px"}}>
  180. <img
  181. alt="..."
  182. style={{ height: "150px", display: "block" }}
  183. src={`${backend}${data.img["url"]}`}
  184. className={navImageClasses}
  185. />
  186. <div align="center">
  187. <h4>{data.name}</h4>
  188. <h4>Rp.{data.price}</h4>
  189. <Button
  190. color="info" round
  191. href={"/product/helmet_details?s="+data.id}
  192. >
  193. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  194. </Button>
  195. </div>
  196. </div>
  197. );
  198. })
  199. return (
  200. <div>
  201. <Card className={classes.textCenter} style={{padding:"5px"}}>
  202. <CardBody>
  203. <div align="center" style={{marginTop:"-50px"}}>
  204. <h2>Yamaha Helmet</h2>
  205. <Select
  206. value={(selected)?helmet.filter((i)=>i.id==selected):null}
  207. getOptionLabel={option => `${option.name}`}
  208. getOptionValue={option => option.id}
  209. options={helmet}
  210. isMulti
  211. instanceId="name"
  212. placeholder="Search"
  213. onChange={values => handleName(values)}
  214. />
  215. <br></br><br></br><br></br>
  216. </div>
  217. <div align="center" style={{marginTop:"-50px"}}>
  218. <div align="center" className={classes.section} id="notifications">
  219. <SnackbarContent
  220. message={
  221. <h4>R CONCEPT</h4>
  222. }
  223. align="center"
  224. color="danger"
  225. />
  226. </div>
  227. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  228. {ProductHelmetRConcepts}
  229. </GridContainer>
  230. </div><br></br><br></br>
  231. <div align="center" style={{marginTop:"-50px"}}>
  232. <div align="center" className={classes.section} id="notifications">
  233. <SnackbarContent
  234. message={
  235. <h4>MTX</h4>
  236. }
  237. align="center"
  238. color="danger"
  239. />
  240. </div>
  241. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  242. {ProductHelmetMTX}
  243. </GridContainer>
  244. </div><br></br><br></br>
  245. <div align="center" style={{marginTop:"-50px"}}>
  246. <div align="center" className={classes.section} id="notifications">
  247. <SnackbarContent
  248. message={
  249. <h4>EXTREME</h4>
  250. }
  251. align="center"
  252. color="danger"
  253. />
  254. </div>
  255. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  256. {ProductHelmetExtreme}
  257. </GridContainer>
  258. </div><br></br><br></br>
  259. <div align="center" style={{marginTop:"-50px"}}>
  260. <div align="center" className={classes.section} id="notifications">
  261. <SnackbarContent
  262. message={
  263. <h4>RANGER</h4>
  264. }
  265. align="center"
  266. color="danger"
  267. />
  268. </div>
  269. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  270. {ProductHelmetRanger}
  271. </GridContainer>
  272. </div><br></br><br></br>
  273. <div align="center" style={{marginTop:"-50px"}}>
  274. <div align="center" className={classes.section} id="notifications">
  275. <SnackbarContent
  276. message={
  277. <h4>FIGHTER</h4>
  278. }
  279. align="center"
  280. color="danger"
  281. />
  282. </div>
  283. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  284. {ProductHelmetFighter}
  285. </GridContainer>
  286. </div><br></br><br></br>
  287. <div align="center" style={{marginTop:"-50px"}}>
  288. <div align="center" className={classes.section} id="notifications">
  289. <SnackbarContent
  290. message={
  291. <h4>SWIRL</h4>
  292. }
  293. align="center"
  294. color="danger"
  295. />
  296. </div>
  297. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  298. {ProductHelmetSwirl}
  299. </GridContainer>
  300. </div><br></br><br></br>
  301. <div align="center" style={{marginTop:"-50px"}}>
  302. <div align="center" className={classes.section} id="notifications">
  303. <SnackbarContent
  304. message={
  305. <h4>CLASSIC</h4>
  306. }
  307. align="center"
  308. color="danger"
  309. />
  310. </div>
  311. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  312. {ProductHelmetClassic}
  313. </GridContainer>
  314. </div><br></br><br></br>
  315. <div align="center" style={{marginTop:"-50px"}}>
  316. <div align="center" className={classes.section} id="notifications">
  317. <SnackbarContent
  318. message={
  319. <h4>UNO</h4>
  320. }
  321. align="center"
  322. color="danger"
  323. />
  324. </div>
  325. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  326. {ProductHelmetUno}
  327. </GridContainer>
  328. </div><br></br><br></br>
  329. </CardBody>
  330. </Card>
  331. </div>
  332. );
  333. }
  334. export default DataHelmet;