import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import Slider from 'react-slick'; import CloseIcon from '@material-ui/icons/Close'; import AddShoppingCart from '@material-ui/icons/AddShoppingCart'; import imgData from 'ba-api/imgData'; import Type from 'ba-styles/Typography.scss'; import 'ba-styles/vendors/slick-carousel/slick-carousel.css'; import 'ba-styles/vendors/slick-carousel/slick.css'; import 'ba-styles/vendors/slick-carousel/slick-theme.css'; import { Typography, Grid, Dialog, AppBar, Toolbar, IconButton, Slide, Button, Chip, TextField, } from '@material-ui/core'; import Rating from '../Rating/Rating'; import styles from './product-jss'; const getThumb = imgData.map(a => a.thumb); const Transition = React.forwardRef(function Transition(props, ref) { // eslint-disable-line return ; }); class ProductDetail extends React.Component { state = { qty: 1, } handleQtyChange = event => { this.setState({ qty: event.target.value }); } submitToCart = itemAttr => { this.props.handleAddToCart(itemAttr); this.props.close(); } render() { const { classes, open, close, detailContent, productIndex } = this.props; const { qty } = this.state; const itemAttr = (item) => { if (item !== undefined) { return { id: detailContent.getIn([productIndex, 'id']), name: detailContent.getIn([productIndex, 'name']), thumbnail: detailContent.getIn([productIndex, 'thumbnail']), price: detailContent.getIn([productIndex, 'price']), quantity: qty }; } return false; }; const settings = { customPaging: (i) => ( thumb ), infinite: true, dots: true, slidesToShow: 1, slidesToScroll: 1, }; return ( {detailContent.getIn([productIndex, 'name'])} close()} aria-label="Close">
{imgData.map((item, index) => { if (index >= 5) { return false; } return (
{item.title}
); })}
{detailContent.getIn([productIndex, 'name'])}
$ {detailContent.getIn([productIndex, 'price'])} {detailContent.getIn([productIndex, 'discount']) !== '' && ( $ {detailContent.getIn([productIndex, 'prevPrice'])} )} {detailContent.getIn([productIndex, 'soldout']) && ( )}
{detailContent.getIn([productIndex, 'desc'])} {!detailContent.getIn([productIndex, 'soldout']) && (
Quantity :
)}
); } } ProductDetail.propTypes = { classes: PropTypes.object.isRequired, open: PropTypes.bool.isRequired, close: PropTypes.func.isRequired, handleAddToCart: PropTypes.func.isRequired, detailContent: PropTypes.object.isRequired, productIndex: PropTypes.number, }; ProductDetail.defaultProps = { productIndex: undefined }; export default withStyles(styles)(ProductDetail);