From 51f5a1fbcee9faa9be2e388202a32b60e1bbfa5d Mon Sep 17 00:00:00 2001 From: Roderick Leito Date: Mon, 8 Sep 2025 15:15:02 +0200 Subject: [PATCH] Finished ex --- src/App.jsx | 90 +++++++------------------------------ src/components/Email.jsx | 29 ++++++++++++ src/components/Emails.jsx | 21 +++++++++ src/components/Header.jsx | 22 +++++++++ src/components/LeftMenu.jsx | 34 ++++++++++++++ 5 files changed, 123 insertions(+), 73 deletions(-) create mode 100644 src/components/Email.jsx create mode 100644 src/components/Emails.jsx create mode 100644 src/components/Header.jsx create mode 100644 src/components/LeftMenu.jsx diff --git a/src/App.jsx b/src/App.jsx index c902699..f199219 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -3,6 +3,9 @@ import { useState } from 'react' import initialEmails from './data/emails' import './styles/App.css' +import Header from "./components/Header" +import LeftMenu from "./components/LeftMenu" +import Emails from "./components/Emails" const getReadEmails = emails => emails.filter(email => !email.read) @@ -43,79 +46,20 @@ function App() { return (
-
-
- - - - - gmail logo -
- -
- -
-
- -
-
    - {filteredEmails.map((email, index) => ( -
  • -
    - toggleRead(email)} - /> -
    -
    - toggleStar(email)} - /> -
    -
    {email.sender}
    -
    {email.title}
    -
  • - ))} -
-
+
+ +
) } diff --git a/src/components/Email.jsx b/src/components/Email.jsx new file mode 100644 index 0000000..c21c880 --- /dev/null +++ b/src/components/Email.jsx @@ -0,0 +1,29 @@ +function Email({email, index, toggleStar, toggleRead}){ + return( +
  • +
    + toggleRead(email)} + /> +
    +
    + toggleStar(email)} + /> +
    +
    {email.sender}
    +
    {email.title}
    +
  • + ) +} + +export default Email; \ No newline at end of file diff --git a/src/components/Emails.jsx b/src/components/Emails.jsx new file mode 100644 index 0000000..af9b5fd --- /dev/null +++ b/src/components/Emails.jsx @@ -0,0 +1,21 @@ +import Email from "./Email" + +function Emails({toggleStar, filteredEmails, toggleRead}){ + return( +
    + +
    + ) +} + +export default Emails; \ No newline at end of file diff --git a/src/components/Header.jsx b/src/components/Header.jsx new file mode 100644 index 0000000..d94a0a7 --- /dev/null +++ b/src/components/Header.jsx @@ -0,0 +1,22 @@ +function Header(){ + return( +
    +
    + + + + + gmail logo +
    + +
    + +
    +
    + ) +} + +export default Header; \ No newline at end of file diff --git a/src/components/LeftMenu.jsx b/src/components/LeftMenu.jsx new file mode 100644 index 0000000..56d25cf --- /dev/null +++ b/src/components/LeftMenu.jsx @@ -0,0 +1,34 @@ +function LeftMenu({currentTab, setCurrentTab, unreadEmails, starredEmails, hideRead, setHideRead}){ + return( + + ) +} + +export default LeftMenu; \ No newline at end of file