Atualizações de integração e opções de configuração

This commit is contained in:
Gabriel Pastori 2024-03-20 18:31:44 -03:00
parent d4b344d2c1
commit a34aeea649
5 changed files with 95 additions and 53 deletions

View File

@ -85,18 +85,18 @@
]"
/>
</div>
<div class="flex-grow-1">
<v-text-field
v-model.number="chatwootData.days_limit_import_messages"
:label="$t('chatwoot.dayslimitimportmessages')"
:disabled="loading"
outlined
dense
hide-details="auto"
class="mb-3"
/>
</div>
<div class="flex-grow-1">
<v-text-field
v-model.number="chatwootData.days_limit_import_messages"
:label="$t('chatwoot.dayslimitimportmessages')"
:disabled="loading"
outlined
dense
hide-details="auto"
class="mb-3"
/>
</div>
</div>
<div class="d-flex align-center gap-4 flex-wrap">
<v-checkbox
class="flex-grow-0 flex-shrink-0"
@ -113,7 +113,11 @@
<v-text-field
class="flex-grow-1 flex-shrink-0"
v-model="chatwootData.sign_delimiter"
:disabled="loading || !chatwootData.sign_msg || !AppStore.versionSatisfies('>=1.6.1')"
:disabled="
loading ||
!chatwootData.sign_msg ||
!AppStore.versionSatisfies('>=1.6.1')
"
:label="$t('chatwoot.signDelimiter')"
:hint="
!AppStore.versionSatisfies('>=1.6.0')
@ -164,10 +168,16 @@
<div>
<v-checkbox
v-model="chatwootData.import_contacts"
:disabled="loading"
hide-details
hide-details="auto"
class="mb-3"
density="compact"
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
:hint="
!AppStore.versionSatisfies('>=1.7.0')
? $t('version.availableFrom', { version: '1.7.0' })
: undefined
"
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
>
<template v-slot:label>
<span>{{ $t("chatwoot.importcontacts") }}</span>
@ -181,10 +191,16 @@
<div>
<v-checkbox
v-model="chatwootData.import_messages"
:disabled="loading"
hide-details
hide-details="auto"
class="mb-3"
density="compact"
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
:hint="
!AppStore.versionSatisfies('>=1.7.0')
? $t('version.availableFrom', { version: '1.7.0' })
: undefined
"
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
>
<template v-slot:label>
<span>{{ $t("chatwoot.importmessages") }}</span>
@ -227,7 +243,7 @@
hide-details
></v-switch>
<v-btn variant="text" @click="chatwootConfig" size="small">
{{ $t("chatwoot.config.btn") }}
{{ $t("chatwoot.config.btn") }}
</v-btn>
<v-spacer></v-spacer>
<v-btn

View File

