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.

109 lines
4.5 KiB

  1. import React, { useState, useEffect } from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import ReactHtmlParser from "react-html-parser";
  5. import Dashboard from "@material-ui/icons/Dashboard";
  6. import Icon from "@material-ui/core/Icon";
  7. import GridContainer from "components/Grid/GridContainer.js";
  8. import Grid from '@material-ui/core/Grid';
  9. import GridItem from "components/Grid/GridItem.js";
  10. import NavPills from "components/NavPills/NavPills.js";
  11. import Card from "components/Card/Card.js";
  12. import CardBody from "components/Card/CardBody.js";
  13. import CardHeader from "components/Card/CardHeader.js";
  14. import CardFooter from "components/Card/CardFooter.js";
  15. import Button from "components/CustomButtons/Button.js";
  16. import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js";
  17. import Carousel from "react-slick";
  18. const useStyles = makeStyles(styles);
  19. const DetailDataHelmet = function ({ backend, detailhelmet, ...props }) {
  20. const classes = useStyles();
  21. const { ...rest } = props;
  22. const imageClasses = classNames(
  23. classes.imgRaised,
  24. classes.imgRoundedCircle,
  25. classes.imgFluid
  26. );
  27. const settings = {
  28. dots: true,
  29. infinite: true,
  30. speed: 500,
  31. slidesToShow: 1,
  32. slidesToScroll: 1,
  33. autoplay: true,
  34. time: 5
  35. };
  36. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  37. const Helmetdetails = detailhelmet.map((data) => {
  38. return (
  39. <div>
  40. <GridContainer>
  41. <Grid fluid xs={5}>
  42. <div className={classes.section} id="notifications">
  43. <div className={classes.section}>
  44. <div className={classes.container}>
  45. <GridContainer>
  46. <GridItem className={classes.marginAuto}>
  47. <Card carousel>
  48. <Carousel {...settings}>
  49. <img className={navImageClasses} width="300px" alt="First slide" src={`${backend}${data.img["url"]}`} />
  50. </Carousel>
  51. </Card>
  52. </GridItem>
  53. </GridContainer>
  54. </div>
  55. </div>
  56. </div>
  57. </Grid>
  58. <Grid xs={7} style={{padding:"40px", marginTop:"-30px"}}>
  59. <h3>{data.name}</h3>
  60. <h3>Rp.{data.price}</h3>
  61. <hr></hr>
  62. <ul>
  63. <li><h4>Stock : {data.stock}</h4></li>
  64. <li><h4>Part Code : {data.part_code}</h4></li>
  65. </ul>
  66. </Grid>
  67. </GridContainer>
  68. <GridContainer>
  69. <Grid className={classes.marginAuto} style={{padding:"10px", marginTop:"-30px"}}>
  70. <img className={navImageClasses} src={`${backend}${data.img["url"]}`} height="165px" width="200px"/>
  71. </Grid>
  72. <Grid className={classes.marginAuto} style={{padding:"10px", marginTop:"-30px"}}>
  73. <img className={navImageClasses} src={`${backend}${data.img["url"]}`} height="165px" width="200px"/>
  74. </Grid>
  75. <Grid className={classes.marginAuto} style={{padding:"10px", marginTop:"-30px"}}>
  76. <img className={navImageClasses} src={`${backend}${data.img["url"]}`} height="165px" width="200px"/>
  77. </Grid>
  78. </GridContainer>
  79. <div align="center">
  80. <hr></hr>
  81. <h2>Deskripsi</h2>
  82. </div>
  83. <div align="justify">
  84. <p>{ReactHtmlParser(data.description)}</p>
  85. </div>
  86. </div>
  87. );
  88. })
  89. return (
  90. <Card className={classes.textCenter}>
  91. <div align="center">
  92. <CardHeader color="info">Product Detail</CardHeader>
  93. </div>
  94. <CardBody>
  95. <div>
  96. {Helmetdetails}
  97. </div>
  98. </CardBody>
  99. <CardFooter className={classes.textMuted} textAlign="center">
  100. © 2020 , All Right Reserved by @Thamrin Brother Company
  101. </CardFooter>
  102. </Card>
  103. );
  104. }
  105. export default DetailDataHelmet;