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.

278 lines
9.5 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import Dashboard from "@material-ui/icons/Dashboard";
  5. import GridContainer from "components/Grid/GridContainer.js";
  6. import GridItem from "components/Grid/GridItem.js";
  7. import NavPills from "components/NavPills/NavPills.js";
  8. import Card from "components/Card/Card.js";
  9. import CardBody from "components/Card/CardBody.js";
  10. import CardHeader from "components/Card/CardHeader.js";
  11. import CardFooter from "components/Card/CardFooter.js";
  12. import Button from "components/CustomButtons/Button.js";
  13. import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js";
  14. import Icon from "@material-ui/core/Icon";
  15. import { Motorcycle } from "@material-ui/icons";
  16. const useStyles = makeStyles(styles);
  17. const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, moped, monsterenergy, cbu, ...props }) {
  18. const classes = useStyles();
  19. const { ...rest } = props;
  20. const imageClasses = classNames(
  21. classes.imgRaised,
  22. classes.imgRoundedCircle,
  23. classes.imgFluid
  24. );
  25. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  26. const Productmaxi = maxi.map((data) => {
  27. return (
  28. <div>
  29. <div align="center" style={{padding:"30px"}}>
  30. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  31. />
  32. <h5>{data.name}</h5>
  33. <h5>Rp.{data.price}</h5>
  34. <Button
  35. color="info" round
  36. href={"/product/product_detail?s="+data.id}
  37. >
  38. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  39. </Button>
  40. </div>
  41. </div>
  42. );
  43. })
  44. const Productmatic = matic.map((data) => {
  45. return (
  46. <div>
  47. <div align="center" style={{padding:"30px"}}>
  48. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  49. />
  50. <h5>{data.name}</h5>
  51. <h5>Rp.{data.price}</h5>
  52. <Button
  53. color="info" round
  54. href={"/product/product_detail?s="+data.id}
  55. >
  56. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  57. </Button>
  58. </div>
  59. </div>
  60. );
  61. })
  62. const Productnaked = naked.map((data) => {
  63. return (
  64. <div>
  65. <div align="center" style={{padding:"30px"}}>
  66. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  67. />
  68. <h5>{data.name}</h5>
  69. <h5>Rp.{data.price}</h5>
  70. <Button
  71. color="info" round
  72. href={"/product/product_detail?s="+data.id}
  73. >
  74. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  75. </Button>
  76. </div>
  77. </div>
  78. );
  79. })
  80. const Productsport = sport.map((data) => {
  81. return (
  82. <div>
  83. <div align="center" style={{padding:"30px"}}>
  84. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  85. />
  86. <h5>{data.name}</h5>
  87. <h5>Rp.{data.price}</h5>
  88. <Button
  89. color="info" round
  90. href={"/product/product_detail?s="+data.id}
  91. >
  92. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  93. </Button>
  94. </div>
  95. </div>
  96. );
  97. })
  98. const Productoffroad = offroad.map((data) => {
  99. return (
  100. <div>
  101. <div align="center" style={{padding:"30px"}}>
  102. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  103. />
  104. <h5>{data.name}</h5>
  105. <h5>Rp.{data.price}</h5>
  106. <Button
  107. color="info" round
  108. href={"/product/product_detail?s="+data.id}
  109. >
  110. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  111. </Button>
  112. </div>
  113. </div>
  114. );
  115. })
  116. const Productmoped = moped.map((data) => {
  117. return (
  118. <div>
  119. <div align="center" style={{padding:"30px"}}>
  120. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  121. />
  122. <h5>{data.name}</h5>
  123. <h5>Rp.{data.price}</h5>
  124. <Button
  125. color="info" round
  126. href={"/product/product_detail?s="+data.id}
  127. >
  128. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  129. </Button>
  130. </div>
  131. </div>
  132. );
  133. })
  134. const Productmonsterenergy = monsterenergy.map((data) => {
  135. return (
  136. <div>
  137. <div align="center" style={{padding:"30px"}}>
  138. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  139. />
  140. <h5>{data.name}</h5>
  141. <h5>Rp.{data.price}</h5>
  142. <Button
  143. color="info" round
  144. href={"/product/product_detail?s="+data.id}
  145. >
  146. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  147. </Button>
  148. </div>
  149. </div>
  150. );
  151. })
  152. const Productcbu = cbu.map((data) => {
  153. return (
  154. <div>
  155. <div align="center" style={{padding:"30px"}}>
  156. <img style={{ width: "300px", height:"250px", display: "block" }} src={`${backend}${data.img[0]["url"]}`} className={navImageClasses}
  157. />
  158. <h5>{data.name}</h5>
  159. <h5>Rp.{data.price}</h5>
  160. <Button
  161. color="info" round
  162. href={"/product/product_detail?s="+data.id}
  163. >
  164. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  165. </Button>
  166. </div>
  167. </div>
  168. );
  169. })
  170. return (
  171. <Card className={classes.textCenter}>
  172. <div align="center">
  173. <CardHeader color="info">Product</CardHeader>
  174. </div>
  175. <CardBody>
  176. <div align="center">
  177. <h2>Product & Facilities</h2>
  178. </div>
  179. <GridContainer justify="center">
  180. <GridItem>
  181. <NavPills
  182. alignCenter
  183. color="primary"
  184. tabs={[
  185. {
  186. tabButton: "Maxi",
  187. tabIcon: Motorcycle,
  188. tabContent: (
  189. <GridContainer justify="center">
  190. {Productmaxi}
  191. </GridContainer>
  192. ),
  193. },
  194. {
  195. tabButton: "Matic",
  196. tabIcon: Motorcycle,
  197. tabContent: (
  198. <GridContainer justify="center">
  199. {Productmatic}
  200. </GridContainer>
  201. ),
  202. },
  203. {
  204. tabButton: "Naked Bike",
  205. tabIcon: Motorcycle,
  206. tabContent: (
  207. <GridContainer justify="center">
  208. {Productnaked}
  209. </GridContainer>
  210. ),
  211. },
  212. {
  213. tabButton: "Sport",
  214. tabIcon: Motorcycle,
  215. tabContent: (
  216. <GridContainer justify="center">
  217. {Productsport}
  218. </GridContainer>
  219. ),
  220. },
  221. {
  222. tabButton: "Off Road",
  223. tabIcon: Motorcycle,
  224. tabContent: (
  225. <GridContainer justify="center">
  226. {Productoffroad}
  227. </GridContainer>
  228. ),
  229. },
  230. {
  231. tabButton: "Moped",
  232. tabIcon: Motorcycle,
  233. tabContent: (
  234. <GridContainer justify="center">
  235. {Productmoped}
  236. </GridContainer>
  237. ),
  238. },
  239. {
  240. tabButton: "Monster Energy MotoGP",
  241. tabIcon: Motorcycle,
  242. tabContent: (
  243. <GridContainer justify="center">
  244. {Productmonsterenergy}
  245. </GridContainer>
  246. ),
  247. },
  248. {
  249. tabButton: "CBU",
  250. tabIcon: Motorcycle,
  251. tabContent: (
  252. <GridContainer justify="center">
  253. {Productcbu}
  254. </GridContainer>
  255. ),
  256. },
  257. {
  258. tabButton: "ATV",
  259. tabIcon: Motorcycle,
  260. tabContent: (
  261. <GridContainer justify="center">
  262. {Productcbu}
  263. </GridContainer>
  264. ),
  265. },
  266. ]}
  267. />
  268. </GridItem>
  269. </GridContainer>
  270. </CardBody>
  271. </Card>
  272. );
  273. }
  274. export default DataProduct;