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.
 
 

76 line
2.8 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 GridItem from "components/Grid/GridItem.js";
  12. const useStyles = makeStyles(styles);
  13. const DataAccessories = function ({ selected, handleName, backend, accessories, ...props }) {
  14. const classes = useStyles();
  15. const { ...rest } = props;
  16. const imageClasses = classNames(
  17. classes.imgRaised,
  18. classes.imgRoundedCircle,
  19. classes.imgFluid
  20. );
  21. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  22. const ProductAccessories = accessories.map((data) => {
  23. console.log(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. <h3>{data.name}</h3>
  34. <h4>Rp.{data.price}</h4>
  35. <Button
  36. color="info" round
  37. href={"/product/accessories_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. return (
  46. <div>
  47. <Card className={classes.textCenter} align="center" style={{padding:"5px"}}>
  48. <CardBody>
  49. <div align="center" style={{marginTop:"-50px"}}>
  50. <h2>Yamaha Accessories</h2>
  51. <Select
  52. value={(selected)?accessories.filter((i)=>i.id==selected):null}
  53. getOptionLabel={option => `${option.name}`}
  54. getOptionValue={option => option.id}
  55. options={accessories}
  56. isMulti
  57. instanceId="name"
  58. placeholder="filter by Nama Part"
  59. onChange={values => handleName(values)}
  60. />
  61. <br></br>
  62. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  63. {ProductAccessories}
  64. {ProductAccessories}
  65. </GridContainer>
  66. </div>
  67. </CardBody>
  68. </Card>
  69. </div>
  70. );
  71. }
  72. export default DataAccessories;