fix: unreadMessages not showing on notifications popover after refresh

This commit is contained in:
canove
2021-01-13 20:10:05 -03:00
parent 2c2a39ee1f
commit d8605f04b8
2 changed files with 15 additions and 17 deletions

View File

@@ -5,7 +5,7 @@ import Ticket from "../../models/Ticket";
import Contact from "../../models/Contact";
import Message from "../../models/Message";
import Queue from "../../models/Queue";
// import ShowUserService from "../UserServices/ShowUserService";
import ShowUserService from "../UserServices/ShowUserService";
interface Request {
searchParam?: string;
@@ -117,18 +117,14 @@ const ListTicketsService = async ({
}
if (withUnreadMessages === "true") {
includeCondition = [
...includeCondition,
{
model: Message,
as: "messages",
attributes: [],
where: {
read: false,
fromMe: false
}
}
];
const user = await ShowUserService(userId);
const userQueueIds = user.queues.map(queue => queue.id);
whereCondition = {
[Op.or]: [{ userId }, { status: "pending" }],
queueId: { [Op.or]: [userQueueIds, null] },
unreadMessages: { [Op.gt]: 0 }
};
}
const limit = 20;

View File

@@ -57,6 +57,8 @@ const NotificationsPopOver = () => {
const [play] = useSound(alertSound);
const soundAlertRef = useRef();
const historyRef = useRef(history);
useEffect(() => {
soundAlertRef.current = play;
@@ -128,16 +130,16 @@ const NotificationsPopOver = () => {
if (shouldNotNotificate) return;
handleNotifications(data, history);
handleNotifications(data);
}
});
return () => {
socket.disconnect();
};
}, [history, user]);
}, [user]);
const handleNotifications = (data, history) => {
const handleNotifications = data => {
const { message, contact, ticket } = data;
const options = {
@@ -155,7 +157,7 @@ const NotificationsPopOver = () => {
notification.onclick = e => {
e.preventDefault();
window.focus();
history.push(`/tickets/${ticket.id}`);
historyRef.current.push(`/tickets/${ticket.id}`);
};
setDesktopNotifications(prevState => {