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
3.0 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 DataYGP = function ({ selected,handleName, backend, ygp, ...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 ProductYGP = ygp.map((data) => {
  23. return (
  24. <div style={{padding: "20px", marginTop:"-40px"}}>
  25. <Card className={classes.textCenter} align="center" style={{width:"300px"}}>
  26. <CardBody>
  27. <div align="center" style={{padding:"10px"}}>
  28. <img style={{ width: "250px", display: "block" }} src={`${backend}${data.img["url"]}`} className={navImageClasses}
  29. />
  30. <div align="center">
  31. <h5>{data.name}</h5>
  32. <h5>Rp.{data.price}</h5>
  33. <Button
  34. color="info" round
  35. href={"/product/ygp_detail?s="+data.id}
  36. >
  37. <Icon className={classes.icons}>open_in_new</Icon>Detail Product
  38. </Button>
  39. </div>
  40. </div>
  41. </CardBody>
  42. </Card>
  43. </div>
  44. );
  45. })
  46. return (
  47. <div>
  48. <Card className={classes.textCenter} align="center" style={{padding:"5px"}}>
  49. <CardBody>
  50. <div align="center" style={{marginTop:"-50px"}}>
  51. <h2>Yamaha Geniue Part</h2>
  52. <Select
  53. value={(selected)?ygp.filter((i)=>i.id==selected):null}
  54. getOptionLabel={option => `${option.name} ${option.part_code}`}
  55. getOptionValue={option => option.id}
  56. options={ygp}
  57. isMulti
  58. instanceId="name"
  59. placeholder="filter by Nama Part"
  60. onChange={values => handleName(values)}
  61. />
  62. <br></br>
  63. <GridContainer justify="center" style={{padding:"40px", marginTop:"-50px"}}>
  64. {ProductYGP}
  65. </GridContainer>
  66. </div>
  67. </CardBody>
  68. </Card>
  69. </div>
  70. );
  71. }
  72. export default DataYGP;