From beb4fd64c4ad9523a674627a227a0c25cdac980a Mon Sep 17 00:00:00 2001 From: adriano Date: Tue, 23 Apr 2024 22:02:17 -0300 Subject: [PATCH] fix: update socket to enable click button on remote ticket --- .../src/components/TicketListItem/index.js | 41 ++++++++++++++----- frontend/src/components/TicketsList/index.js | 2 +- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/TicketListItem/index.js b/frontend/src/components/TicketListItem/index.js index 4763ba3..0d71944 100644 --- a/frontend/src/components/TicketListItem/index.js +++ b/frontend/src/components/TicketListItem/index.js @@ -124,12 +124,7 @@ const TicketListItem = ({ ticket, remoteTicketsControll, settings }) => { useEffect(() => { setRemoteTicketsControll(remoteTicketsControll) - }, [remoteTicketsControll]) - - useEffect(() => { - setRemoteTicketsControll(remoteTicketsControll) - }, [settings]) - + }, [remoteTicketsControll, settings]) const handleAcepptTicket = async id => { setLoading(true) @@ -154,6 +149,35 @@ const TicketListItem = ({ ticket, remoteTicketsControll, settings }) => { history.push(`/tickets/${id}`) } + + useEffect(() => { + const socket = openSocket(process.env.REACT_APP_BACKEND_URL) + + socket.on('remoteTickesControll', (data) => { + console.log('REMOTE TICKETS CONTROLL UPDATE2: ', data.tickets) + if (data.action === 'update') { + setRemoteTicketsControll(data.tickets) + } + }) + + + socket.on('settings', (data) => { + if (data.action === 'update') { + setSettings((prevState) => { + const aux = [...prevState] + const settingIndex = aux.findIndex((s) => s.key === data.setting.key) + aux[settingIndex].value = data.setting.value + return aux + }) + } + }) + + + return () => { + socket.disconnect() + } + }, []) + return ( { placement="right" title={ (ticket?.isRemote && ticket?.remoteDone && ticket.status === 'pending') ? "Mensagem de campanha enviada" : (ticket?.isRemote && ticket.status === 'pending') ? "Mensagem de campanha ainda não enviada" : - "" + "" } > @@ -288,9 +312,6 @@ const TicketListItem = ({ ticket, remoteTicketsControll, settings }) => { getSettingValue('remoteTicketSendControll') && getSettingValue('remoteTicketSendControll') === 'enabled') && ticket?.isRemote && !ticket?.remoteDone && !_remoteTicketsControll?.includes(+ticket.id)) : false} - - // disabled={true ? (ticket?.isRemote && !ticket?.remoteDone && !_remoteTicketsControll?.includes(+ticket.id)) : false} - className={classes.acceptButton} size="small" loading={loading} diff --git a/frontend/src/components/TicketsList/index.js b/frontend/src/components/TicketsList/index.js index ec05eb6..b591312 100644 --- a/frontend/src/components/TicketsList/index.js +++ b/frontend/src/components/TicketsList/index.js @@ -317,7 +317,7 @@ const TicketsList = (props) => { socket.on('remoteTickesControll', (data) => { - + console.log('REMOTE TICKETS CONTROLL UPDATE 1: ', data.tickets) if (data.action === 'update') { setRemoteTicketsControll(data.tickets) }