diff --git a/package-lock.json b/package-lock.json
index cc5ab3612..aca693cd0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2558,6 +2558,11 @@
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
},
+ "bulma": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.7.5.tgz",
+ "integrity": "sha512-cX98TIn0I6sKba/DhW0FBjtaDpxTelU166pf7ICXpCCuplHWyu6C9LYZmL5PEsnePIeJaiorsTEzzNk3Tsm1hw=="
+ },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
diff --git a/package.json b/package.json
index 35c988ded..7db0418e1 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "bulma": "^0.7.5",
"react": "^16.8.1",
"react-dom": "^16.8.1",
"react-scripts": "2.1.5"
diff --git a/src/App.js b/src/App.js
index 7e261ca47..671d69924 100755
--- a/src/App.js
+++ b/src/App.js
@@ -1,25 +1,36 @@
import React, { Component } from 'react';
-import logo from './logo.svg';
+import Foodbox from './components/Foodbox';
+import foods from './data/foods.json';
+import Button from './components/Button';
+import Search from './components/Search'
import './App.css';
class App extends Component {
+ state = {
+ foods,
+ originalFoods: foods,
+ name: '',
+ calories: '',
+ image: '',
+ isAddingNew: false,
+ quantity: []
+ }
+
+ changeFoods = (foods) => {
+ this.setState({foods})
+ }
+
+ showFood = (foods) => {
+ this.setState({foods})
+ }
+
+
render() {
return (
);
}
diff --git a/src/components/Button.js b/src/components/Button.js
new file mode 100644
index 000000000..cb9d23f51
--- /dev/null
+++ b/src/components/Button.js
@@ -0,0 +1,66 @@
+import React, {Component} from 'react'
+import Foodbox from './Foodbox'
+
+class Button extends Component {
+ state = {
+ name: '',
+ calories: '',
+ image: '',
+ foods: [],
+ isAddingNew: false,
+ quantity: []
+ }
+
+addNewFood = (event) => {
+ const {isAddingNew} = this.state;
+ this.setState ({
+ isAddingNew: !isAddingNew
+ })
+ }
+
+
+handleInputChange = (event) => {
+ event.preventDefault();
+ const {name, value} = event.target
+ this.setState({
+ [name]:value
+ })
+}
+
+handleSubmit = (event) => {
+ event.preventDefault();
+ const {name , calories, image, foods} = this.state;
+ const foodsCopy = [...foods];
+ const newFood = {name, calories, image}
+ foodsCopy.push(newFood)
+ this.setState ({
+ foods: foodsCopy,
+ name: '',
+ calories: '',
+ image: '',
+ },()=>{this.addNewFood()})
+}
+
+ render() {
+ const {name , calories, image, foods, isAddingNew} = this.state
+ return (
+ <>
+
+ { isAddingNew ? (
+
+
+
) : null}
+ >
+ )}
+
+}
+
+export default Button;
\ No newline at end of file
diff --git a/src/components/Foodbox.js b/src/components/Foodbox.js
new file mode 100644
index 000000000..33c6d23bb
--- /dev/null
+++ b/src/components/Foodbox.js
@@ -0,0 +1,46 @@
+import React, { Component } from 'react'
+
+ class Foodbox extends Component {
+ render() {
+ return (
+
+ {this.props.foods.map((food, index) => {
+ return (
+
+
+
+
+
+
+
+
+
+ {food.name}
+ {food.calories} calories
+
+
+
+
+
+ )})}
+
+ )
+ }
+}
+export default Foodbox;
+
diff --git a/src/components/Search.js b/src/components/Search.js
new file mode 100644
index 000000000..5a6e0b1e2
--- /dev/null
+++ b/src/components/Search.js
@@ -0,0 +1,21 @@
+import React, { Component } from 'react'
+
+ class Search extends Component {
+
+
+ handleSearchBar = (event) => {
+ const name = event.target.value;
+ let newFoods = this.props.originalFoods;
+ let filteredFoods = newFoods.filter((food => food.name.includes(name)))
+ this.props.changeFoods(filteredFoods)
+ }
+
+ render() {
+ return (
+
+ this.handleSearchBar(e)}/>
+
+ )
+ }
+}
+export default Search;
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
index 0c5e75da1..c2c9c4b2d 100755
--- a/src/index.js
+++ b/src/index.js
@@ -1,6 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
+import 'bulma/css/bulma.css';
import App from './App';
import * as serviceWorker from './serviceWorker';