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 (
-
+
-
-
+