Skip to content

Commit 79e2c17

Browse files
committed
updates to BurgerApp to use Form Validation
1 parent d32b90c commit 79e2c17

File tree

19 files changed

+564
-40
lines changed

19 files changed

+564
-40
lines changed

package-lock.json

Lines changed: 96 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"react": "^16.11.0",
3838
"react-dev-utils": "^5.0.1",
3939
"react-dom": "^16.11.0",
40+
"react-router-dom": "^5.2.0",
4041
"resolve": "1.6.0",
4142
"style-loader": "0.19.0",
4243
"sw-precache-webpack-plugin": "0.11.4",

src/App.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
import React, { Component } from 'react';
2-
import Layout from './Hoc/Auxiliary/Auxiliary';
3-
import BurgerBuilder from './Containers/BurgerBuilders';
2+
import Layout from './Hoc/Layout/Layout';
3+
import BurgerBuilder from './Containers/BurgerBuilder/BurgerBuilder';
4+
import CheckOut from './Containers/CheckOut/CheckOut'
5+
import {Route, Switch} from 'react-router-dom';
6+
import Orders from './Containers/Orders/Orders';
47

58

69
class App extends Component {
710
render() {
811
return (
912
<div>
1013
<Layout>
11-
<BurgerBuilder />
14+
<Switch>
15+
<Route path="/" exact component={BurgerBuilder}></Route>
16+
<Route path="/checkout" component={CheckOut}></Route>
17+
<Route path="/orders" component={Orders}/>
18+
<Route component={BurgerBuilder}></Route>
19+
</Switch>
1220
</Layout>
1321
</div>
1422
);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.CheckOutSummary{
2+
text-align: center;
3+
width: 80%;
4+
margin: auto;
5+
}
6+
7+
@media(min-width:600px){
8+
.CheckOutSummary{
9+
width: 500px;
10+
}
11+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import React from 'react';
2+
import Burger from '../Burger/Burger';
3+
import Button from '../UI/Button/Button';
4+
import classes from './CheckOutSummary.css'
5+
const CheckOutSummary=(props)=>(
6+
<div className={classes.CheckOutSummary}>
7+
<h1>We hope you like the Burger</h1>
8+
<div style={{width:'100%', margin:'auto'}}>
9+
<Burger ingredients={props.ingredients}/>
10+
</div>
11+
<Button btnType="Danger" clicked={props.checkOutCancelled}>Cancel </Button>
12+
<Button btnType="Success" clicked={props.checkOutContinued}>Continue </Button>
13+
</div>
14+
)
15+
16+
export default CheckOutSummary;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import React from 'react';
22
import classes from './NavigationItem.css';
3+
import {NavLink} from 'react-router-dom';
34

45

56
const navigationItem=(props)=>(
67
<li className={classes.NavigationItem}>
7-
<a href={props.link}
8-
className={props.active? classes.active: null}>{props.children}</a></li>
8+
<NavLink exact={props.exact} activeClassName={classes.active} to={props.link}>{props.children}</NavLink></li>
99
);
1010

1111
export default navigationItem;

src/Components/Navigation/NavigationItems/NavigationItems.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import NavigationItem from '../NavigationItems/NavigationItem/NavigationItem';
44

55
const navigationItems = (props)=>(
66
<ul className={classes.NavigationItems}>
7-
<NavigationItem link= "/" active >Burger Builder</NavigationItem>
8-
<NavigationItem link= "/" >CheckOut</NavigationItem>
7+
<NavigationItem link= "/" exact>Burger Builder</NavigationItem>
8+
<NavigationItem link= "/orders" >Orders</NavigationItem>
99
</ul>
1010

1111
);

src/Components/Order/Order.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.Order{
2+
width:80%;
3+
border: 1px, solid , #eee;
4+
box-shadow: 0 2px 3px #ccc;
5+
padding: 10px;
6+
margin: 10px auto;
7+
box-sizing: border-box;
8+
9+
}

src/Components/Order/Order.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React from 'react';
2+
import classes from './Order.css';
3+
const order = (props)=>{
4+
const ingredients =[];
5+
for(let ingredient in props.ingredients){
6+
ingredients.push({name :ingredient, amount: props.ingredients[ingredient]})
7+
}
8+
const ingredientOutput = ingredients.map(ingredient =>
9+
{
10+
return <span style={{textTransform: 'capitalize',
11+
display:'inline-block',
12+
margin:'0 8px',
13+
border: '1px solid #ccc',
14+
padding: '5px'
15+
}}
16+
key={ingredient.name}>{ingredient.name} ({ingredient.amount})</span>
17+
});
18+
return (
19+
<div className={classes.Order}>
20+
<p>Ingredients: {ingredientOutput}</p>
21+
<p>Price<strong>USD {props.price}</strong></p>
22+
</div>
23+
)};
24+
export default order;

src/Components/UI/Button/Button.css

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
margin-left: 0;
1515
padding-left: 0;
1616
}
17-
17+
.Button:disabled{
18+
color: gray;
19+
cursor: not-allowed;
20+
}
1821
.Success {
1922
color: #5C9210;
2023
}

0 commit comments

Comments
 (0)