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