mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-17 19:37:02 +00:00
fix: always keep only 20 tickets in TicketsList
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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==
|
||||
|
||||
Reference in New Issue
Block a user