@ -84,10 +84,16 @@
<v-checkbox
class="flex-grow-0"
v-model="optionsData.sync_full_history"
:disabled="loading"
:label="$t('options.syncfullhistory')"
hide-details
hide-details="auto"
density="compact"
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
:hint="
!AppStore.versionSatisfies('>=1.7.0')
? $t('version.availableFrom', { version: '1.7.0' })
: undefined
"
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
></v-checkbox>
</div>
</v-form>
@ -112,6 +118,7 @@
<script>
import instanceController from "@/services/instanceController";
import { useAppStore } from "@/store/app";
const defaultOptions = () => ({
reject_call: false,
@ -132,6 +139,7 @@ export default {
},
},
data: () => ({
AppStore: useAppStore(),
expanded: false,
loading: false,
error: false,

View File

@ -20,7 +20,8 @@
<v-dialog v-model="dialog" max-width="350px" :persistent="loading">
<v-card :loading="loading && qrCode">
<v-card-text class="pt-6">
<v-btn-toggle v-model="connectType" class="d-flex mb-4" color="primary">
<!-- Not finished -->
<!-- <v-btn-toggle v-model="connectType" class="d-flex mb-4" color="primary">
<v-btn text value="qr" class="flex-grow-1">
<v-icon start>mdi-qrcode-scan</v-icon>
{{ $t("connectPhone.qr") }}
@ -29,7 +30,7 @@
<v-icon start>mdi-key</v-icon>
{{ $t("connectPhone.code") }}
</v-btn>
</v-btn-toggle>
</v-btn-toggle> -->
<template v-if="connectType == 'qr'">
<v-img v-if="qrCode" :src="qrCode" width="300px" height="300px" />
<v-card

View File

@ -18,8 +18,9 @@
]"
/>
<v-select
v-if="AppStore.versionSatisfies('>=1.7.0')"
v-model="instance.integration"
:items="['WHATSAPP-BAILEYS', 'WHATSAPP-BUSINESS']"
:items="integrationItens"
:label="$t('createInstance.integration')"
required
outlined
@ -89,6 +90,10 @@ export default {
data: () => ({
dialog: false,
valid: false,
integrationItens: [
{ title: "Cloud API (Meta)", value: "WHATSAPP-BUSINESS" },
{ title: "Baileys", value: "WHATSAPP-BAILEYS" },
],
instance: {
instanceName: "",
token: "",

View File

@ -1,5 +1,5 @@
// src/i18n/pt.js
import { pt } from 'vuetify/locale'
import { pt } from "vuetify/locale";
export default {
$vuetify: { ...pt },
@ -39,19 +39,23 @@ export default {
},
about: {
title: "Sobre",
description: "O Evolution Manager facilita a gestão de suas APIs com uma interface intuitiva. Ele foi criado por desenvolvedores independentes, focando em melhorar a experiência do usuário e a administração das funcionalidades da API.",
description:
"O Evolution Manager facilita a gestão de suas APIs com uma interface intuitiva. Ele foi criado por desenvolvedores independentes, focando em melhorar a experiência do usuário e a administração das funcionalidades da API.",
contribute: "Contribua com o projeto",
dataProcess: {
title: "Processamento de dados",
description: "O processamento e armazenamento de dados ocorre <b>localmente</b> no seu navegador, sem uso de um backend centralizado. Isso reforça a segurança e privacidade, mantendo suas informações confidenciais e protegidas.",
https: "Por conta de todo o processamento ser realizado no navegador, é necessário que o servidor da Evolution API seja acessado através de uma conexão segura (HTTPS)."
description:
"O processamento e armazenamento de dados ocorre <b>localmente</b> no seu navegador, sem uso de um backend centralizado. Isso reforça a segurança e privacidade, mantendo suas informações confidenciais e protegidas.",
https:
"Por conta de todo o processamento ser realizado no navegador, é necessário que o servidor da Evolution API seja acessado através de uma conexão segura (HTTPS).",
},
version: "Versão",
},
createInstance: {
title: "Criar instância",
name: "Nome da instância",
configInfo: "O WebHook, WebSocket, RabbitMQ, Chatwoot e Typebot poderão ser configurados após a criação da instância.",
configInfo:
"O WebHook, WebSocket, RabbitMQ, Chatwoot e Typebot poderão ser configurados após a criação da instância.",
integration: "Integração",
number: "Identificador de número de telefone",
},
@ -72,7 +76,8 @@ export default {
},
connectPhone: {
title: "Telefone não conectado",
apiGenericError: "Não foi possível carregar o QR Code, se o erro persistir, reinicie a API e tente novamente.",
apiGenericError:
"Não foi possível carregar o QR Code, se o erro persistir, reinicie a API e tente novamente.",
qr: "QR Code",
code: "Código",
},
@ -84,14 +89,15 @@ export default {
alwaysOnline: "Sempre online",
readMessages: "Marcar mensagens como lidas",
readStatus: "Marcar status como visto",
syncfullhistory: "Sincronizar el historial completo",
syncfullhistory: "Sinconizar histórico completo",
},
webhook: {
byEvents: "Webhook por eventos",
byEventsHelp: "Adiciona o nome do evento no final da URL (ex: /webhook/event_name )",
byEventsHelp:
"Adiciona o nome do evento no final da URL (ex: /webhook/event_name )",
},
rabbitmq: {
info: "O RabbitMQ é utilizado pela API para o enfileiramento das notificações. Ele NÃO é utilizado para o envio de mensagens."
info: "O RabbitMQ é utilizado pela API para o enfileiramento das notificações. Ele NÃO é utilizado para o envio de mensagens.",
},
chatwoot: {
account_id: "ID da conta",
@ -100,29 +106,33 @@ export default {
signMsg: "Assinar mensagens",
signMsgHelp: "Adiciona o nome do atendente na primeira linha da mensagem",
signDelimiter: "Separador da assinatura da mensagem",
signDelimiterHelp: "Delimitador utilizado para separar a assinatura da mensagem (\\n para quebra de linha)",
signDelimiterHelp:
"Delimitador utilizado para separar a assinatura da mensagem (\\n para quebra de linha)",
reopenConversation: "Reabrir conversa",
reopenConversationHelp: "Reabre a conversa do cliente quando ele inicia uma nova conversa em vez de criar uma nova conversa",
reopenConversationHelp:
"Reabre a conversa do cliente quando ele inicia uma nova conversa em vez de criar uma nova conversa",
conversationPending: "Iniciar conversa como pendente",
conversationPendingHelp: "Inicia a conversa como pendente ao invés de aberta",
conversationPendingHelp:
"Inicia a conversa como pendente ao invés de aberta",
autoCreate: "Criar Caixa de Entrada",
autoCreateHelp: "Cria a caixa de entrada no Chatwoot caso ela não exista",
importcontacts: "Importar contatos",
importcontactsHelp: "Importar contatos para o Chatwoot",
importmessages: "Importar mensagens",
importmessagesHelp: "Importar mensagens do histórico de mensagens para o Chatwoot",
importmessagesHelp:
"Importar mensagens do histórico de mensagens para o Chatwoot",
config: {
btn: "Como configurar o chatwoot?",
title: "Como configurar a caixa de entrada do Chatwoot?",
fullDoc: "Ver documentação completa",
steps: {
"1": "Acesse as configurações > Caixa de Entrada e \"Adicionar Caixa\"",
"2": "Selecione \"API\" como tipo de caixa",
"3": "Preencha nome da caixa e webhook. Os valores devem ser exatamente os seguintes:",
"4": "Adicione os agentes à caixa de entrada.",
"5": "Pronto! Agora você pode receber mensagens.",
}
}
1: 'Acesse as configurações > Caixa de Entrada e "Adicionar Caixa"',
2: 'Selecione "API" como tipo de caixa',
3: "Preencha nome da caixa e webhook. Os valores devem ser exatamente os seguintes:",
4: "Adicione os agentes à caixa de entrada.",
5: "Pronto! Agora você pode receber mensagens.",
},
},
},
typebot: {
typebot: "Nome do fluxo do Typebot",
@ -135,10 +145,12 @@ export default {
delayMessageUnit: "em milisegundos",
delayMessageHelp: "Tempo de simulação de digitação",
unknownMessage: "Mensagem formato desconhecido",
unknownMessageHelp: "Mensagem enviada quando o formato da mensagem não é reconhecido",
unknownMessageHelp:
"Mensagem enviada quando o formato da mensagem não é reconhecido",
unknownMessagePlaceholder: "Deixe em branco para não enviar mensagem",
listeningFromMe: "Ouvir mensagens enviadas por mim",
listeningFromMeHelp: "Envia as mensagens enviadas por você para o fluxo do Typebot",
listeningFromMeHelp:
"Envia as mensagens enviadas por você para o fluxo do Typebot",
session: {
title: "Sessões do Typebot",
btn: "Ver 0 sessões | Ver uma sessão | Ver {count} sessões",
@ -147,13 +159,13 @@ export default {
variables: "Variáveis",
createdAt: "Iniciada em",
updatedAt: "Última mensagem",
}
},
},
status: {
opened: "Aberto",
paused: "Pausado",
closed: "Fechado",
}
},
},
sendMessage: {
title: "Enviar mensagem",
@ -179,16 +191,16 @@ export default {
},
groups: {
title: "Meus grupos",
headers: { creation: "Criado em", }
headers: { creation: "Criado em" },
},
chats: {
title: "Minhas conversas",
headers: { lastMsgTimestamp: "Última mensagem", }
headers: { lastMsgTimestamp: "Última mensagem" },
},
profile: {
title: "Nome e Recado",
name: "Name",
status: "Recado (status)"
status: "Recado (status)",
},
profilePicture: {
title: "Foto de perfil",
@ -210,6 +222,6 @@ export default {
contactBlacklist: "Meus contatos, exceto os da lista negra",
matchLastSeen: "Igual ao visto por último",
none: "Ninguém",
}
}
}
},
},
};