|
@@ -0,0 +1,54 @@
|
|
|
+import React, {useState} from 'react';
|
|
|
+import {userData} from './userData'
|
|
|
+import Item from './components/Item'
|
|
|
+import Header from './components/Header'
|
|
|
+import Modal from './components/Modal'
|
|
|
+import './App.css';
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+const App = () => {
|
|
|
+
|
|
|
+ const [usersArr, setUsersArr] = useState([...userData]);
|
|
|
+
|
|
|
+ const handleSearchName = (value) => {
|
|
|
+ const foundUserName = usersArr.filter(user => user.name.toLocaleLowerCase().includes(value.toLocaleLowerCase()));
|
|
|
+ setUsersArr(foundUserName);
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleSortAge = (value) => {
|
|
|
+ let sortAge = [...usersArr].sort((a, b) => {
|
|
|
+ if (value === 'ascending') {
|
|
|
+ return a.age - b.age;
|
|
|
+ } else if (value === 'descending') {
|
|
|
+ return b.age - a.age;
|
|
|
+ }
|
|
|
+ return setUsersArr(userData);
|
|
|
+ });
|
|
|
+ setUsersArr(sortAge);
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleRefresh = () => {
|
|
|
+ setUsersArr(userData);
|
|
|
+ }
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div className="wrapper">
|
|
|
+ <Header handleSearchName={handleSearchName} handleSortAge={handleSortAge} handleRefresh={handleRefresh}/>
|
|
|
+ <div className="listOfItems">
|
|
|
+ {usersArr.map((user) => {
|
|
|
+ return <Item {...user} key={user._id}/>
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
+export default App;
|