From 5907fc6cb26a789993c9af0edc5d8dea6fb79e13 Mon Sep 17 00:00:00 2001 From: adriano Date: Mon, 14 Aug 2023 15:39:05 -0300 Subject: [PATCH] =?UTF-8?q?Finaliza=C3=A7=C3=A3o=20do=20modulo=20campanha?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/libs/socket.ts | 2 +- .../src/components/CampaignModal/index.js | 171 ++++++----- frontend/src/layout/MainListItems.js | 7 +- frontend/src/pages/Campaign/index.js | 268 +++--------------- 4 files changed, 149 insertions(+), 299 deletions(-) diff --git a/backend/src/libs/socket.ts b/backend/src/libs/socket.ts index 43a7a5f..ccc554b 100644 --- a/backend/src/libs/socket.ts +++ b/backend/src/libs/socket.ts @@ -75,7 +75,7 @@ export const initIO = (httpServer: Server): SocketIO => { }); socket.on("campaign_message_sent", async (data: any) => { - console.log("campaign_message_sent: ", data); + // console.log("campaign_message_sent: ", data); const io = getIO(); diff --git a/frontend/src/components/CampaignModal/index.js b/frontend/src/components/CampaignModal/index.js index 2323aad..19ec342 100644 --- a/frontend/src/components/CampaignModal/index.js +++ b/frontend/src/components/CampaignModal/index.js @@ -1,21 +1,19 @@ -import React, { useState, useEffect, useContext, createContext } from 'react' +import React, { useState, useEffect, useContext, } from 'react' import * as Yup from 'yup' -import { Formik, Form, Field } from 'formik' +import { Formik, Form, Field, } from 'formik' import { toast } from 'react-toastify' import { makeStyles } from '@material-ui/core/styles' import { green } from '@material-ui/core/colors' import { AuthContext } from '../../context/Auth/AuthContext' -import { Can } from '../../components/Can' + import apiBroker from '../../services/apiBroker' import Select from "@material-ui/core/Select" import MenuItem from "@material-ui/core/MenuItem" - -import SelectField from "../../components/Report/SelectField" - + import { WhatsAppsContext } from "../../context/WhatsApp/WhatsAppsContext" import { @@ -25,15 +23,11 @@ import { Button, DialogActions, CircularProgress, - TextField, - Switch, - FormControlLabel, + TextField, } from '@material-ui/core' - -import api from '../../services/api' + import { i18n } from '../../translate/i18n' -import toastError from '../../errors/toastError' -import QueueSelect from '../QueueSelect' +import toastError from '../../errors/toastError' const useStyles = makeStyles((theme) => ({ root: { @@ -67,6 +61,23 @@ const SessionSchema = Yup.object().shape({ .min(2, 'Too Short!') .max(100, 'Too Long!') .required('Required'), + + secondStart: Yup.number() + .required('Min time is required') + .min(3, 'Min time must be 3') + .max(3600, 'Min must be less than 3600'), + + secondEnd: Yup.number() + .required('Max time is required') + .min(3, 'Min time must be 3') + .max(3600, 'Max must be less than 3600') + .test('higher-than-lower', 'Tempo final deve ser maior que tempo inicio!', function ( + secondEnd + ) { + const secondStart = this.resolve(Yup.ref('secondStart')) + return secondStart === undefined || secondEnd === undefined || secondEnd > secondStart + }), + }) const CampaignModal = ({ open, onClose, campaignId, dispatch }) => { @@ -77,27 +88,21 @@ const CampaignModal = ({ open, onClose, campaignId, dispatch }) => { status: 'pending', whatsapp_sender: '', csv_original_file_name: '', + secondStart: '3', + secondEnd: '15', + textToSeconds: true, } const { user } = useContext(AuthContext) - const { whatsApps } = useContext(WhatsAppsContext) - - console.log('------------> whatsApps: ', whatsApps) + const { whatsApps } = useContext(WhatsAppsContext) const [campaign, setCampaign] = useState(initialState) // const [selectedQueueIds, setSelectedQueueIds] = useState([]) const [file, setFile] = useState() const [selectedNumber, setSelectedNumber] = useState('') - - const [itemHover, setItemHover] = useState(-1) - - useEffect(() => { - console.log('selectedNumber: ', selectedNumber) - }, [selectedNumber]) - - + useEffect(() => { const fetchSession = async () => { @@ -122,7 +127,7 @@ const CampaignModal = ({ open, onClose, campaignId, dispatch }) => { } } fetchSession() - }, [campaignId]) + }, [campaignId, user.id]) const handleSaveCampaign = async (values) => { let response = null @@ -135,6 +140,9 @@ const CampaignModal = ({ open, onClose, campaignId, dispatch }) => { formData.append('file', file) formData.append('name', values.name) formData.append('whatsapp_sender', selectedNumber) + formData.append('secondStart', values.secondStart) + formData.append('secondEnd', values.secondEnd) + formData.append('textToSeconds', values.textToSeconds) formData.append('message', values.message) formData.append('csv_original_file_name', file?.name) @@ -185,15 +193,15 @@ const CampaignModal = ({ open, onClose, campaignId, dispatch }) => { alert('Arquivo não pode ser maior que 4 MB!') return } - - console.log('event.target.files[0]: ', event.target.files[0]) + setFile(event.target.files[0]) } catch (err) { toastError(err) } } - + + return (
{
- ( - <> -
-
- +
+
+ - -
+ +
-
+
-
-
- - )} - /> +
+
{

{file?.name || campaign?.csv_original_file_name}

+ +
+ + + + + + +
+
- )} - /> + @@ -661,17 +476,17 @@ const Campaign = () => { {campaign.message} - + {campaign.status !== 'running' ? - {campaign.status != 'success' && ( - - handleEditCampaign(campaign) - } - > - - )} + {campaign.status !== 'success' && ( + + handleEditCampaign(campaign) + } + > + + )} { > - + : } +