Skip to content

Instantly share code, notes, and snippets.

View codingnninja's full-sized avatar
💭
Working to change the world

Ayobami Ogundiran codingnninja

💭
Working to change the world
View GitHub Profile
@codingnninja
codingnninja / AddFoodItemForm.js
Last active August 5, 2019 17:01
Add food item to the store
import React from 'react'
const AddFoodItemForm = props => {
return (
<form onSubmit={ props.addFoodItem } className="col-sm-4">
<div>
<div>
<label className="text-white">Food name</label>
<input type="text" name="food" value={props.food} onChange={ props.handleInputChange}/>
</div>
@codingnninja
codingnninja / AppJsUpgrade1.js
Created August 6, 2019 05:20
Adding items to state.
import React from 'react';
class App extends React.Component {
constructor() {
super();
this.state = {
id: null,
userId: 1,
food: '',
import React from 'react';
import FoodItemList from './FoodItemList';
import AddFoodItem from './AddFoodItem';
import './App.css';
import EditFoodItem from './EditFoodItem';
class App extends React.Component {
constructor() {
super();
this.state = {
@codingnninja
codingnninja / inputHandler.js
Last active August 6, 2019 21:23
Handle form input
handleInputChange(event) {
const target = event.target;
const value = target.value;
const name = target.name;
this.setState({
[name]:value
})
}
@codingnninja
codingnninja / AddingFoodItem.js
Last active August 6, 2019 21:58
Adding food items.
addFoodItem(event){
event.preventDefault()
if (!this.state.food) return;
const foodItem = {
id: this.state.foodItems.length + 1,
food: this.state.food,
cost: this.state.cost,
userId: this.state.userId,
statu: this.state.status
};
@codingnninja
codingnninja / displayFoodItems.js
Last active August 7, 2019 00:12
Display food items
render() {
const { cost, food, foodItems, editing } = this.state;
return (
<div className="App">
<div className="row App-main">
<FoodItemList
foodItems= {foodItems}
deleteFoodItem={this.deleteFoodItem}
boughtFoodItem={this.boughtFoodItem}
editFoodItem={this.editFoodItem}
@codingnninja
codingnninja / deleteFoodItem.js
Created August 7, 2019 00:13
Delete food items.
deleteFoodItem(id) {
const foodItems = this.state.foodItems.filter( item => item.id !== id );
this.setState({foodItems: foodItems});
}
@codingnninja
codingnninja / EditFoodItem.js
Last active August 7, 2019 00:58
Edit food items.
editFoodItem(foodItem) {
this.setEditing(true);
this.setState({
food:foodItem.food,
cost:foodItem.cost,
foodItem: foodItem
});
}
setEditing(value) {
@codingnninja
codingnninja / updateFoodItem.js
Created August 7, 2019 00:59
Update food items.
updateFoodItem(event) {
event.preventDefault();
const updatedFood = this.state.food;
const updatedCost = this.state.cost;
const updatedFoodItem = Object.assign({}, this.state.foodItem, { food: updatedFood, cost: updatedCost })
const foodItems = this.state.foodItems.map((foodItem) => (foodItem.id === this.state.foodItem.id ? updatedFoodItem : foodItem));
this.setState({ food:'', cost: '', foodItems: foodItems});
}
@codingnninja
codingnninja / boughtFoodItem.js
Last active August 7, 2019 06:31
Bought food items.
boughtFoodItem(currentFoodItem) {
const updatedCurrentFoodItem = Object.assign({}, currentFoodItem, { status: true });
const foodItems = this.state.foodItems.map((foodItem, index) => (foodItem.id === currentFoodItem.id ? updatedCurrentFoodItem : foodItem));
this.setState({foodItems: foodItems})
}