added search functionality

This commit is contained in:
Daniel 2022-04-25 04:04:30 +04:30
parent 9e72a0a2a7
commit c757b2bfa6
2 changed files with 12 additions and 5 deletions

View File

@ -6,11 +6,20 @@ import AddModal from './componets/AddModal';
function App() { function App() {
const [data, setData] = useState([]); const [data, setData] = useState([]);
const [isAdding, setIsAdding] = useState(false); const [isAdding, setIsAdding] = useState(false);
const [searchQuery, setSearchQuery] = useState('');
function exitAdding() { function exitAdding() {
setIsAdding(!isAdding) setIsAdding(!isAdding)
} }
function search(e) {
setSearchQuery(e.target.value);
}
const filteredData = data.filter((e) => {
return (e.name.toLowerCase().includes(searchQuery.toLowerCase()) || e.title.toLowerCase().includes(searchQuery.toLowerCase()) || e.tag.toLowerCase().includes(searchQuery.toLowerCase()))
});
useEffect(() => { useEffect(() => {
async function fetchData() { async function fetchData() {
const res = await fetch('/get'); const res = await fetch('/get');
@ -25,12 +34,11 @@ function App() {
return ( return (
<div className="App"> <div className="App">
<div className="head"> <div className="head">
<input className="search" type="search" placeholder="Search bookmarks"/> <input className="search" type="search" placeholder="Search for name/title/tag" onChange={search}/>
<button className="search-btn"><span className="material-icons-outlined md-36">search</span></button>
<button className="add-btn"><span className="material-icons-outlined md-36" onClick={() => setIsAdding(true)}>add</span></button> <button className="add-btn"><span className="material-icons-outlined md-36" onClick={() => setIsAdding(true)}>add</span></button>
<button className="settings-btn"><span className="material-icons-outlined md-36">settings</span></button> <button className="settings-btn"><span className="material-icons-outlined md-36">settings</span></button>
</div> </div>
<List data={data} /> <List data={filteredData} />
{isAdding ? <AddModal onExit={exitAdding} /> : null} {isAdding ? <AddModal onExit={exitAdding} /> : null}
</div> </div>
); );

View File

@ -10,8 +10,7 @@
} }
.search { .search {
border-top-left-radius: 10px; border-radius: 10px;
border-bottom-left-radius: 10px;
font-size: 1.5rem; font-size: 1.5rem;
padding-left: 10px; padding-left: 10px;
width: 40%; width: 40%;