您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

374 行
14 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import GridContainer from "components/Grid/GridContainer.js";
  5. import GridItem from "components/Grid/GridItem.js";
  6. import NavPills from "components/NavPills/NavPills.js";
  7. import Card from "components/Card/Card.js";
  8. import CardBody from "components/Card/CardBody.js";
  9. import CardHeader from "components/Card/CardHeader.js";
  10. import Button from "components/CustomButtons/Button.js";
  11. import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js";
  12. import Icon from "@material-ui/core/Icon";
  13. import { Motorcycle } from "@material-ui/icons";
  14. import NumberFormat from 'react-number-format';
  15. const useStyles = makeStyles(styles);
  16. const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, moped, monsterenergy, cbu, ...props }) {
  17. const classes = useStyles();
  18. const { ...rest } = props;
  19. const imageClasses = classNames(
  20. classes.imgRaised,
  21. classes.imgRoundedCircle,
  22. classes.imgFluid
  23. );
  24. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  25. const Productmaxi = maxi.map((data) => {
  26. return (
  27. <div style={{padding: "20px", marginTop:"-40px"}}>
  28. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  29. <CardBody>
  30. <div style={{padding:"10px"}}>
  31. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  32. />
  33. <div align="center">
  34. <h5>{data.name}</h5>
  35. <h5>
  36. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  37. </h5>
  38. <Button
  39. color="info" round
  40. href={"/yamaha/product/product_detail?s="+data.id}
  41. >
  42. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  43. </Button>
  44. {/* <Button
  45. color="info" round
  46. href={"/yamaha/cart/checkout?s="+data.id}
  47. >
  48. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  49. </Button> */}
  50. </div>
  51. </div>
  52. </CardBody>
  53. </Card>
  54. </div>
  55. );
  56. })
  57. const Productmatic = matic.map((data) => {
  58. return (
  59. <div style={{padding: "20px", marginTop:"-40px"}}>
  60. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  61. <CardBody>
  62. <div style={{padding:"10px"}}>
  63. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  64. />
  65. <div align="center">
  66. <h5>{data.name}</h5>
  67. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  68. <Button
  69. color="info" round
  70. href={"/yamaha/product/product_detail?s="+data.id}
  71. >
  72. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  73. </Button>
  74. {/* <Button
  75. color="info" round
  76. href={"/yamaha/cart/checkout?s="+data.id}
  77. >
  78. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  79. </Button> */}
  80. </div>
  81. </div>
  82. </CardBody>
  83. </Card>
  84. </div>
  85. );
  86. })
  87. const Productnaked = naked.map((data) => {
  88. return (
  89. <div style={{padding: "20px", marginTop:"-40px"}}>
  90. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  91. <CardBody>
  92. <div style={{padding:"10px"}}>
  93. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  94. />
  95. <div align="center">
  96. <h5>{data.name}</h5>
  97. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  98. <Button
  99. color="info" round
  100. href={"/yamaha/product/product_detail?s="+data.id}
  101. >
  102. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  103. </Button>
  104. {/* <Button
  105. color="info" round
  106. href={"/yamaha/cart/checkout?s="+data.id}
  107. >
  108. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  109. </Button> */}
  110. </div>
  111. </div>
  112. </CardBody>
  113. </Card>
  114. </div>
  115. );
  116. })
  117. const Productsport = sport.map((data) => {
  118. return (
  119. <div style={{padding: "20px", marginTop:"-40px"}}>
  120. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  121. <CardBody>
  122. <div style={{padding:"10px"}}>
  123. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  124. />
  125. <div align="center">
  126. <h5>{data.name}</h5>
  127. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  128. <Button
  129. color="info" round
  130. href={"/yamaha/product/product_detail?s="+data.id}
  131. >
  132. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  133. </Button>
  134. {/* <Button
  135. color="info" round
  136. href={"/yamaha/cart/checkout?s="+data.id}
  137. >
  138. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  139. </Button> */}
  140. </div>
  141. </div>
  142. </CardBody>
  143. </Card>
  144. </div>
  145. );
  146. })
  147. const Productoffroad = offroad.map((data) => {
  148. return (
  149. <div style={{padding: "20px", marginTop:"-40px"}}>
  150. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  151. <CardBody>
  152. <div style={{padding:"10px"}}>
  153. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  154. />
  155. <div align="center">
  156. <h5>{data.name}</h5>
  157. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  158. <Button
  159. color="info" round
  160. href={"/yamaha/product/product_detail?s="+data.id}
  161. >
  162. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  163. </Button>
  164. {/* <Button
  165. color="info" round
  166. href={"/yamaha/cart/checkout?s="+data.id}
  167. >
  168. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  169. </Button> */}
  170. </div>
  171. </div>
  172. </CardBody>
  173. </Card>
  174. </div>
  175. );
  176. })
  177. const Productmoped = moped.map((data) => {
  178. return (
  179. <div style={{padding: "20px", marginTop:"-40px"}}>
  180. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  181. <CardBody>
  182. <div style={{padding:"10px"}}>
  183. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  184. />
  185. <div align="center">
  186. <h5>{data.name}</h5>
  187. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  188. <Button
  189. color="info" round
  190. href={"/yamaha/product/product_detail?s="+data.id}
  191. >
  192. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  193. </Button>
  194. {/* <Button
  195. color="info" round
  196. href={"/yamaha/cart/checkout?s="+data.id}
  197. >
  198. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  199. </Button> */}
  200. </div>
  201. </div>
  202. </CardBody>
  203. </Card>
  204. </div>
  205. );
  206. })
  207. const Productmonsterenergy = monsterenergy.map((data) => {
  208. return (
  209. <div style={{padding: "20px", marginTop:"-40px"}}>
  210. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  211. <CardBody>
  212. <div style={{padding:"10px"}}>
  213. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  214. />
  215. <div align="center">
  216. <h5>{data.name}</h5>
  217. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  218. <Button
  219. color="info" round
  220. href={"/yamaha/product/product_detail?s="+data.id}
  221. >
  222. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  223. </Button>
  224. {/* <Button
  225. color="info" round
  226. href={"/yamaha/cart/checkout?s="+data.id}
  227. >
  228. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  229. </Button> */}
  230. </div>
  231. </div>
  232. </CardBody>
  233. </Card>
  234. </div>
  235. );
  236. })
  237. const Productcbu = cbu.map((data) => {
  238. return (
  239. <div style={{padding: "20px", marginTop:"-40px"}}>
  240. <Card className={classes.textCenter} align="center" style={{width:"350px"}}>
  241. <CardBody>
  242. <div style={{padding:"10px"}}>
  243. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  244. />
  245. <div align="center">
  246. <h5>{data.name}</h5>
  247. <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  248. <Button
  249. color="info" round
  250. href={"/yamaha/product/product_detail?s="+data.id}
  251. >
  252. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  253. </Button>
  254. {/* <Button
  255. color="info" round
  256. href={"/yamaha/cart/checkout?s="+data.id}
  257. >
  258. <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart
  259. </Button> */}
  260. </div>
  261. </div>
  262. </CardBody>
  263. </Card>
  264. </div>
  265. );
  266. })
  267. return (
  268. <Card className={classes.textCenter}>
  269. <div align="center">
  270. <CardHeader color="info">Product</CardHeader>
  271. </div>
  272. <CardBody>
  273. <div align="center">
  274. <h2>Product & Facilities</h2>
  275. </div>
  276. <GridContainer justify="center">
  277. <GridItem>
  278. <NavPills
  279. alignCenter
  280. color="primary"
  281. tabs={[
  282. {
  283. tabButton: "Maxi",
  284. tabIcon: Motorcycle,
  285. tabContent: (
  286. <GridContainer justify="center">
  287. {Productmaxi}
  288. </GridContainer>
  289. ),
  290. },
  291. {
  292. tabButton: "Matic",
  293. tabIcon: Motorcycle,
  294. tabContent: (
  295. <GridContainer justify="center">
  296. {Productmatic}
  297. </GridContainer>
  298. ),
  299. },
  300. {
  301. tabButton: "Naked Bike",
  302. tabIcon: Motorcycle,
  303. tabContent: (
  304. <GridContainer justify="center">
  305. {Productnaked}
  306. </GridContainer>
  307. ),
  308. },
  309. {
  310. tabButton: "Sport",
  311. tabIcon: Motorcycle,
  312. tabContent: (
  313. <GridContainer justify="center">
  314. {Productsport}
  315. </GridContainer>
  316. ),
  317. },
  318. {
  319. tabButton: "Off Road",
  320. tabIcon: Motorcycle,
  321. tabContent: (
  322. <GridContainer justify="center">
  323. {Productoffroad}
  324. </GridContainer>
  325. ),
  326. },
  327. {
  328. tabButton: "Moped",
  329. tabIcon: Motorcycle,
  330. tabContent: (
  331. <GridContainer justify="center">
  332. {Productmoped}
  333. </GridContainer>
  334. ),
  335. },
  336. {
  337. tabButton: "Monster Energy MotoGP",
  338. tabIcon: Motorcycle,
  339. tabContent: (
  340. <GridContainer justify="center">
  341. {Productmonsterenergy}
  342. </GridContainer>
  343. ),
  344. },
  345. {
  346. tabButton: "CBU",
  347. tabIcon: Motorcycle,
  348. tabContent: (
  349. <GridContainer justify="center">
  350. {Productcbu}
  351. </GridContainer>
  352. ),
  353. },
  354. {
  355. tabButton: "ATV",
  356. tabIcon: Motorcycle,
  357. tabContent: (
  358. <GridContainer justify="center">
  359. {Productcbu}
  360. </GridContainer>
  361. ),
  362. },
  363. ]}
  364. />
  365. </GridItem>
  366. </GridContainer>
  367. </CardBody>
  368. </Card>
  369. );
  370. }
  371. export default DataProduct;