From 2da6dfafb20e609bef606b0a615d18957d12f67a Mon Sep 17 00:00:00 2001 From: meskio <meskio@sindominio.net> Date: Wed, 2 Dec 2020 18:27:24 +0100 Subject: [PATCH] Don't allow to shop over stock --- src/App.js | 2 +- src/ProductPicker.js | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/App.js b/src/App.js index 903627d..89c1be8 100644 --- a/src/App.js +++ b/src/App.js @@ -23,7 +23,7 @@ function Panel(props) { <div> <BrowserRouter> <Head onLogout={props.onLogout} /> - <Container fluid="lg"> + <Container> <Switch> <Route path="/members/add"> <MemberAdder /> diff --git a/src/ProductPicker.js b/src/ProductPicker.js index 20ff468..da40153 100644 --- a/src/ProductPicker.js +++ b/src/ProductPicker.js @@ -45,12 +45,20 @@ class ProductPicker extends React.Component { code: product.code, name: product.name, price: product.price, + stock: product.stock, amount: 1, }); this.props.setPicks(picks); this.setState({ code: "" }); } + setProducts(products) { + if (this.props.amount) { + products = products.filter((p) => p.stock > 0); + } + this.setState({ products }); + } + render() { const rows = this.props.picks.map((p, i) => { return ( @@ -67,6 +75,7 @@ class ProductPicker extends React.Component { <Form.Control type="number" min="1" + max={p.stock} placeholder="cantidad" value={p.amount} onChange={(e) => this.setAmount(i, e.target.value)} @@ -83,10 +92,7 @@ class ProductPicker extends React.Component { }); return ( - <Fetcher - url="/api/product" - onFetch={(products) => this.setState({ products })} - > + <Fetcher url="/api/product" onFetch={(p) => this.setProducts(p)}> <Row> <Col> <h6>Código</h6> -- GitLab