diff --git a/src/components/Burger/BuildControls/BuildControls.js b/src/components/Burger/BuildControls/BuildControls.js index e4e3a66..0a25048 100644 --- a/src/components/Burger/BuildControls/BuildControls.js +++ b/src/components/Burger/BuildControls/BuildControls.js @@ -22,7 +22,8 @@ const buildControls = (props) => ( disabled={props.disabled[ctrl.type]} /> ))} + disabled={!props.purchasable} + onClick={props.ordered}>ORDER NOW ) diff --git a/src/components/UI/Modal/Modal.js b/src/components/UI/Modal/Modal.js index e4b40f9..7bb3855 100644 --- a/src/components/UI/Modal/Modal.js +++ b/src/components/UI/Modal/Modal.js @@ -4,7 +4,11 @@ import classes from './Modal.css'; const modal = (props) => { return ( -
+
{props.children}
); diff --git a/src/containers/BurgerBuilder/BurgerBuilder.js b/src/containers/BurgerBuilder/BurgerBuilder.js index ac9e911..313290c 100644 --- a/src/containers/BurgerBuilder/BurgerBuilder.js +++ b/src/containers/BurgerBuilder/BurgerBuilder.js @@ -18,24 +18,25 @@ class BurgerBuilder extends Component { state = { ingredients: { meat: 0, - cheese: 0, + cheese: 0, salad: 0, bacon: 0, }, totalPrice: 0, purchasable: false, + purchasing: false, } - updatePurchaseState (ingredients) { - const sum = Object.keys(ingredients) - .map( igkey => { - return ingredients[igkey]; - }) - .reduce((sum, el) => { - return sum + el; - }, 0); + updatePurchaseState(ingredients) { + const sum = Object.keys(ingredients) + .map(igkey => { + return ingredients[igkey]; + }) + .reduce((sum, el) => { + return sum + el; + }, 0); - this.setState({purchasable: sum > 0}); + this.setState({ purchasable: sum > 0 }); } addIngredientHandler = (type) => { @@ -58,7 +59,7 @@ class BurgerBuilder extends Component { removeIngredientHandler = (type) => { const oldCount = this.state.ingredients[type]; - if (oldCount <= 0){ + if (oldCount <= 0) { return; } const newCount = oldCount - 1; @@ -69,7 +70,7 @@ class BurgerBuilder extends Component { const priceDeduction = INGREDIENT_PRICE[type]; const oldPrice = this.state.totalPrice; - const newPrice = oldPrice - priceDeduction ; + const newPrice = oldPrice - priceDeduction; this.setState({ totalPrice: newPrice, ingredients: updatedIngredients, @@ -77,6 +78,10 @@ class BurgerBuilder extends Component { this.updatePurchaseState(updatedIngredients); } + purchaseHandler = () => { + this.setState({ purchasing: true }); + } + render() { const disabledInfo = { ...this.state.ingredients @@ -88,13 +93,14 @@ class BurgerBuilder extends Component { return ( - + - - +