Commit ccf9925a authored by Sumaiyya Burney's avatar Sumaiyya Burney

Adds product pop up

parent 6c54474a
import React from 'react' import React, { useState } from 'react'
import './../styles/Product.css' import './../styles/Product.css'
import { Modal, Button, Alert } from "react-bootstrap";
export default function Product({product}) { export default function Product({ product }) {
const [show, setShow] = useState(false);
const [showConfirm, setShowConfirm] = useState(false);
return ( const handleClose = () => {
<div> setShow(false);
<div className="img-container"> handleCloseConfirm();
<img src={product.productImageUrl} alt={product.productName}/> }
</div> const handleShow = () => setShow(true);
<div className="prod-info"> const handleShowConfirm = () => setShowConfirm(true);
<h5>{product.productName}</h5> const handleCloseConfirm = () => setShowConfirm(false);
{product.sku}<br/>
${product.price}<br/> return (<div>
In Stock: {product.stock} <div className="img-container" onClick={handleShow}>
</div> <img className="grid-img" src={product.productImageUrl} alt={product.productName} />
</div>
<div className="prod-info">
<h5>{product.productName}</h5>
{product.sku}<br />
${product.price}<br />
In Stock: {product.stock}
</div> </div>
<Modal show={show} onHide={handleClose}>
<Modal.Header closeButton>
<Modal.Title>{product.productName}</Modal.Title>
</Modal.Header>
<Modal.Body>
<div className="modal-img">
<img src={product.productImageUrl} alt={product.productName} />
</div>
<h5>{product.sku}</h5>
${product.price}<br />
{product.productDescription}<br />
In Stock: {product.stock}
</Modal.Body>
<Modal.Footer>
<Button variant="danger" onClick={handleShowConfirm}>
Delete product
</Button>
<Button variant="secondary" onClick={handleClose}>
Close
</Button>
<Button variant="primary" onClick={handleClose}>
Edit Product
</Button>
<Alert show={showConfirm} variant="danger">
<h5> Are you sure?</h5>
<Button variant="secondary" onClick={handleCloseConfirm}>
Cancel
</Button>
<Button variant="danger">
Yes, delete
</Button>
</Alert>
</Modal.Footer>
</Modal>
</div>
) )
} }
img {
max-width: 100%;
max-height: 250px;
}
.img-container{ .img-container{
position:relative; position:relative;
overflow:hidden; overflow:hidden;
padding-bottom:100%; padding-bottom:100%;
} }
img { .grid-img {
position: absolute; position: absolute;
max-width: 100%; max-width: 100%;
max-height: 100%; max-height: 100%;
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%);
}
.modal-img {
display: flex;
justify-content: center;
}
.alert{
width: 100%;
} }
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment