From 79b1b17b5f172931697a76a93208a03c3b2fdb47 Mon Sep 17 00:00:00 2001 From: Elsa2116 Date: Sun, 23 Mar 2025 04:15:01 -0400 Subject: [PATCH] done --- src/App.js | 61 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/src/App.js b/src/App.js index 3784575..f2f71a0 100644 --- a/src/App.js +++ b/src/App.js @@ -1,25 +1,56 @@ -import logo from './logo.svg'; +import { useState } from 'react'; +import { Row, Col, Button } from 'antd'; +import foods from './foods.json'; +import FoodBox from './components/FoodBox'; +import AddFoodForm from './components/AddFoodForm'; +import Search from './components/Search'; import './App.css'; function App() { + const [foodList, setFoodList] = useState(foods); + const [filteredFoods, setFilteredFoods] = useState(foods); + const [showForm, setShowForm] = useState(true); + + const addNewFood = (newFood) => { + setFoodList([...foodList, newFood]); + setFilteredFoods([...foodList, newFood]); + }; + + const deleteFood = (name) => { + const updatedList = foodList.filter((food) => food.name !== name); + setFoodList(updatedList); + setFilteredFoods(updatedList); + }; + + const handleSearch = (query) => { + const filtered = foodList.filter((food) => + food.name.toLowerCase().includes(query.toLowerCase()) + ); + setFilteredFoods(filtered); + }; + return (
-
- logo -

- Edit src/App.js and save to reload. -

- - Learn React - -
+

Nutrition Tracker

+ + {showForm && } + + {filteredFoods.length === 0 ? ( +

No food available. Add some!

+ ) : ( + + {filteredFoods.map((food, index) => ( + + + + ))} + + )}
); } export default App; +