diff --git a/backend/src/libs/wbot.ts b/backend/src/libs/wbot.ts index 079022b..d990ed7 100644 --- a/backend/src/libs/wbot.ts +++ b/backend/src/libs/wbot.ts @@ -67,7 +67,7 @@ export const initWbot = async (whatsapp: Whatsapp, backupSessionRestore: boolean // usando instancia do chrome const wbot: Session = new Client({ session: sessionCfg, authStrategy: new LocalAuth({ clientId: 'bd_' + whatsapp.id }), - puppeteer: { args: ['--no-sandbox', '--disable-setuid-sandbox'], executablePath: process.env.CHROME_BIN || '/usr/bin/google-chrome-stable' }, + puppeteer: { args: ['--no-sandbox', '--disable-setuid-sandbox'], executablePath: process.env.CHROME_BIN || undefined }, }); diff --git a/frontend/src/pages/Dashboard/index.js b/frontend/src/pages/Dashboard/index.js index 36c84a7..142be53 100644 --- a/frontend/src/pages/Dashboard/index.js +++ b/frontend/src/pages/Dashboard/index.js @@ -1,4 +1,4 @@ -import React, { useContext, useReducer, useEffect } from "react"; +import React, { useContext, useReducer, useEffect, useState } from "react"; import Paper from "@material-ui/core/Paper"; import Container from "@material-ui/core/Container"; @@ -172,43 +172,33 @@ const reducer = (state, action) => { }; } } - } + if (onlineUser.sumOpen) { + if ("sumOpen" in state[index]) { + // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1 | state[index].sumOpen["count"]: ', state[index].sumOpen['count'], ' | onlineUser.sumOpen.count: ', onlineUser.sumOpen.count) + state[index].sumOpen["count"] = onlineUser.sumOpen.count; + } else if (!("sumOpen" in state[index])) { + // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1') + state[index].sumOpen = onlineUser.sumOpen; + } + } - if (onlineUser.sumOpen) { + if (onlineUser.sumClosed) { + if ("sumClosed" in state[index]) { + // console.log(' >>>>>>>>>>>>>>>>>> sumClosed 1 | state[index].sumClosed["count"]: ', state[index].sumClosed['count'], ' | onlineUser.sumClosed.count: ', onlineUser.sumClosed.count) + state[index].sumClosed["count"] = onlineUser.sumClosed.count; + } else if (!("sumClosed" in state[index])) { + // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1') + state[index].sumClosed = onlineUser.sumClosed; + } + } - if ("sumOpen" in state[index]) { - // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1 | state[index].sumOpen["count"]: ', state[index].sumOpen['count'], ' | onlineUser.sumOpen.count: ', onlineUser.sumOpen.count) - state[index].sumOpen['count'] = onlineUser.sumOpen.count - } else if (!("sumOpen" in state[index])) { - // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1') - state[index].sumOpen = onlineUser.sumOpen - } - - } - - if (onlineUser.sumClosed) { - - if ("sumClosed" in state[index]) { - // console.log(' >>>>>>>>>>>>>>>>>> sumClosed 1 | state[index].sumClosed["count"]: ', state[index].sumClosed['count'], ' | onlineUser.sumClosed.count: ', onlineUser.sumClosed.count) - state[index].sumClosed['count'] = onlineUser.sumClosed.count - } else if (!("sumClosed" in state[index])) { - // console.log(' >>>>>>>>>>>>>>>>>> sumOpen 1') - state[index].sumClosed = onlineUser.sumClosed - } - - } - - - - if(onlineUser.openClosedInQueue){ - state[index].openClosedInQueue = onlineUser.openClosedInQueue - } + if (onlineUser.openClosedInQueue) { + state[index].openClosedInQueue = onlineUser.openClosedInQueue; + } if (onlineUser.openClosedOutQueue) { state[index].openClosedOutQueue = onlineUser.openClosedOutQueue; } - - } return [...state]; } @@ -219,151 +209,120 @@ const reducer = (state, action) => { }; const Dashboard = () => { - const classes = useStyles() - const [usersOnlineInfo, dispatch] = useReducer(reducer, []) + const classes = useStyles(); + const [usersOnlineInfo, dispatch] = useReducer(reducer, []); + const [ticketStatusChange, setStatus] = useState(); + const [open, setOpen] = useState(0); + const [closed, setClosed] = useState(0); + const [pending, setPending] = useState(0); - const [open, setOpen] = useState(0) - const [closed, setClosed] = useState(0) - const [pending, setPending] = useState(0) + const { user } = useContext(AuthContext); - const { user } = useContext(AuthContext); - + useEffect(() => { + dispatch({ type: "RESET" }); + }, []); - useEffect(() => { + const handleLogouOnlineUser = async (userId) => { + try { + await api.get(`/users/logout/${userId}`); + //toast.success(("Desloged!")); + //handleDeleteRows(scheduleId) + } catch (err) { + // toastError(err); + } + }; - dispatch({ type: "RESET" }); + useEffect(() => { + //setLoading(true); - }, []); + const delayDebounceFn = setTimeout(() => { + // setLoading(true); + const fetchQueries = async () => { + try { + let date = new Date().toLocaleDateString("pt-BR").split("/"); + let dateToday = `${date[2]}-${date[1]}-${date[0]}`; + const dataQuery = await api.get("/reports/user/services", { + params: { userId: null, startDate: dateToday, endDate: dateToday }, + }); + dispatch({ type: "RESET" }); + dispatch({ type: "LOAD_QUERY", payload: dataQuery.data }); + console.log("xxx REPORT 2 dataQuery : ", dataQuery.data); + //console.log() + } catch (err) { + console.log(err); + } + }; - const handleLogouOnlineUser = async (userId) => { - try { - await api.get(`/users/logout/${userId}`); - //toast.success(("Desloged!")); - //handleDeleteRows(scheduleId) - } catch (err) { - // toastError(err); - } + fetchQueries(); + }, 500); + return () => clearTimeout(delayDebounceFn); + }, []); + useEffect(() => { + const socket = openSocket(process.env.REACT_APP_BACKEND_URL); - }; + socket.on("ticketStatus", (data) => { + // console.log('data: ',data) + if (data.action === "update") { + setStatus(data.ticketStatus.status); + } + }); - useEffect(() => { + socket.on("onlineStatus", (data) => { + if (data.action === "logout" || data.action === "update") { + // console.log('>>>>>>> data.userOnlineTime: ', data.userOnlineTime) - //setLoading(true); + dispatch({ type: "UPDATE_STATUS_ONLINE", payload: data.userOnlineTime }); + } else if (data.action === "delete") { + dispatch({ type: "DELETE_USER_STATUS", payload: data.userOnlineTime }); + } + }); - const delayDebounceFn = setTimeout(() => { + socket.on("user", (data) => { + if (data.action === "delete") { + // console.log(' entrou no delete user: ', data) + dispatch({ type: "DELETE_USER", payload: +data.userId }); + } + }); - // setLoading(true); - const fetchQueries = async () => { - try { + return () => { + socket.disconnect(); + }; + }, []); - let date = new Date().toLocaleDateString('pt-BR').split('/') - let dateToday = `${date[2]}-${date[1]}-${date[0]}` + useEffect(() => { + const delayDebounceFn = setTimeout(() => { + const fetchQueries = async () => { + try { + let date = new Date().toLocaleDateString("pt-BR").split("/"); + let dateToday = `${date[2]}-${date[1]}-${date[0]}`; - const dataQuery = await api.get("/reports/user/services", { params: { userId: null, startDate: dateToday, endDate: dateToday }, }); - dispatch({ type: "RESET" }) - dispatch({ type: "LOAD_QUERY", payload: dataQuery.data }); - - console.log('xxx REPORT 2 dataQuery : ', dataQuery.data) - - //console.log() - - } catch (err) { - console.log(err); - } - }; - - fetchQueries(); - - }, 500); - return () => clearTimeout(delayDebounceFn); - - }, []); - - - - useEffect(() => { - - const socket = openSocket(process.env.REACT_APP_BACKEND_URL); - - socket.on("ticketStatus", (data) => { - - // console.log('data: ',data) - - if(data.action === "update"){ - setStatus(data.ticketStatus.status) - } - }); - - socket.on("onlineStatus", (data) => { - - if (data.action === "logout" || (data.action === "update")) { - - // console.log('>>>>>>> data.userOnlineTime: ', data.userOnlineTime) - - - dispatch({ type: "UPDATE_STATUS_ONLINE", payload: data.userOnlineTime }); - - } - else if (data.action === "delete") { - dispatch({ type: "DELETE_USER_STATUS", payload: data.userOnlineTime }); - } - - }); - - socket.on("user", (data) => { - - if (data.action === "delete") { - // console.log(' entrou no delete user: ', data) - dispatch({ type: "DELETE_USER", payload: +data.userId }); - } - }); - - return () => { - socket.disconnect(); - }; - - - }, []); - - - useEffect(() => { - - const delayDebounceFn = setTimeout(() => { - - const fetchQueries = async () => { - - try { - - let date = new Date().toLocaleDateString('pt-BR').split('/') - let dateToday = `${date[2]}-${date[1]}-${date[0]}` - - const _open = await api.get("/tickets/count", { params: { status: 'open', date: dateToday } }); - const _closed = await api.get("/tickets/count", { params: { status: 'closed', date: dateToday } }); - const _pending = await api.get("/tickets/count", { params: { status: 'pending', date: dateToday } }); - - setOpen(_open.data.count) - setClosed(_closed.data.count) - setPending(_pending.data.count) - - - } catch (err) { - console.log(err); - } - }; - - fetchQueries(); - - }, 500); - return () => clearTimeout(delayDebounceFn); - - }, [ticketStatusChange]); + const _open = await api.get("/tickets/count", { + params: { status: "open", date: dateToday }, + }); + const _closed = await api.get("/tickets/count", { + params: { status: "closed", date: dateToday }, + }); + const _pending = await api.get("/tickets/count", { + params: { status: "pending", date: dateToday }, + }); + setOpen(_open.data.count); + setClosed(_closed.data.count); + setPending(_pending.data.count); + } catch (err) { + console.log(err); + } + }; + fetchQueries(); + }, 500); + return () => clearTimeout(delayDebounceFn); + }, [ticketStatusChange]); return ( { - {GetTickets("open", "true", "false", "true")} + {open} @@ -420,7 +379,7 @@ const Dashboard = () => { - {GetTickets("pending", "true", "false", "true")} + {pending} @@ -436,7 +395,7 @@ const Dashboard = () => { - {GetTickets("closed", "true", "false", "true")} + {closed} @@ -549,6 +508,6 @@ const Dashboard = () => { /**/ ); -} +}; -export default Dashboard +export default Dashboard; diff --git a/frontend/src/routes/index.js b/frontend/src/routes/index.js index ad0b229..5c5f870 100644 --- a/frontend/src/routes/index.js +++ b/frontend/src/routes/index.js @@ -20,13 +20,9 @@ import Queues from "../pages/Queues/"; import { AuthProvider } from "../context/Auth/AuthContext"; import { WhatsAppsProvider } from "../context/WhatsApp/WhatsAppsContext"; import Route from "./Route"; - - + //console.log('---AuthProvider: ',AuthProvider) - - - const Routes = () => { return ( @@ -37,41 +33,18 @@ const Routes = () => { - - - + + - - + - - +