From 1f56f2f1b0a18da7aad22f553cc3ef849b51356e Mon Sep 17 00:00:00 2001 From: C4 Patino Date: Thu, 11 Aug 2022 21:42:22 -0500 Subject: [PATCH] Fixed inbox controller not working and rehashed to paginated list --- .../FormControllers/SendMailController.js | 9 +++++++- client/src/controllers/InboxController.jsx | 23 +++---------------- .../controllers/PaginatedListController.jsx | 10 +++++--- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/client/src/controllers/FormControllers/SendMailController.js b/client/src/controllers/FormControllers/SendMailController.js index ebc9681..ad5088f 100644 --- a/client/src/controllers/FormControllers/SendMailController.js +++ b/client/src/controllers/FormControllers/SendMailController.js @@ -5,9 +5,11 @@ import { useNavigate } from 'react-router-dom'; import { Form } from 'controllers/FormControllers'; import { composeMailFields } from 'services/fields'; import { mailSchema } from 'services/schemas'; +import { postMail } from 'services/mailServices'; -export default function SendMailController({ sendMail }) { +export default function SendMailController() { const navigate = useNavigate(); + useEffect(() => { if (!Cookies.get('token')) { navigate('/users/login', { @@ -20,6 +22,11 @@ export default function SendMailController({ sendMail }) { } }, []); + const sendMail = async (fields) => { + const { error } = await postMail(fields); + if (!error) navigate(''); + }; + return Form({ fields: composeMailFields, onSubmit: sendMail, diff --git a/client/src/controllers/InboxController.jsx b/client/src/controllers/InboxController.jsx index 3c1575b..97d8b91 100644 --- a/client/src/controllers/InboxController.jsx +++ b/client/src/controllers/InboxController.jsx @@ -1,26 +1,9 @@ -import { Box } from '@mui/material'; -import { useEffect, useState } from 'react'; - import { MailUnit } from 'components'; +import { PaginatedList } from 'controllers'; import { getMail } from 'services/mailServices'; export default function InboxController() { - const [mail, setMail] = useState([]); + const getData = () => getMail().then(({ messages }) => messages); - const fetchMail = async () => { - const { messages } = await getMail(); - setMail(messages); - }; - - useEffect(() => { - fetchMail(); - }, []); - - return ( - - {mail.map((message) => ( - - ))} - - ); + return ; } diff --git a/client/src/controllers/PaginatedListController.jsx b/client/src/controllers/PaginatedListController.jsx index 48f67c0..4fdb6e0 100644 --- a/client/src/controllers/PaginatedListController.jsx +++ b/client/src/controllers/PaginatedListController.jsx @@ -3,9 +3,13 @@ import { useSearchParams } from 'react-router-dom'; import { PaginatedList } from 'components'; -const rowsPerPage = 5; - -export default function PaginatedListController({ concat = false, count, Component, getData }) { +export default function PaginatedListController({ + concat = false, + count, + Component, + getData, + rowsPerPage = 5, +}) { const [searchParams] = useSearchParams(); const [data, setData] = useState([]);