Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 

133 rader
4.4 KiB

  1. import React from "react";
  2. // nodejs library that concatenates classes
  3. import classNames from "classnames";
  4. // @material-ui/core components
  5. import { makeStyles } from "@material-ui/core/styles";
  6. // @material-ui/icons
  7. import Dashboard from "@material-ui/icons/Dashboard";
  8. import LocalGroceryStoreIcon from "@material-ui/icons/LocalGroceryStore";
  9. // Component
  10. import GridContainer from "components/Grid/GridContainer.js";
  11. import Grid from '@material-ui/core/Grid';
  12. import GridItem from "components/Grid/GridItem.js";
  13. import NavPills from "components/NavPills/NavPills.js";
  14. import Card from "components/Card/Card.js";
  15. import CardBody from "components/Card/CardBody.js";
  16. import CardHeader from "components/Card/CardHeader.js";
  17. import CardFooter from "components/Card/CardFooter.js";
  18. import Button from "components/CustomButtons/Button.js";
  19. import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js";
  20. import Carousel from "react-slick";
  21. const useStyles = makeStyles(styles);
  22. const DataProduct = function ({ backend, detailproduct, ...props }) {
  23. const classes = useStyles();
  24. const { ...rest } = props;
  25. const imageClasses = classNames(
  26. classes.imgRaised,
  27. classes.imgRoundedCircle,
  28. classes.imgFluid
  29. );
  30. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  31. const Productdetails = detailproduct.map((data) => {
  32. return (
  33. <div>
  34. <GridContainer>
  35. <Grid>
  36. <div className={classes.section}>
  37. <div className={classes.container}>
  38. <Card style={{width:"500px", height:"400px"}}>
  39. <div>
  40. <img className={navImageClasses} width="300px" height="400px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} />
  41. </div>
  42. </Card>
  43. </div>
  44. </div>
  45. </Grid>
  46. <Grid style={{padding:"40px", marginTop:"-30px"}}>
  47. <h3>{data.name}</h3>
  48. <h3>Rp.{data.price}</h3>
  49. <hr></hr>
  50. <p>{data.description} ---- Stock Unit : {data.stock}</p>
  51. </Grid>
  52. </GridContainer>
  53. <GridContainer justify="center">
  54. <GridItem>
  55. <NavPills
  56. color="primary"
  57. align="center"
  58. tabs={[
  59. {
  60. tabButton: "Overview",
  61. tabIcon: Dashboard,
  62. tabContent: (
  63. <GridContainer justify="center">
  64. <GridItem>
  65. {data.overview}
  66. </GridItem>
  67. </GridContainer>
  68. ),
  69. },
  70. {
  71. tabButton: "Specification",
  72. tabIcon: Dashboard,
  73. tabContent: (
  74. <GridContainer justify="center">
  75. <GridItem>
  76. {data.specification}
  77. </GridItem>
  78. </GridContainer>
  79. ),
  80. },
  81. {
  82. tabButton: "Accessories",
  83. tabIcon: Dashboard,
  84. tabContent: (
  85. <GridContainer justify="center">
  86. <GridItem>
  87. {data.accessories}
  88. </GridItem>
  89. </GridContainer>
  90. ),
  91. },
  92. {
  93. tabButton: "Film",
  94. tabIcon: Dashboard,
  95. tabContent: (
  96. <GridContainer justify="center">
  97. <GridItem>
  98. <img className={navImageClasses} width="300px" height="400px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} />
  99. </GridItem>
  100. </GridContainer>
  101. ),
  102. },
  103. ]}
  104. />
  105. </GridItem>
  106. </GridContainer>
  107. </div>
  108. );
  109. })
  110. return (
  111. <Card className={classes.textCenter}>
  112. <div align="center">
  113. <CardHeader color="info">Product Detail</CardHeader>
  114. </div>
  115. <CardBody>
  116. <div>
  117. {Productdetails}
  118. </div>
  119. </CardBody>
  120. <CardFooter className={classes.textMuted} textAlign="center">
  121. © 2020 , All Right Reserved by @Thamrin Brother Company
  122. </CardFooter>
  123. </Card>
  124. );
  125. }
  126. export default DataProduct;