refactor: mais 7 conexoes movidas para conexao ws global
							parent
							
								
									4d3cab5333
								
							
						
					
					
						commit
						5981f9dd5e
					
				| 
						 | 
				
			
			@ -3,8 +3,8 @@ import React, { useState, useEffect, useRef, useContext } from "react"
 | 
			
		|||
import * as Yup from "yup"
 | 
			
		||||
import { Formik, Form, Field } from "formik"
 | 
			
		||||
import { toast } from "react-toastify"
 | 
			
		||||
import openSocket from 'socket.io-client'
 | 
			
		||||
 | 
			
		||||
//import openSocket from 'socket.io-client'
 | 
			
		||||
import { socket } from "../../services/socket"
 | 
			
		||||
 | 
			
		||||
import {
 | 
			
		||||
  makeStyles,
 | 
			
		||||
| 
						 | 
				
			
			@ -51,8 +51,8 @@ const useStyles = makeStyles((theme) => ({
 | 
			
		|||
}))
 | 
			
		||||
 | 
			
		||||
const PositionSchema = Yup.object().shape({
 | 
			
		||||
  name: Yup.string() 
 | 
			
		||||
    .required("Required"), 
 | 
			
		||||
  name: Yup.string()
 | 
			
		||||
    .required("Required"),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
const PositionModal = ({
 | 
			
		||||
| 
						 | 
				
			
			@ -66,14 +66,14 @@ const PositionModal = ({
 | 
			
		|||
  const isMounted = useRef(true)
 | 
			
		||||
 | 
			
		||||
  const initialState = {
 | 
			
		||||
    name: "", 
 | 
			
		||||
    name: "",
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const [position, setPosition] = useState(initialState)
 | 
			
		||||
  // const [selectedQueueIds, setSelectedQueueIds] = useState([])
 | 
			
		||||
  const { setting } = useContext(AuthContext)
 | 
			
		||||
  const [settings, setSettings] = useState(setting)
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    return () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -87,9 +87,9 @@ const PositionModal = ({
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
    //const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', (data) => {
 | 
			
		||||
    const onSettingsPosition = (data) => {
 | 
			
		||||
      if (data.action === 'update') {
 | 
			
		||||
        setSettings((prevState) => {
 | 
			
		||||
          const aux = [...prevState]
 | 
			
		||||
| 
						 | 
				
			
			@ -98,10 +98,12 @@ const PositionModal = ({
 | 
			
		|||
          return aux
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', onSettingsPosition)
 | 
			
		||||
 | 
			
		||||
    return () => {
 | 
			
		||||
      socket.disconnect()
 | 
			
		||||
      socket.off("settings", onSettingsPosition)
 | 
			
		||||
    }
 | 
			
		||||
  }, [])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +143,7 @@ const PositionModal = ({
 | 
			
		|||
 | 
			
		||||
  const handleSavePosition = async (values) => {
 | 
			
		||||
    try {
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
      if (positionId) {
 | 
			
		||||
        await api.put(`/positions/${positionId}`, values)
 | 
			
		||||
        handleClose()
 | 
			
		||||
| 
						 | 
				
			
			@ -154,7 +156,7 @@ const PositionModal = ({
 | 
			
		|||
        handleClose()
 | 
			
		||||
        toast.success("Cargo salvo com sucesso")
 | 
			
		||||
      }
 | 
			
		||||
     
 | 
			
		||||
 | 
			
		||||
    } catch (err) {
 | 
			
		||||
      toastError(err)
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -201,7 +203,7 @@ const PositionModal = ({
 | 
			
		|||
                    className={classes.textField}
 | 
			
		||||
                    fullWidth
 | 
			
		||||
                  />
 | 
			
		||||
                </div> 
 | 
			
		||||
                </div>
 | 
			
		||||
                {/* <div>
 | 
			
		||||
                  {
 | 
			
		||||
                    ((settings && getSettingValue('quickAnswerByQueue') === 'enabled')) && (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
import React, { useEffect, useState, useContext } from "react";
 | 
			
		||||
import QRCode from "qrcode.react";
 | 
			
		||||
import openSocket from "socket.io-client";
 | 
			
		||||
//import openSocket from "socket.io-client";
 | 
			
		||||
import { socket } from "../../services/socket";
 | 
			
		||||
 | 
			
		||||
import toastError from "../../errors/toastError";
 | 
			
		||||
 | 
			
		||||
import { Dialog, DialogContent, Paper, Typography } from "@material-ui/core";
 | 
			
		||||
| 
						 | 
				
			
			@ -31,9 +33,9 @@ const QrcodeModal = ({ open, onClose, whatsAppId }) => {
 | 
			
		|||
 | 
			
		||||
	useEffect(() => {
 | 
			
		||||
		if (!whatsAppId) return;
 | 
			
		||||
		const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
 | 
			
		||||
		//const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
 | 
			
		||||
 | 
			
		||||
		socket.on("whatsappSession", data => {
 | 
			
		||||
		const onWhatsAppSessionQrCode = data => {
 | 
			
		||||
			if (data.action === "update" && data.session.id === whatsAppId) {
 | 
			
		||||
				setQrCode(data.session.qrcode);
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -42,21 +44,23 @@ const QrcodeModal = ({ open, onClose, whatsAppId }) => {
 | 
			
		|||
				onClose();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (data.action === "error") { 
 | 
			
		||||
			if (data.action === "error") {
 | 
			
		||||
 | 
			
		||||
					console.log('user.profile: ', user.profile)
 | 
			
		||||
				console.log('user.profile: ', user.profile)
 | 
			
		||||
 | 
			
		||||
				if(user.profile === 'master'){
 | 
			
		||||
				if (user.profile === 'master') {
 | 
			
		||||
 | 
			
		||||
					alert(data.msg)
 | 
			
		||||
 | 
			
		||||
				} 
 | 
			
		||||
				
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		socket.on("whatsappSession", onWhatsAppSessionQrCode);
 | 
			
		||||
 | 
			
		||||
		return () => {
 | 
			
		||||
			socket.disconnect();
 | 
			
		||||
			socket.off("whatsappSession", onWhatsAppSessionQrCode);
 | 
			
		||||
		};
 | 
			
		||||
	}, [whatsAppId, onClose, user.profile]);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,8 +23,8 @@ import { IconButton, InputAdornment } from "@material-ui/core"
 | 
			
		|||
import { Colorize } from "@material-ui/icons"
 | 
			
		||||
 | 
			
		||||
import { AuthContext } from '../../context/Auth/AuthContext'
 | 
			
		||||
import openSocket from 'socket.io-client'
 | 
			
		||||
 | 
			
		||||
//import openSocket from 'socket.io-client'
 | 
			
		||||
import { socket } from "../../services/socket"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const useStyles = makeStyles(theme => ({
 | 
			
		||||
| 
						 | 
				
			
			@ -92,9 +92,9 @@ const QueueModal = ({ open, onClose, queueId }) => {
 | 
			
		|||
	}, [setting])
 | 
			
		||||
 | 
			
		||||
	useEffect(() => {
 | 
			
		||||
		const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
		//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
		socket.on('settings', (data) => {
 | 
			
		||||
		const onSettingsQueueModal = (data) => {
 | 
			
		||||
			if (data.action === 'update') {
 | 
			
		||||
				setSettings((prevState) => {
 | 
			
		||||
					const aux = [...prevState]
 | 
			
		||||
| 
						 | 
				
			
			@ -103,10 +103,12 @@ const QueueModal = ({ open, onClose, queueId }) => {
 | 
			
		|||
					return aux
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		socket.on('settings', onSettingsQueueModal)
 | 
			
		||||
 | 
			
		||||
		return () => {
 | 
			
		||||
			socket.disconnect()
 | 
			
		||||
			socket.off("settings", onSettingsQueueModal)
 | 
			
		||||
		}
 | 
			
		||||
	}, [])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,8 +3,8 @@ import React, { useState, useEffect, useRef, useContext } from "react"
 | 
			
		|||
import * as Yup from "yup"
 | 
			
		||||
import { Formik, Form, Field } from "formik"
 | 
			
		||||
import { toast } from "react-toastify"
 | 
			
		||||
import openSocket from 'socket.io-client'
 | 
			
		||||
 | 
			
		||||
//import openSocket from 'socket.io-client'
 | 
			
		||||
import { socket } from "../../services/socket"
 | 
			
		||||
 | 
			
		||||
import {
 | 
			
		||||
  makeStyles,
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@ const QuickAnswersModal = ({
 | 
			
		|||
  const [quickAnswer, setQuickAnswer] = useState(initialState)
 | 
			
		||||
  const [selectedQueueIds, setSelectedQueueIds] = useState([])
 | 
			
		||||
  const { user, setting, getSettingValue } = useContext(AuthContext)
 | 
			
		||||
  const [settings, setSettings] = useState(setting) 
 | 
			
		||||
  const [settings, setSettings] = useState(setting)
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    return () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -92,18 +92,18 @@ const QuickAnswersModal = ({
 | 
			
		|||
  }, [setting])
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
    setSelectedQueueIds([])
 | 
			
		||||
    if (open && selectedQueueIds.length === 0 && !quickAnswerId) { 
 | 
			
		||||
    if (open && selectedQueueIds.length === 0 && !quickAnswerId) {
 | 
			
		||||
      setSelectedQueueIds(user.queues.map(q => q.id))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }, [open,])
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
    //const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', (data) => {
 | 
			
		||||
    const onSettingsQuickAnswersModal = (data) => {
 | 
			
		||||
      if (data.action === 'update') {
 | 
			
		||||
        setSettings((prevState) => {
 | 
			
		||||
          const aux = [...prevState]
 | 
			
		||||
| 
						 | 
				
			
			@ -112,14 +112,16 @@ const QuickAnswersModal = ({
 | 
			
		|||
          return aux
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', onSettingsQuickAnswersModal)
 | 
			
		||||
 | 
			
		||||
    return () => {
 | 
			
		||||
      socket.disconnect()
 | 
			
		||||
      socket.off("settings", onSettingsQuickAnswersModal)
 | 
			
		||||
    }
 | 
			
		||||
  }, [])
 | 
			
		||||
 | 
			
		||||
  useEffect(() => { 
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
 | 
			
		||||
    // setSelectedQueueIds([])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +141,7 @@ const QuickAnswersModal = ({
 | 
			
		|||
        if (isMounted.current) {
 | 
			
		||||
          setQuickAnswer(data)
 | 
			
		||||
 | 
			
		||||
          if (data?.queues) { 
 | 
			
		||||
          if (data?.queues) {
 | 
			
		||||
            const quickQueueIds = data.queues?.map((queue) => queue.id)
 | 
			
		||||
            setSelectedQueueIds(quickQueueIds)
 | 
			
		||||
          }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
import React, { useState, useContext, useMemo, useEffect } from "react"
 | 
			
		||||
import { useHistory } from "react-router-dom"
 | 
			
		||||
import openSocket from "socket.io-client"
 | 
			
		||||
//import openSocket from "socket.io-client"
 | 
			
		||||
import { socket } from "../../services/socket"
 | 
			
		||||
 | 
			
		||||
import Button from "@material-ui/core/Button"
 | 
			
		||||
import Dialog from "@material-ui/core/Dialog"
 | 
			
		||||
| 
						 | 
				
			
			@ -110,9 +111,9 @@ const TransferTicketModal = ({ modalOpen, onClose, ticketid }) => {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
	useEffect(() => {
 | 
			
		||||
		const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
		//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
		socket.on('settings', (data) => {
 | 
			
		||||
		const onSettingsTransferTicketModal = (data) => {
 | 
			
		||||
			console.log('settings updated ----------------------------xxxxxxxxxxxx')
 | 
			
		||||
 | 
			
		||||
			if (data.action === 'update') {
 | 
			
		||||
| 
						 | 
				
			
			@ -123,10 +124,12 @@ const TransferTicketModal = ({ modalOpen, onClose, ticketid }) => {
 | 
			
		|||
					return aux
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		socket.on('settings', onSettingsTransferTicketModal)
 | 
			
		||||
 | 
			
		||||
		return () => {
 | 
			
		||||
			socket.disconnect()
 | 
			
		||||
			socket.off("settings", onSettingsTransferTicketModal)
 | 
			
		||||
		}
 | 
			
		||||
	}, [])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -194,7 +197,7 @@ const TransferTicketModal = ({ modalOpen, onClose, ticketid }) => {
 | 
			
		|||
						const { data } = await api.get(`/users/all`, {
 | 
			
		||||
							params: { userId: user.id },
 | 
			
		||||
						})
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
						setUsers(data.users)
 | 
			
		||||
						setQueuesByWhats(data.queues)
 | 
			
		||||
						setQueues(data.queues)
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +231,7 @@ const TransferTicketModal = ({ modalOpen, onClose, ticketid }) => {
 | 
			
		|||
					{i18n.t("transferTicketModal.title")}
 | 
			
		||||
				</DialogTitle>
 | 
			
		||||
				<DialogContent dividers >
 | 
			
		||||
					<FormControl variant="outlined" className={classes.maxWidth} style={{marginBottom: '8px'}}>
 | 
			
		||||
					<FormControl variant="outlined" className={classes.maxWidth} style={{ marginBottom: '8px' }}>
 | 
			
		||||
						{/* <InputLabel>{i18n.t("transferTicketModal.fieldQueueLabel")}</InputLabel> */}
 | 
			
		||||
 | 
			
		||||
						<InputLabel>{'Usuário'}</InputLabel>
 | 
			
		||||
| 
						 | 
				
			
			@ -247,7 +250,7 @@ const TransferTicketModal = ({ modalOpen, onClose, ticketid }) => {
 | 
			
		|||
								</MenuItem>
 | 
			
		||||
							))}
 | 
			
		||||
						</Select>
 | 
			
		||||
					</FormControl> 
 | 
			
		||||
					</FormControl>
 | 
			
		||||
 | 
			
		||||
					<FormControl variant="outlined" className={classes.maxWidth}>
 | 
			
		||||
						<InputLabel>{i18n.t("transferTicketModal.fieldQueuePlaceholder")}</InputLabel>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,8 @@
 | 
			
		|||
import React, { useState, useCallback, useEffect, useReducer, useContext } from 'react'
 | 
			
		||||
import { toast } from 'react-toastify' 
 | 
			
		||||
import { toast } from 'react-toastify'
 | 
			
		||||
 | 
			
		||||
import openSocket from 'socket.io-client'
 | 
			
		||||
//import openSocket from 'socket.io-client'
 | 
			
		||||
import { socket } from '../../services/socket'
 | 
			
		||||
 | 
			
		||||
import { makeStyles } from '@material-ui/core/styles'
 | 
			
		||||
import { green } from '@material-ui/core/colors'
 | 
			
		||||
| 
						 | 
				
			
			@ -13,11 +14,11 @@ import {
 | 
			
		|||
    IconButton,
 | 
			
		||||
    Table,
 | 
			
		||||
    TableHead,
 | 
			
		||||
    Paper,  
 | 
			
		||||
    Paper,
 | 
			
		||||
} from '@material-ui/core'
 | 
			
		||||
import {
 | 
			
		||||
    Edit,  
 | 
			
		||||
    DeleteOutline, 
 | 
			
		||||
    Edit,
 | 
			
		||||
    DeleteOutline,
 | 
			
		||||
    // Restore
 | 
			
		||||
} from '@material-ui/icons'
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +27,7 @@ import MainHeader from '../../components/MainHeader'
 | 
			
		|||
import MainHeaderButtonsWrapper from '../../components/MainHeaderButtonsWrapper'
 | 
			
		||||
import Title from '../../components/Title'
 | 
			
		||||
import TableRowSkeleton from '../../components/TableRowSkeleton'
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
import CampaignModal from '../../components/CampaignModal'
 | 
			
		||||
import ConfirmationModal from '../../components/ConfirmationModal'
 | 
			
		||||
import QrcodeModal from '../../components/QrcodeModal'
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +52,7 @@ const reducer = (state, action) => {
 | 
			
		|||
        const campaigns = action.payload
 | 
			
		||||
        return [...state, ...campaigns]
 | 
			
		||||
    }
 | 
			
		||||
    if (action.type === "UPDATE_CAMPAIGNS") { 
 | 
			
		||||
    if (action.type === "UPDATE_CAMPAIGNS") {
 | 
			
		||||
 | 
			
		||||
        const campaign = action.payload
 | 
			
		||||
        const campaignIndex = state.findIndex((c) => c.id === campaign.id)
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +110,7 @@ const useStyles = makeStyles((theme) => ({
 | 
			
		|||
    buttonProgress: {
 | 
			
		||||
        color: green[500],
 | 
			
		||||
    },
 | 
			
		||||
})) 
 | 
			
		||||
}))
 | 
			
		||||
 | 
			
		||||
const Campaign = () => {
 | 
			
		||||
    //--------
 | 
			
		||||
| 
						 | 
				
			
			@ -124,7 +125,7 @@ const Campaign = () => {
 | 
			
		|||
    const [qrModalOpen, setQrModalOpen] = useState(false)
 | 
			
		||||
    const [selectedCampaign, setSelectedCampaign] = useState(null)
 | 
			
		||||
    const [confirmModalOpen, setConfirmModalOpen] = useState(false)
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
    const [campaigns, dispatch] = useReducer(reducer, [])
 | 
			
		||||
 | 
			
		||||
    const [loading, setLoading] = useState(true)
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +153,7 @@ const Campaign = () => {
 | 
			
		|||
        const delayDebounceFn = setTimeout(() => {
 | 
			
		||||
            const fetchContacts = async () => {
 | 
			
		||||
 | 
			
		||||
                try { 
 | 
			
		||||
                try {
 | 
			
		||||
 | 
			
		||||
                    const { data } = await apiBroker.get('/campaign', {
 | 
			
		||||
                        params: {
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +161,7 @@ const Campaign = () => {
 | 
			
		|||
                            baseURL: process.env.REACT_APP_BACKEND_URL_PRIVATE,
 | 
			
		||||
                            identifier: 'campaign'
 | 
			
		||||
                        }
 | 
			
		||||
                    }) 
 | 
			
		||||
                    })
 | 
			
		||||
 | 
			
		||||
                    dispatch({ type: "LOAD_CAMPAIGNS", payload: data.campaign })
 | 
			
		||||
                    setLoading(false)
 | 
			
		||||
| 
						 | 
				
			
			@ -174,7 +175,7 @@ const Campaign = () => {
 | 
			
		|||
        }, 500)
 | 
			
		||||
        return () => clearTimeout(delayDebounceFn)
 | 
			
		||||
    }, [user.id])
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    const handleOpenCampaignModal = () => {
 | 
			
		||||
        setSelectedCampaign(null)
 | 
			
		||||
| 
						 | 
				
			
			@ -184,12 +185,12 @@ const Campaign = () => {
 | 
			
		|||
    const handleCloseCampaignModal = useCallback(() => {
 | 
			
		||||
        setCampaignModalOpen(false)
 | 
			
		||||
        setSelectedCampaign(null)
 | 
			
		||||
    }, [setSelectedCampaign, setCampaignModalOpen]) 
 | 
			
		||||
    }, [setSelectedCampaign, setCampaignModalOpen])
 | 
			
		||||
 | 
			
		||||
    const handleStart = async (campaign) => { 
 | 
			
		||||
    const handleStart = async (campaign) => {
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            const { data } = await apiBroker.post(`/campaign/start/${campaign.id}`) 
 | 
			
		||||
            const { data } = await apiBroker.post(`/campaign/start/${campaign.id}`)
 | 
			
		||||
 | 
			
		||||
            dispatch({ type: "UPDATE_CAMPAIGNS", payload: data.campaign })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -200,10 +201,10 @@ const Campaign = () => {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const handleStop = async (campaign) => { 
 | 
			
		||||
    const handleStop = async (campaign) => {
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            const { data } = await apiBroker.post(`/campaign/stop/${campaign.id}`) 
 | 
			
		||||
            const { data } = await apiBroker.post(`/campaign/stop/${campaign.id}`)
 | 
			
		||||
 | 
			
		||||
            dispatch({ type: "UPDATE_CAMPAIGNS", payload: data.campaign })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -245,7 +246,7 @@ const Campaign = () => {
 | 
			
		|||
        setConfirmModalOpen(true)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const handleSubmitConfirmationModal = async () => { 
 | 
			
		||||
    const handleSubmitConfirmationModal = async () => {
 | 
			
		||||
 | 
			
		||||
        if (confirmModalInfo.action === 'delete') {
 | 
			
		||||
            try {
 | 
			
		||||
| 
						 | 
				
			
			@ -293,13 +294,12 @@ const Campaign = () => {
 | 
			
		|||
                )}
 | 
			
		||||
            </>
 | 
			
		||||
        )
 | 
			
		||||
    }  
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
        //const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        socket.on("contactsBulkInsertOnQueueStatus", (data) => {
 | 
			
		||||
        const onContactsBulkCampaing = (data) => {
 | 
			
		||||
            if (data.action === 'update') {
 | 
			
		||||
 | 
			
		||||
                if (String(data.insertOnQueue.adminId) === String(user.id)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -312,19 +312,24 @@ const Campaign = () => {
 | 
			
		|||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        socket.on('campaign', (data) => { 
 | 
			
		||||
        socket.on("contactsBulkInsertOnQueueStatus", onContactsBulkCampaing)
 | 
			
		||||
 | 
			
		||||
        const onCampaignCampaign = (data) => {
 | 
			
		||||
 | 
			
		||||
            if (data.action === 'update') {
 | 
			
		||||
                dispatch({ type: "UPDATE_CAMPAIGNS", payload: data.campaign })
 | 
			
		||||
            }
 | 
			
		||||
        }) 
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        socket.on('campaign', onCampaignCampaign)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
        return () => {
 | 
			
		||||
            socket.disconnect()
 | 
			
		||||
            socket.off("campaign", onCampaignCampaign)
 | 
			
		||||
            socket.off("contactsBulkInsertOnQueueStatus", onContactsBulkCampaing)
 | 
			
		||||
        }
 | 
			
		||||
    }, [user.id])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,8 @@ import React, { useState, useCallback, useEffect, useContext } from 'react'
 | 
			
		|||
import { toast } from 'react-toastify'
 | 
			
		||||
import { format, parseISO } from 'date-fns'
 | 
			
		||||
 | 
			
		||||
import openSocket from 'socket.io-client'
 | 
			
		||||
//import openSocket from 'socket.io-client'
 | 
			
		||||
import { socket } from '../../services/socket'
 | 
			
		||||
 | 
			
		||||
import { makeStyles } from '@material-ui/core/styles'
 | 
			
		||||
import { green, red, yellow, grey } from '@material-ui/core/colors'
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +145,7 @@ const Connections = () => {
 | 
			
		|||
  const [selectedWhatsApp, setSelectedWhatsApp] = useState(null)
 | 
			
		||||
  const [confirmModalOpen, setConfirmModalOpen] = useState(false)
 | 
			
		||||
 | 
			
		||||
  const [diskSpaceInfo, setDiskSpaceInfo] = useState({}) 
 | 
			
		||||
  const [diskSpaceInfo, setDiskSpaceInfo] = useState({})
 | 
			
		||||
 | 
			
		||||
  const [settings, setSettings] = useState([])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -388,7 +389,7 @@ const Connections = () => {
 | 
			
		|||
          getSettingValue('whatsaAppCloudApi') === 'disabled') && (
 | 
			
		||||
            <CustomToolTip title={'Whatsapp Cloud API está desativado'}>
 | 
			
		||||
              <FiberManualRecord style={{ color: grey[500] }} />
 | 
			
		||||
            </CustomToolTip> 
 | 
			
		||||
            </CustomToolTip>
 | 
			
		||||
          )}
 | 
			
		||||
        {whatsApp.status === 'OPENING' && !whatsApp.isOfficial && (
 | 
			
		||||
          <CircularProgress size={24} className={classes.buttonProgress} />
 | 
			
		||||
| 
						 | 
				
			
			@ -433,7 +434,7 @@ const Connections = () => {
 | 
			
		|||
        try {
 | 
			
		||||
          await api.post(`/restartwhatsappsession/0`, {
 | 
			
		||||
            params: { status: 'status' },
 | 
			
		||||
          }) 
 | 
			
		||||
          })
 | 
			
		||||
 | 
			
		||||
          setClicks((buttons) =>
 | 
			
		||||
            buttons.map((e) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -451,15 +452,17 @@ const Connections = () => {
 | 
			
		|||
  }, [])
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
    //const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
 | 
			
		||||
 | 
			
		||||
    socket.on('diskSpaceMonit', (data) => {
 | 
			
		||||
    const onDiskSpaceMonitConnections = (data) => {
 | 
			
		||||
      if (data.action === 'update') {
 | 
			
		||||
        setDiskSpaceInfo(data.diskSpace)
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', (data) => {
 | 
			
		||||
    socket.on('diskSpaceMonit', onDiskSpaceMonitConnections)
 | 
			
		||||
 | 
			
		||||
    const onSettingsConnections = (data) => {
 | 
			
		||||
      if (data.action === 'update') {
 | 
			
		||||
        setSettings((prevState) => {
 | 
			
		||||
          const aux = [...prevState]
 | 
			
		||||
| 
						 | 
				
			
			@ -468,10 +471,13 @@ const Connections = () => {
 | 
			
		|||
          return aux
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    socket.on('settings', onSettingsConnections)
 | 
			
		||||
 | 
			
		||||
    return () => {
 | 
			
		||||
      socket.disconnect()
 | 
			
		||||
      socket.off("settings", onSettingsConnections)
 | 
			
		||||
      socket.off("diskSpaceMonit", onDiskSpaceMonitConnections)
 | 
			
		||||
    }
 | 
			
		||||
  }, [])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue