-
- {filteredEmails.map((email, index) => (
-
-
- - toggleRead(email)} - /> --- toggleStar(email)} - /> --{email.sender}-{email.title}-
- ))}
-
diff --git a/src/App.jsx b/src/App.jsx index c902699..bbc0506 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,41 +1,31 @@ import { useState } from 'react' import initialEmails from './data/emails' +import EmailList from './components/EmailListComponent' +import EmailView from './components/EmailViewComponent' import './styles/App.css' const getReadEmails = emails => emails.filter(email => !email.read) - const getStarredEmails = emails => emails.filter(email => email.starred) function App() { + const [emails, setEmails] = useState(initialEmails) const [hideRead, setHideRead] = useState(false) const [currentTab, setCurrentTab] = useState('inbox') + const [search, setSearch] = useState('') + const [openEmail, setOpenEmail] = useState(null); const unreadEmails = emails.filter(email => !email.read) const starredEmails = emails.filter(email => email.starred) + let filteredEmails = emails - const toggleStar = targetEmail => { - const updatedEmails = emails => - emails.map(email => - email.id === targetEmail.id - ? { ...email, starred: !email.starred } - : email - ) - setEmails(updatedEmails) - } - - const toggleRead = targetEmail => { - const updatedEmails = emails => - emails.map(email => - email.id === targetEmail.id ? { ...email, read: !email.read } : email - ) - setEmails(updatedEmails) + if(search != ""){ + filteredEmails = emails.filter( email => email.title.toLocaleLowerCase() + .includes(search.toLocaleLowerCase())) } - let filteredEmails = emails - if (hideRead) filteredEmails = getReadEmails(filteredEmails) if (currentTab === 'starred') @@ -43,6 +33,8 @@ function App() { return (