diff --git a/frontend/package.json b/frontend/package.json index 1040025..4d68bc6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,6 @@ "@testing-library/user-event": "^7.2.1", "axios": "^0.19.2", "date-fns": "^2.14.0", - "dotenv": "^8.2.0", "emoji-mart": "^3.0.0", "formik": "^2.1.5", "mic-recorder-to-mp3": "^2.2.1", diff --git a/frontend/src/components/MessagesList/index.js b/frontend/src/components/MessagesList/index.js index f4f3be6..f9248db 100644 --- a/frontend/src/components/MessagesList/index.js +++ b/frontend/src/components/MessagesList/index.js @@ -267,7 +267,7 @@ const MessagesList = () => { } }; fetchMessages(); - }, 1000); + }, 500); return () => clearTimeout(delayDebounceFn); }, [pageNumber, ticketId, history]); @@ -284,16 +284,19 @@ const MessagesList = () => { useEffect(() => { socket.on("appMessage", data => { - if (data.action === "create" && !loading) { + if (loading) return; + + if (data.action === "create") { addMessage(data.message); scrollToBottom(); - } else if (data.action === "update") { + } + if (data.action === "update") { updateMessageAck(data.message); } }); socket.on("contact", data => { - if (data.action === "update" && !loading) { + if (data.action === "update") { setContact(data.contact); } }); diff --git a/frontend/src/components/Tickets/index.js b/frontend/src/components/Tickets/index.js index 6769a98..bd7be5b 100644 --- a/frontend/src/components/Tickets/index.js +++ b/frontend/src/components/Tickets/index.js @@ -219,13 +219,17 @@ const Tickets = () => { useEffect(() => { socket.on("ticket", data => { - if (data.action === "updateUnread" && !loading) { + if (loading) return; + + if (data.action === "updateUnread") { resetUnreadMessages(data); } + if (data.action === "updateStatus" || data.action === "create") { updateTickets(data); } - if (data.action === "delete" && !loading) { + + if (data.action === "delete") { deleteTicket(data); if (ticketId && data.ticketId === +ticketId) { toast.warn("O ticket que vocĂȘ estava foi deletado."); @@ -235,7 +239,9 @@ const Tickets = () => { }); socket.on("appMessage", data => { - if (data.action === "create" && !loading) { + if (loading) return; + + if (data.action === "create") { updateTickets(data); if ( (ticketId && @@ -249,6 +255,8 @@ const Tickets = () => { }); }, [history, ticketId, userId, loading]); + console.log(tickets); + const loadMore = () => { setPageNumber(prevState => prevState + 1); }; @@ -257,13 +265,17 @@ const Tickets = () => { setTickets(prevState => { const ticketIndex = prevState.findIndex(t => t.id === ticket.id); - if (ticketIndex === -1) { - return [ticket, ...prevState]; + if (prevState.length >= 20) { + if (ticketIndex !== -1) { + let aux = [...prevState]; + aux[ticketIndex] = ticket; + aux.unshift(aux.splice(ticketIndex, 1)[0]); + return aux; + } else { + return [ticket, ...prevState]; + } } else { - let aux = [...prevState]; - aux[ticketIndex] = ticket; - aux.unshift(aux.splice(ticketIndex, 1)[0]); - return aux; + return [ticket, ...prevState]; } }); }; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 7dae3bd..d62d301 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -4158,7 +4158,7 @@ dotenv-expand@5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv@8.2.0, dotenv@^8.2.0: +dotenv@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==