fix: correct text errors and add automatic translations
Details: - Fixed various text errors across the application. - Added automatic translations to improve localization.feat_faro
parent
6450fb6ea7
commit
7aba8c02f2
|
@ -2320,7 +2320,7 @@ async function setSoport(ticket: any, wbot: any, contact: any) {
|
|||
|
||||
botSendMessage(
|
||||
ticket,
|
||||
`_*Respuesta*_\n\n*code_resp*: ${code_resp._}\n*msg_resp*: ${msg_resp._}`
|
||||
`_*Respuesta*_\n\n*code_resp*: ${code_resp._}\n*msg_resp*: ${msg_resp._}\nGracias por contactarte con nosotros, tu id estará super recomendado... recuerda que te queremos ver , feliz como una lombriz 😃`
|
||||
);
|
||||
} else {
|
||||
console.error(
|
||||
|
|
|
@ -45,7 +45,7 @@ import {
|
|||
|
||||
|
||||
import ptBrLocale from "date-fns/locale/pt-BR";
|
||||
|
||||
import esLocale from 'date-fns/locale/es';
|
||||
|
||||
const ResponsiveTimePickers = (props) => {
|
||||
|
||||
|
@ -63,7 +63,7 @@ const ResponsiveTimePickers = (props) => {
|
|||
|
||||
<Fragment>
|
||||
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBrLocale}>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}>
|
||||
<TimePicker
|
||||
variant="outline"
|
||||
label={props.title}
|
||||
|
|
|
@ -11,6 +11,7 @@ import { TimePicker, DatePicker } from 'formik-material-ui-pickers'
|
|||
import DateFnsUtils from '@date-io/date-fns'
|
||||
|
||||
import ptBrLocale from "date-fns/locale/pt-BR"
|
||||
import esLocale from 'date-fns/locale/es';
|
||||
|
||||
import { WhatsAppsContext } from "../../context/WhatsApp/WhatsAppsContext"
|
||||
|
||||
|
@ -257,7 +258,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
}}
|
||||
>
|
||||
{({ values, touched, errors, isSubmitting }) => (
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBrLocale}>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}>
|
||||
<Form>
|
||||
|
||||
<DialogContent dividers>
|
||||
|
@ -299,7 +300,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
<Field
|
||||
component={TimePicker}
|
||||
name="startTimeBus"
|
||||
label="Inicio atendimento"
|
||||
label={i18n.t('configModal.titles.startService')}
|
||||
ampm={false}
|
||||
openTo="hours"
|
||||
views={['hours', 'minutes',]}
|
||||
|
@ -309,7 +310,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
<Field
|
||||
component={TimePicker}
|
||||
name="endTimeBus"
|
||||
label="Fim atendimento"
|
||||
label={i18n.t('configModal.titles.endService')}
|
||||
ampm={false}
|
||||
openTo="hours"
|
||||
views={['hours', 'minutes',]}
|
||||
|
@ -325,13 +326,13 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
checked={values.businessTimeEnable}
|
||||
/>
|
||||
}
|
||||
label={'Ativar/Desativar'} />
|
||||
label={i18n.t('configModal.titles.enableDisable')} />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Mensagem fora do horário de atendimento'}
|
||||
label={i18n.t('configModal.titles.outOfHours')}
|
||||
type="messageBus"
|
||||
multiline
|
||||
rows={5}
|
||||
|
@ -355,7 +356,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
<Field
|
||||
component={TimePicker}
|
||||
name="startTimeBusSaturday"
|
||||
label="Inicio atendimentos"
|
||||
label={i18n.t('configModal.titles.startService')}
|
||||
ampm={false}
|
||||
openTo="hours"
|
||||
views={['hours', 'minutes',]}
|
||||
|
@ -365,7 +366,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
<Field
|
||||
component={TimePicker}
|
||||
name="endTimeBusSaturday"
|
||||
label="Fim atendimento"
|
||||
label={i18n.t('configModal.titles.endService')}
|
||||
ampm={false}
|
||||
openTo="hours"
|
||||
views={['hours', 'minutes',]}
|
||||
|
@ -381,13 +382,13 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
checked={values.businessTimeEnableSaturday}
|
||||
/>
|
||||
}
|
||||
label={'Ativar/Desativar'} />
|
||||
label={i18n.t('configModal.titles.enableDisable')} />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Mensagem fora do horário de atendimento sábado'}
|
||||
label={i18n.t('configModal.titles.outOfHoursSaturday')}
|
||||
type="messageBusSaturday"
|
||||
multiline
|
||||
rows={5}
|
||||
|
@ -430,13 +431,13 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
checked={values.enableWeekendMessage}
|
||||
/>
|
||||
}
|
||||
label={'Ativar/Desativar'}
|
||||
label={i18n.t('configModal.titles.enableDisable')}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Mensagem para final de semana'}
|
||||
label={i18n.t('configModal.titles.forTheWeekend')}
|
||||
type="weekendMessage"
|
||||
multiline
|
||||
rows={5}
|
||||
|
@ -461,7 +462,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
<Field
|
||||
component={DatePicker}
|
||||
name="holidayDate"
|
||||
label="Data do feriado"
|
||||
label={i18n.t('configModal.titles.holiday')}
|
||||
format="dd/MM/yyyy"
|
||||
fullWidth
|
||||
/>
|
||||
|
@ -475,13 +476,13 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
checked={values.holidayDateEnable}
|
||||
/>
|
||||
}
|
||||
label={'Ativar/Desativar'}
|
||||
label={i18n.t('configModal.titles.enableDisable')}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Mensagem para feriado'}
|
||||
label={i18n.t('configModal.titles.holidayMessage')}
|
||||
type="holidayDateMessage"
|
||||
multiline
|
||||
rows={5}
|
||||
|
@ -524,13 +525,13 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
checked={values.ticketExpirationEnable}
|
||||
/>
|
||||
}
|
||||
label={'Ativar/Desativar'}
|
||||
label={i18n.t('configModal.titles.enableDisable')}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Mensagem por falta de atividade no atendimento'}
|
||||
label={i18n.t('configModal.titles.inactivityMessage')}
|
||||
type="ticketExpirationMsg"
|
||||
multiline
|
||||
rows={5}
|
||||
|
@ -569,7 +570,7 @@ const ConfigModal = ({ open, onClose, change }) => {
|
|||
size={24}
|
||||
className={classes.buttonProgress}
|
||||
/>
|
||||
) : 'Salvar'}
|
||||
) : i18n.t('configModal.titles.save')}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Form>
|
||||
|
|
|
@ -23,6 +23,8 @@ import CheckCircleIcon from "@material-ui/icons/CheckCircle";
|
|||
import ErrorIcon from "@material-ui/icons/Error";
|
||||
import RemoveCircleIcon from "@material-ui/icons/RemoveCircle";
|
||||
|
||||
import { i18n } from "../../translate/i18n";
|
||||
|
||||
const CardUser = ({ classes, usersOnlineInfo, logout }) => {
|
||||
const [search, setSearch] = React.useState("");
|
||||
|
||||
|
@ -46,14 +48,14 @@ const CardUser = ({ classes, usersOnlineInfo, logout }) => {
|
|||
color="primary"
|
||||
style={{ marginBottom: "16px" }}
|
||||
>
|
||||
Lista de Usuários
|
||||
{i18n.t('dashboard.titles.listUser')}
|
||||
</Typography>
|
||||
</Grid>
|
||||
<Grid item sx={8} width="100%">
|
||||
<Box sx={{ marginBottom: 2, display: "flex", gap: "12px" }}>
|
||||
<TextField
|
||||
id="outlined-basic"
|
||||
label="Usuário"
|
||||
label={i18n.t('dashboard.titles.user')}
|
||||
variant="standard"
|
||||
value={search}
|
||||
onChange={handlesearch}
|
||||
|
@ -70,7 +72,7 @@ const CardUser = ({ classes, usersOnlineInfo, logout }) => {
|
|||
<MenuItem value={null}>Todos</MenuItem>
|
||||
<MenuItem value={"online"}>Online</MenuItem>
|
||||
<MenuItem value={"offline"}>Offline</MenuItem>
|
||||
<MenuItem value={"not"}>Não entrou</MenuItem>
|
||||
<MenuItem value={"not"}>{i18n.t('dashboard.titles.notEnter')}</MenuItem>
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Box>
|
||||
|
@ -161,7 +163,7 @@ const CardUser = ({ classes, usersOnlineInfo, logout }) => {
|
|||
<Typography component="p" color="textPrimary" paragraph>
|
||||
{user.sumOnlineTime && user.sumOnlineTime.sum
|
||||
? user.sumOnlineTime.sum
|
||||
: "Não entrou Hoje"}
|
||||
: i18n.t('dashboard.titles.notEnterToday')}
|
||||
</Typography>
|
||||
</Typography>
|
||||
</CardContent>
|
||||
|
|
|
@ -75,7 +75,7 @@ const TableUser = ({ classes, usersOnlineInfo, logout }) => {
|
|||
<MenuItem value={null}>Todos</MenuItem>
|
||||
<MenuItem value={"online"}>Online</MenuItem>
|
||||
<MenuItem value={"offline"}>Offline</MenuItem>
|
||||
<MenuItem value={"not"}>Não entrou</MenuItem>
|
||||
<MenuItem value={"not"}>{i18n.t('dashboard.titles.notEnter')}</MenuItem>
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Box>
|
||||
|
@ -221,7 +221,7 @@ const TableUser = ({ classes, usersOnlineInfo, logout }) => {
|
|||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
{user.sumOnlineTime ? user.sumOnlineTime.sum : "Não entrou"}
|
||||
{user.sumOnlineTime ? user.sumOnlineTime.sum : i18n.t('dashboard.titles.notEnter')}
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
{user.statusOnline && user.statusOnline.status === "online" ? (
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
|
||||
|
||||
import ptBrLocale from "date-fns/locale/pt-BR";
|
||||
|
||||
import esLocale from 'date-fns/locale/es';
|
||||
|
||||
function formatDateDatePicker(data){
|
||||
return String(new Date(data).getFullYear())+'-'+
|
||||
|
@ -50,7 +50,7 @@ function ResponsiveDatePickers(props) {
|
|||
return (
|
||||
|
||||
<Fragment>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBrLocale}>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}>
|
||||
<KeyboardDatePicker
|
||||
// autoOk
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ import {
|
|||
|
||||
|
||||
import ptBrLocale from "date-fns/locale/pt-BR";
|
||||
|
||||
import esLocale from 'date-fns/locale/es';
|
||||
|
||||
function formatDate(strDate){
|
||||
const date = strDate.split(' ')[0].split('/')
|
||||
|
@ -70,7 +70,7 @@ const ResponsiveTimePickers = (props) => {
|
|||
|
||||
<Fragment>
|
||||
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBrLocale}>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}>
|
||||
<TimePicker
|
||||
variant="outline"
|
||||
label={props.title}
|
||||
|
|
|
@ -5,7 +5,6 @@ import { Formik, Form, Field } from "formik"
|
|||
import { toast } from "react-toastify"
|
||||
import openSocket from 'socket.io-client'
|
||||
|
||||
|
||||
import {
|
||||
makeStyles,
|
||||
Button,
|
||||
|
@ -191,7 +190,7 @@ const PositionModal = ({
|
|||
<div className={classes.textQuickAnswerContainer}>
|
||||
<Field
|
||||
as={TextField}
|
||||
label={'Nome'}
|
||||
label={i18n.t('dashboard.titles.name')}
|
||||
name="name"
|
||||
autoFocus
|
||||
error={touched.name && Boolean(errors.name)}
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
|
||||
|
||||
import ptBrLocale from "date-fns/locale/pt-BR";
|
||||
|
||||
import esLocale from 'date-fns/locale/es';
|
||||
|
||||
function formatDateDatePicker(data){
|
||||
return String(new Date(data).getFullYear())+'-'+
|
||||
|
@ -52,7 +52,7 @@ function ResponsiveDatePickers(props) {
|
|||
return (
|
||||
|
||||
<Fragment>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBrLocale}>
|
||||
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}>
|
||||
<KeyboardDatePicker
|
||||
// autoOk
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ const Modal = (props) => {
|
|||
|
||||
const dataChat = props.data.map((dt) => {
|
||||
return {
|
||||
'fromMe': dt.fromMe ? 'Atendente' : 'Cliente',
|
||||
'fromMe': dt.fromMe ? i18n.t('dashboard.titles.attendant') : 'Cliente',
|
||||
'body': dt.body,
|
||||
'createdAt': dt.createdAt
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import InputLabel from '@mui/material/InputLabel';
|
|||
import MenuItem from '@mui/material/MenuItem';
|
||||
import Select from '@mui/material/Select';
|
||||
|
||||
import { i18n } from "../../translate/i18n";
|
||||
|
||||
|
||||
|
||||
|
@ -56,11 +57,11 @@ useEffect(()=>{
|
|||
open={open}
|
||||
onClose={handleClose}
|
||||
>
|
||||
<DialogTitle>Relatórios</DialogTitle>
|
||||
<DialogTitle>{i18n.t('dashboard.titles.dialogTitle')}</DialogTitle>
|
||||
|
||||
<DialogContent>
|
||||
<DialogContentText>
|
||||
Escolha uma opção de relatório abaixo
|
||||
{i18n.t('dashboard.titles.dialogContentText')}
|
||||
</DialogContentText>
|
||||
|
||||
<Box
|
||||
|
|
|
@ -262,7 +262,7 @@ const UserModal = ({ open, onClose, userId, }) => {
|
|||
/>
|
||||
<div className={classes.multFieldLine}>
|
||||
<label style={{display: 'flex', alignItems:'center'}}>
|
||||
Transferir para outras filas
|
||||
{i18n.t('dashboard.titles.transfer')}
|
||||
<Switch
|
||||
name= 'transferToOtherQueues'
|
||||
checked={checked}
|
||||
|
|
|
@ -189,7 +189,7 @@ const MainListItems = (props) => {
|
|||
/>
|
||||
<ListItemLink
|
||||
to="/report"
|
||||
primary="Relatório"
|
||||
primary={i18n.t("mainDrawer.listItems.reports")}
|
||||
icon={<ReportOutlinedIcon />}
|
||||
/>
|
||||
</>
|
||||
|
@ -242,7 +242,7 @@ const MainListItems = (props) => {
|
|||
(getSettingValue('hasCampaign') === 'enabled' || user.profile === 'master') && (
|
||||
<ListItemLink
|
||||
to="/campaign"
|
||||
primary="Campanha"
|
||||
primary={i18n.t("mainDrawer.listItems.campaign") || 'Campaign'}
|
||||
icon={<CampaignIcon />}
|
||||
/>
|
||||
)
|
||||
|
|
|
@ -5,6 +5,8 @@ import { PieChart as RechartsPieChart, Pie, Cell, ResponsiveContainer, Tooltip }
|
|||
|
||||
import Title from './Title';
|
||||
|
||||
import { i18n } from "../../translate/i18n";
|
||||
|
||||
const generateDataExample = (amount) => {
|
||||
const arr = []
|
||||
for (let i = 1; i <= amount; i++) {
|
||||
|
@ -76,7 +78,7 @@ const PieChart = ({ data = dataExample }) => {
|
|||
>
|
||||
<Box width="100%" height="100%" position="sticky" top="0" zIndex={1000}>
|
||||
<Box sx={{ position: "absolute" }}>
|
||||
<Title>Tickets encerramento</Title>
|
||||
<Title>{i18n.t('dashboard.titles.title')}</Title>
|
||||
</Box>
|
||||
<ResponsiveContainer width="100%" height="100%">
|
||||
<RechartsPieChart width={400} height={400}>
|
||||
|
|
|
@ -14,7 +14,7 @@ import Info from "@material-ui/icons/Info"
|
|||
import SelectField from "../../components/Report/SelectField"
|
||||
|
||||
import { AuthContext } from "../../context/Auth/AuthContext"
|
||||
// import { i18n } from "../../translate/i18n";
|
||||
import { i18n } from "../../translate/i18n";
|
||||
import Chart from "./Chart"
|
||||
import PieChart from "./PieChart"
|
||||
import openSocket from "socket.io-client"
|
||||
|
@ -472,7 +472,7 @@ const Dashboard = () => {
|
|||
func={handleSelectedQueue}
|
||||
textBoxFieldSelected={'All'}
|
||||
emptyField={false}
|
||||
header={'Filas'}
|
||||
header={i18n.t('dashboard.titles.selectQueues')}
|
||||
currencies={user.queues.map((obj) => {
|
||||
return { 'value': obj.id, 'label': obj.name }
|
||||
})} />
|
||||
|
@ -485,7 +485,7 @@ const Dashboard = () => {
|
|||
variant="outlined"
|
||||
>
|
||||
<Typography component="h3" variant="h6" color="primary" paragraph>
|
||||
Aguardando
|
||||
{i18n.t('dashboard.titles.waiting')}
|
||||
</Typography>
|
||||
<Grid item>
|
||||
<Typography component="h1" variant="h4">
|
||||
|
@ -501,7 +501,7 @@ const Dashboard = () => {
|
|||
variant="outlined"
|
||||
>
|
||||
<Typography component="h3" variant="h6" color="primary" style={{ marginBottom: "0" }} paragraph>
|
||||
Em Atendimento
|
||||
{i18n.t('dashboard.titles.inService')}
|
||||
</Typography>
|
||||
<Typography paragraph style={{ fontSize: "12px", margin: "0px" }}>Hoje/Todo Periodo</Typography>
|
||||
|
||||
|
@ -520,7 +520,7 @@ const Dashboard = () => {
|
|||
variant="outlined"
|
||||
>
|
||||
<Typography component="h3" variant="h6" color="primary" paragraph>
|
||||
Fechados
|
||||
{i18n.t('dashboard.titles.ticketsClosed')}
|
||||
</Typography>
|
||||
<Grid item>
|
||||
<Typography component="h1" variant="h4">
|
||||
|
@ -551,7 +551,7 @@ const Dashboard = () => {
|
|||
color="primary"
|
||||
style={{ marginBottom: "16px" }}
|
||||
>
|
||||
Usuários
|
||||
{i18n.t('dashboard.titles.users')}
|
||||
<Tooltip
|
||||
title={`Os dados informados abaixo é baseado na data: ${new Date().toLocaleDateString(
|
||||
"pt-BR",
|
||||
|
|
|
@ -25,16 +25,16 @@ import Switch from '@mui/material/Switch'
|
|||
const label = { inputProps: { 'aria-label': 'Size switch demo' } }
|
||||
|
||||
const report = [
|
||||
{ 'value': '1', 'label': 'Atendimento por atendentes' },
|
||||
{ 'value': '2', 'label': 'Usuários online/offline' },
|
||||
{ 'value': '3', 'label': 'Relatorio de atendimento por numeros' },
|
||||
{ 'value': '4', 'label': 'Relatorio de atendimento por filas' },
|
||||
{ 'value': '1', 'label': `${i18n.t("reports.listTitles.title1_1")}` },
|
||||
{ 'value': '2', 'label': `${i18n.t("reports.listTitles.title3_1")}` },
|
||||
{ 'value': '3', 'label': `${i18n.t("reports.listTitles.title4_1")}` },
|
||||
{ 'value': '4', 'label': `${i18n.t("reports.listTitles.title5_1")}` },
|
||||
]
|
||||
|
||||
const reportOptType = [
|
||||
{ 'value': '1', 'label': 'Padrão' },
|
||||
{ 'value': '2', 'label': 'Sintético' },
|
||||
{ 'value': '3', 'label': 'Analítico' }
|
||||
{ 'value': '1', 'label': i18n.t('reportOptType.listTitles.title1') },
|
||||
{ 'value': '2', 'label': i18n.t('reportOptType.listTitles.title2') },
|
||||
{ 'value': '3', 'label': i18n.t('reportOptType.listTitles.title3') }
|
||||
]
|
||||
|
||||
|
||||
|
@ -838,11 +838,11 @@ const Report = () => {
|
|||
<Box sx={{ display: 'flex', flexDirection: 'column', padding: '10px 0', }}>
|
||||
<FormControlLabel
|
||||
control={<Checkbox checked={selectedValue === 'created'} onChange={() => handleCheckBoxChange('created')} />}
|
||||
label="Criado"
|
||||
label="Creado"
|
||||
/>
|
||||
<FormControlLabel
|
||||
control={<Checkbox checked={selectedValue === 'updated'} onChange={() => handleCheckBoxChange('updated')} />}
|
||||
label="Atualizado"
|
||||
label="Actualizado"
|
||||
/>
|
||||
</Box> :
|
||||
|
||||
|
@ -896,7 +896,7 @@ const Report = () => {
|
|||
localization={{
|
||||
|
||||
header: {
|
||||
actions: 'Deslogar'
|
||||
actions: 'Unidad'
|
||||
},
|
||||
|
||||
}}
|
||||
|
@ -906,7 +906,7 @@ const Report = () => {
|
|||
[
|
||||
|
||||
// { title: 'Foto', field: 'ticket.contact.profilePicUrl', render: rowData => <img src={rowData['ticket.contact.profilePicUrl']} alt="imagem de perfil do whatsapp" style={{ width: 40, borderRadius: '50%' }} /> },
|
||||
{ title: 'Nome', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: 'Nombre', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
|
||||
{
|
||||
title: 'Status', field: 'statusOnline.status',
|
||||
|
@ -935,11 +935,11 @@ const Report = () => {
|
|||
|
||||
},
|
||||
|
||||
{ title: 'Tempo online', field: 'sumOnlineTime.sum' },
|
||||
{ title: `${i18n.t('reports.onlineTime')}`, field: 'sumOnlineTime.sum' },
|
||||
{ title: `${i18n.t("reports.dateStart")}`, field: 'startDate' },
|
||||
{ title: `${i18n.t("reports.dateEnd")}`, field: 'endDate' },
|
||||
{ title: 'Em atendimento', field: 'sumOpen.count' },
|
||||
{ title: 'Finalizado', field: 'sumClosed.count' },
|
||||
{ title: `${i18n.t('reports.inService')}`, field: 'sumOpen.count' },
|
||||
{ title: `${i18n.t('reports.finished')}`, field: 'sumClosed.count' },
|
||||
|
||||
]
|
||||
}
|
||||
|
@ -1001,20 +1001,20 @@ const Report = () => {
|
|||
title={i18n.t("reports.listTitles.title4_1")}
|
||||
columns={
|
||||
!checkedRemote ? [
|
||||
{ title: 'Unidade', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: 'Conversas iniciadas', field: 'startedByAgent', },
|
||||
{ title: 'Conversas recebidas', field: 'startedByClient' },
|
||||
{ title: `Conversas finalizadas`, field: 'closedChat' },
|
||||
{ title: `Tempo médio de espera`, field: 'avgChatWaitingTime' },
|
||||
{ title: 'Aguardando', field: 'pendingChat' }
|
||||
{ title: i18n.t('reports.listColumns.column3_1'), field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: i18n.t('reports.listColumns.column3_3'), field: 'startedByAgent', },
|
||||
{ title: i18n.t('reports.listColumns.column3_4'), field: 'startedByClient' },
|
||||
{ title: i18n.t('reports.listColumns.column3_5'), field: 'closedChat' },
|
||||
{ title: i18n.t('reports.listColumns.column3_6'), field: 'avgChatWaitingTime' },
|
||||
{ title: i18n.t('reports.listColumns.column3_7'), field: 'pendingChat' }
|
||||
|
||||
] :
|
||||
[
|
||||
{ title: 'Unidade', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: 'Conversas iniciadas', field: 'startedByAgent', },
|
||||
{ title: 'Conversas respondidas', field: 'startedByClient' },
|
||||
{ title: `Conversas finalizadas`, field: 'closedChat' },
|
||||
{ title: 'Aguardando', field: 'pendingChat' }
|
||||
{ title: i18n.t('reports.listColumns.column3_1'), field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: i18n.t('reports.listColumns.column3_3'), field: 'startedByAgent', },
|
||||
{ title: i18n.t('reports.listColumns.column3_4'), field: 'startedByClient' },
|
||||
{ title: i18n.t('reports.listColumns.column3_5'), field: 'closedChat' },
|
||||
{ title: i18n.t('reports.listColumns.column3_7'), field: 'pendingChat' }
|
||||
|
||||
]
|
||||
}
|
||||
|
@ -1054,9 +1054,9 @@ const Report = () => {
|
|||
columns={
|
||||
!checkedRemote ? [
|
||||
|
||||
{ title: 'Unidade', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: i18n.t('reports.listColumns.column3_1'), field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{
|
||||
title: 'Fila', field: 'queueName',
|
||||
title: i18n.t('reports.listColumns.column3_2'), field: 'queueName',
|
||||
cellStyle: (evt, rowData) => {
|
||||
return {
|
||||
whiteSpace: 'nowrap',
|
||||
|
@ -1066,19 +1066,19 @@ const Report = () => {
|
|||
}
|
||||
|
||||
},
|
||||
{ title: 'Conversas iniciadas', field: 'startedByAgent', },
|
||||
{ title: 'Conversas recebidas', field: 'startedByClient' },
|
||||
{ title: `Conversas finalizadas`, field: 'closedChat' },
|
||||
{ title: `Tempo médio de espera`, field: 'avgChatWaitingTime' },
|
||||
{ title: 'Aguardando', field: 'pendingChat' }
|
||||
{ title: i18n.t('reports.listColumns.column3_3'), field: 'startedByAgent', },
|
||||
{ title: i18n.t('reports.listColumns.column3_4'), field: 'startedByClient' },
|
||||
{ title: i18n.t('reports.listColumns.column3_5'), field: 'closedChat' },
|
||||
{ title: i18n.t('reports.listColumns.column3_6'), field: 'avgChatWaitingTime' },
|
||||
{ title: i18n.t('reports.listColumns.column3_7'), field: 'pendingChat' }
|
||||
|
||||
] :
|
||||
|
||||
[
|
||||
|
||||
{ title: 'Unidade', field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{ title: i18n.t('reports.listColumns.column3_1'), field: 'name', cellStyle: { whiteSpace: 'nowrap' }, },
|
||||
{
|
||||
title: 'Fila', field: 'queueName',
|
||||
title: i18n.t('reports.listColumns.column3_2'), field: 'queueName',
|
||||
cellStyle: (evt, rowData) => {
|
||||
return {
|
||||
whiteSpace: 'nowrap',
|
||||
|
@ -1088,10 +1088,10 @@ const Report = () => {
|
|||
}
|
||||
|
||||
},
|
||||
{ title: 'Conversas iniciadas', field: 'startedByAgent', },
|
||||
{ title: 'Conversas respondidas', field: 'startedByClient' },
|
||||
{ title: `Conversas finalizadas`, field: 'closedChat' },
|
||||
{ title: 'Aguardando', field: 'pendingChat' }
|
||||
{ title: i18n.t('reports.listColumns.column3_3'), field: 'startedByAgent', },
|
||||
{ title: i18n.t('reports.listColumns.column3_4'), field: 'startedByClient' },
|
||||
{ title: i18n.t('reports.listColumns.column3_5'), field: 'closedChat' },
|
||||
{ title: i18n.t('reports.listColumns.column3_7'), field: 'pendingChat' }
|
||||
|
||||
]
|
||||
}
|
||||
|
|
|
@ -217,7 +217,7 @@ const StatusChatEnd = () => {
|
|||
<ConfirmationModal
|
||||
title={
|
||||
deletingStatusChatEnds &&
|
||||
`Você tem certeza que quer excluir esta Status de encerramento: ${deletingStatusChatEnds.name
|
||||
`${i18n.t('dashboard.titles.confirmationModal')} ${deletingStatusChatEnds.name
|
||||
}?`
|
||||
}
|
||||
open={confirmModalOpen}
|
||||
|
@ -233,7 +233,7 @@ const StatusChatEnd = () => {
|
|||
statusChatEndId={selectedStatusChatEnd && selectedStatusChatEnd.id}
|
||||
></StatusChatEndModal>
|
||||
<MainHeader>
|
||||
<Title>{"Status de encerramento"}</Title>
|
||||
<Title>{i18n.t('dashboard.titles.status')}</Title>
|
||||
<MainHeaderButtonsWrapper>
|
||||
<TextField
|
||||
placeholder={i18n.t("quickAnswers.searchPlaceholder")}
|
||||
|
@ -266,13 +266,13 @@ const StatusChatEnd = () => {
|
|||
<TableHead>
|
||||
<TableRow>
|
||||
<TableCell align="center">
|
||||
{"Status de encerramento"}
|
||||
{i18n.t('dashboard.titles.status')}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{"Mensagem de despedida"}
|
||||
{i18n.t('quickAnswers.table.farewellMessage')}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{"Padrão"}
|
||||
{i18n.t('quickAnswers.table.standard')}
|
||||
</TableCell>
|
||||
<TableCell align="center">
|
||||
{i18n.t("quickAnswers.table.actions")}
|
||||
|
|
|
@ -59,6 +59,45 @@ const messages = {
|
|||
column3: 'Closed by Queue',
|
||||
column4: 'Online time',
|
||||
column5: 'Actions',
|
||||
},
|
||||
titles: {
|
||||
selectQueues: 'Queues',
|
||||
waiting: 'In Waiting',
|
||||
inService: 'In Service',
|
||||
users: 'Users',
|
||||
name: 'Name',
|
||||
attendant: 'Attendant',
|
||||
dialogContentText: 'Choose a reporting option below.',
|
||||
transfer: 'Transfer to other queues',
|
||||
title: 'Closing tickets',
|
||||
confirmationModal: 'Are you sure you want to remove this closing state: ',
|
||||
status: 'Closing status',
|
||||
listUser: 'List user',
|
||||
user: 'user',
|
||||
notEnter: 'Did not enter',
|
||||
notEnterToday: 'Did not enter today',
|
||||
ticketsClosed: 'Closed'
|
||||
}
|
||||
},
|
||||
reportOptType: {
|
||||
listTitles: {
|
||||
title1: 'Standard',
|
||||
title2: 'Synthetic',
|
||||
title3: 'Analytical'
|
||||
}
|
||||
},
|
||||
configModal: {
|
||||
titles: {
|
||||
startService: 'Start Service',
|
||||
endService: 'End Service',
|
||||
enableDisable: 'Enable/Disable',
|
||||
outOfHours: 'Message outside opening hours',
|
||||
outOfHoursSaturday: 'Message outside opening hours Saturday',
|
||||
forTheWeekend: 'Weekend message',
|
||||
holiday: 'Holiday date',
|
||||
holidayMessage: 'Message for holidays',
|
||||
inactivityMessage: 'Message due to lack of service activity',
|
||||
save: 'Save'
|
||||
}
|
||||
},
|
||||
connections: {
|
||||
|
@ -295,7 +334,8 @@ const messages = {
|
|||
administration: "Administration",
|
||||
users: "Users",
|
||||
settings: "Settings",
|
||||
schedules: "Schedules"
|
||||
schedules: "Schedules",
|
||||
reports: "Reports"
|
||||
},
|
||||
appBar: {
|
||||
user: {
|
||||
|
@ -309,7 +349,9 @@ const messages = {
|
|||
title0_1: "Reminders/Schedulings",
|
||||
title1_1: "Calls by attendants",
|
||||
title2_1: "Whatsapp chat",
|
||||
title3_1: "Users online/offline"
|
||||
title3_1: "Users online/offline",
|
||||
title4_1: "Attendance report by numbers",
|
||||
title5_1: "Queue service report"
|
||||
},
|
||||
listColumns: {
|
||||
column0_1: 'Actions',
|
||||
|
@ -330,13 +372,22 @@ const messages = {
|
|||
column1_9: 'Closing status',
|
||||
|
||||
column2_1: 'Attendant/Client',
|
||||
|
||||
column3_1: 'Unit',
|
||||
column3_2: 'Row',
|
||||
column3_3: 'Conversations started',
|
||||
column3_4: 'Incoming conversations',
|
||||
column3_5: 'Finished conversations',
|
||||
column3_6: 'Average waiting time',
|
||||
column3_7: 'Waiting',
|
||||
},
|
||||
search: 'Number/Name...',
|
||||
dateStart: 'Start date',
|
||||
dateEnd: 'End date',
|
||||
user: 'User'
|
||||
|
||||
|
||||
user: 'User',
|
||||
onlineTime: 'Online time',
|
||||
inService: 'In service',
|
||||
finished: 'Finished'
|
||||
},
|
||||
notifications: {
|
||||
noTickets: "No notifications.",
|
||||
|
@ -367,6 +418,8 @@ const messages = {
|
|||
shortcut: "Shortcut",
|
||||
message: "Quick Reply",
|
||||
actions: "Actions",
|
||||
farewellMessage: "Farewell message",
|
||||
standard: "Standard"
|
||||
},
|
||||
buttons: {
|
||||
add: "Add Quick Reply",
|
||||
|
|
|
@ -61,6 +61,46 @@ const messages = {
|
|||
column3: 'Cerrado por cola',
|
||||
column4: 'Tiempo Online',
|
||||
column5: 'Actions',
|
||||
},
|
||||
titles: {
|
||||
selectQueues: 'Colas',
|
||||
waiting: 'En espera',
|
||||
inService: 'En Atendimiento',
|
||||
users: 'Usuarios',
|
||||
name: 'Nombre',
|
||||
attendant: 'Agente',
|
||||
dialogTitle: 'Reportes',
|
||||
dialogContentText: 'Escoja una opción de reporte abajo.',
|
||||
transfer: 'Transferir para otras Colas',
|
||||
title: 'Cierre de Tickets',
|
||||
confirmationModal: 'Está seguro de que desea eliminar este estado de cierre: ',
|
||||
status: 'Status de cierre',
|
||||
listUser: 'Lista de Usuarios',
|
||||
user: 'Usuario',
|
||||
notEnter: 'No ingresó',
|
||||
notEnterToday: 'No ingresó hoy',
|
||||
ticketsClosed: 'Cerrados'
|
||||
}
|
||||
},
|
||||
reportOptType: {
|
||||
listTitles: {
|
||||
title1: 'Patrón',
|
||||
title2: 'Sintético',
|
||||
title3: 'Analítico'
|
||||
}
|
||||
},
|
||||
configModal: {
|
||||
titles: {
|
||||
startService: 'Inicio atención',
|
||||
endService: 'Fin atención',
|
||||
enableDisable: 'Activar/Desactivar',
|
||||
outOfHours: 'Mensaje fuera de horario de atención',
|
||||
outOfHoursSaturday: 'Mensaje fuera del horario de atención sábado',
|
||||
forTheWeekend: 'Mensaje fin de semana',
|
||||
holiday: 'Día Festivo',
|
||||
holidayMessage: 'Mensaje para Festivos',
|
||||
inactivityMessage: 'Mensaje por falta de actividad',
|
||||
save: 'Guardar'
|
||||
}
|
||||
},
|
||||
connections: {
|
||||
|
@ -237,7 +277,7 @@ const messages = {
|
|||
},
|
||||
},
|
||||
ticketsQueueSelect: {
|
||||
placeholder: "Linhas",
|
||||
placeholder: "Líneas",
|
||||
},
|
||||
tickets: {
|
||||
toasts: {
|
||||
|
@ -296,11 +336,13 @@ const messages = {
|
|||
tickets: "Tickets",
|
||||
contacts: "Contactos",
|
||||
quickAnswers: "Respuestas rápidas",
|
||||
queues: "Linhas",
|
||||
queues: "Líneas",
|
||||
administration: "Administración",
|
||||
users: "Usuarios",
|
||||
settings: "Configuración",
|
||||
schedules: "Recordatorio"
|
||||
schedules: "Recordatorio",
|
||||
reports: "Reportes",
|
||||
campain: "Campañas"
|
||||
},
|
||||
appBar: {
|
||||
user: {
|
||||
|
@ -312,9 +354,11 @@ const messages = {
|
|||
reports: {
|
||||
listTitles: {
|
||||
title0_1: "Recordatorios/Programación",
|
||||
title1_1: "Llamadas de asistentes",
|
||||
title1_1: "Atención por agentes",
|
||||
title2_1: "Chat de whatsapp",
|
||||
title3_1: "Usuarios online/offline"
|
||||
title3_1: "Usuarios online/offline",
|
||||
title4_1: "Reporte de atención por números",
|
||||
title5_1: "Reporte de atención por colas"
|
||||
},
|
||||
listColumns: {
|
||||
column0_1: 'Acción',
|
||||
|
@ -335,18 +379,28 @@ const messages = {
|
|||
column1_9: 'Estado de cierre',
|
||||
|
||||
column2_1: 'Secretario/Cliente',
|
||||
|
||||
column3_1: 'Unidad',
|
||||
column3_2: 'Cola',
|
||||
column3_3: 'Chats iniciados',
|
||||
column3_4: 'Chats Recibidos',
|
||||
column3_5: 'Chats Finalizados',
|
||||
column3_6: 'Tiempo medio de espera',
|
||||
column3_7: 'En Espera',
|
||||
},
|
||||
search: 'Número/Nombre...',
|
||||
dateStart: 'Fecha de inicio',
|
||||
dateEnd: 'Fecha final',
|
||||
user: 'Usuario'
|
||||
|
||||
user: 'Usuario',
|
||||
onlineTime: 'Tiempo online',
|
||||
inService: 'En servicio',
|
||||
finished: 'Finalizado'
|
||||
},
|
||||
notifications: {
|
||||
noTickets: "Sin notificaciones.",
|
||||
},
|
||||
queues: {
|
||||
title: "Linhas",
|
||||
title: "Líneas",
|
||||
table: {
|
||||
name: "Nombre",
|
||||
color: "Color",
|
||||
|
@ -363,7 +417,7 @@ const messages = {
|
|||
},
|
||||
},
|
||||
queueSelect: {
|
||||
inputLabel: "Linhas",
|
||||
inputLabel: "Líneas",
|
||||
},
|
||||
quickAnswers: {
|
||||
title: "Respuestas rápidas",
|
||||
|
@ -371,6 +425,8 @@ const messages = {
|
|||
shortcut: "Atajo",
|
||||
message: "Respuesta rápida",
|
||||
actions: "Acciones",
|
||||
farewellMessage: "Mensaje de despedida",
|
||||
standard: "Patrón"
|
||||
},
|
||||
buttons: {
|
||||
add: "Agregar respuesta rápida",
|
||||
|
|
|
@ -59,6 +59,46 @@ const messages = {
|
|||
column3: 'Fechados Por Fila',
|
||||
column4: 'Tempo Online',
|
||||
column5: 'Ações',
|
||||
},
|
||||
titles: {
|
||||
selectQueues: 'Filas',
|
||||
waiting: 'Em espera',
|
||||
inService: 'Em Atendimento',
|
||||
users: 'Usuários',
|
||||
name: 'Nome',
|
||||
attendant: 'Atendente',
|
||||
dialogTitle: 'Relatórios',
|
||||
dialogContentText: 'Escolha uma opção de relatório abaixo.',
|
||||
transfer: 'Transferir para outras filas',
|
||||
title: 'Tickets encerramento',
|
||||
confirmationModal: 'Você tem certeza que quer excluir esta Status de encerramento: ' ,
|
||||
status: 'Status de encerramento',
|
||||
listUser: 'Lista de Usuarios',
|
||||
user: 'Usuario',
|
||||
notEnter: 'Não entrou',
|
||||
notEnterToday: 'Não entrou hoje',
|
||||
ticketsClosed: 'Fechados'
|
||||
}
|
||||
},
|
||||
reportOptType: {
|
||||
listTitles: {
|
||||
title1: 'Padrão',
|
||||
title2: 'Sintético',
|
||||
title3: 'Analítico'
|
||||
}
|
||||
},
|
||||
configModal: {
|
||||
titles: {
|
||||
startService: 'Início atendimento',
|
||||
endService: 'Fim atendimento',
|
||||
enableDisable: 'Ativar/Desativar',
|
||||
outOfHours: 'Mensagem fora do horário de atendimento',
|
||||
outOfHoursSaturday: 'Mensagem fora do horário de atendimento sábado',
|
||||
forTheWeekend: 'Mensagem fim de semana',
|
||||
holiday: 'Data do feriado',
|
||||
holidayMessage: 'Mensagem para feriados',
|
||||
inactivityMessage: 'Mensagem por falta de atividade no atendimento',
|
||||
save: 'Salvar'
|
||||
}
|
||||
},
|
||||
connections: {
|
||||
|
@ -299,7 +339,9 @@ const messages = {
|
|||
administration: "Administração",
|
||||
users: "Usuários",
|
||||
settings: "Configurações",
|
||||
schedules: "Lembretes"
|
||||
schedules: "Lembretes",
|
||||
reports: "Relatórios",
|
||||
campaign: "Campanha"
|
||||
},
|
||||
appBar: {
|
||||
user: {
|
||||
|
@ -337,13 +379,21 @@ const messages = {
|
|||
|
||||
column2_1: 'Atendente/Cliente',
|
||||
|
||||
column3_1: 'Unidade',
|
||||
column3_2: 'Fila',
|
||||
column3_3: 'Conversas iniciadas',
|
||||
column3_4: 'Conversas recebidas',
|
||||
column3_5: 'Conversas finalizadas',
|
||||
column3_6: 'Tempo médio de espera',
|
||||
column3_7: 'Aguardando',
|
||||
},
|
||||
search: 'Numer/Nome...',
|
||||
dateStart: 'Data início',
|
||||
dateEnd: 'Data fim',
|
||||
user: 'Usuário'
|
||||
|
||||
|
||||
user: 'Usuário',
|
||||
onlineTime: 'Tempo online',
|
||||
inService: 'Em atendimento',
|
||||
finished: 'Finalizado'
|
||||
},
|
||||
notifications: {
|
||||
noTickets: "Nenhuma notificação.",
|
||||
|
@ -374,6 +424,8 @@ const messages = {
|
|||
shortcut: "Atalho",
|
||||
message: "Resposta Rápida",
|
||||
actions: "Ações",
|
||||
farewellMessage: "Mensagem de despedida",
|
||||
standard: "Padrão"
|
||||
},
|
||||
buttons: {
|
||||
add: "Adicionar Resposta Rápida",
|
||||
|
|
Loading…
Reference in New Issue