diff --git a/client/src/app.js b/client/src/app.js index 8476133..9b83367 100644 --- a/client/src/app.js +++ b/client/src/app.js @@ -1,10 +1,9 @@ import React, { useState, useEffect } from 'react'; import axios from 'axios'; import Box from './box'; -import './styles/app.css'; import api from './api'; import Modal from './modal'; -import item from './item'; +import './styles/app.css'; function App() { @@ -42,12 +41,17 @@ function App() { fetchData(); }, []); + //set filtered data on filter or original data change useEffect(() => { + const finalFilter = filter.trim().toLowerCase(); const filtered = data.filter((box) => - box.name.includes(filter) || - box.description.includes(filter) || - box.item.filter(item => item.name.includes(filter) || - item.description.includes(filter)).length) + box.name.toLowerCase().includes(finalFilter) || + box.description.toLowerCase().includes(finalFilter) || + box.item.some(item => + (item.name && item.name.toLowerCase().includes(finalFilter)) || + (item.description && item.description.toLowerCase().includes(finalFilter)) + ) + ) setFilteredData(filtered); }, [filter, data]); @@ -174,7 +178,7 @@ function App() { setData(boxData); } catch (error) { - + console.log(error); } } @@ -198,9 +202,9 @@ function App() { const handleEditItem = (boxID, itemID) => { const box = data.find(box => box._id === boxID); const item = box.item.find(item => item._id === itemID); - - setItemID(itemID); + setBoxID(boxID); + setItemID(itemID); setItemName(item.name); setItemDescription(item.description); @@ -218,8 +222,11 @@ function App() { name: itemName, description: itemDescription } - if (editItemBool) + if (editItemBool) { + console.log('edititem'); editItem(boxID, itemID, itemData); + + } else createItem(boxID, itemData); @@ -284,7 +291,6 @@ function App() {