mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-13 07:04:50 -06:00
full translate of settings tab
This commit is contained in:
parent
b75a794ec3
commit
19aff45664
@ -36,9 +36,9 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(url) => {
|
||||
if (!url) return 'URL é obrigatório';
|
||||
if (!url) return this.$t('required', { field: 'URL' });
|
||||
if (!url.startsWith('http'))
|
||||
return 'URL deve começar com http ou https';
|
||||
return this.$t('httpHttps', { field: 'URL' });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -48,7 +48,7 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="chatwootData.account_id"
|
||||
label="ID da conta"
|
||||
:label="$t('chatwoot.account_id')"
|
||||
:disabled="loading"
|
||||
outlined
|
||||
dense
|
||||
@ -56,7 +56,10 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(account_id) => {
|
||||
if (!account_id) return 'ID da conta é obrigatório';
|
||||
if (!account_id)
|
||||
return this.$t('required', {
|
||||
field: this.$t('chatwoot.account_id'),
|
||||
});
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -65,7 +68,7 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="chatwootData.token"
|
||||
label="Token da conta"
|
||||
:label="$t('chatwoot.token')"
|
||||
:disabled="loading"
|
||||
outlined
|
||||
dense
|
||||
@ -73,7 +76,10 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(token) => {
|
||||
if (!token) return 'Token é obrigatório';
|
||||
if (!token)
|
||||
return this.$t('required', {
|
||||
field: this.$t('chatwoot.token'),
|
||||
});
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -90,27 +96,23 @@
|
||||
density="compact"
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>Assinar mensagens</span>
|
||||
<HelpTooltip>
|
||||
Adiciona o nome do atendente na primeira linha da mensagem
|
||||
</HelpTooltip>
|
||||
<span>{{ $t("chatwoot.signMsg") }}</span>
|
||||
<HelpTooltip> {{ $t("chatwoot.signMsgHelp") }} </HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
</div>
|
||||
<div>
|
||||
<v-checkbox
|
||||
v-model="chatwootData.reopen_conversation"
|
||||
label="Reabrir conversa"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
density="compact"
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>Reabrir conversa</span>
|
||||
<span>{{ $t("chatwoot.reopenConversation") }}</span>
|
||||
<HelpTooltip>
|
||||
Reabre a conversa do cliente quando ele inicia uma nova
|
||||
conversa em vez de criar uma nova conversa
|
||||
{{ $t("chatwoot.reopenConversationHelp") }}
|
||||
</HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
@ -119,16 +121,15 @@
|
||||
<div>
|
||||
<v-checkbox
|
||||
v-model="chatwootData.conversation_pending"
|
||||
label="Conversa pendente"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
density="compact"
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>Iniciar conversas como pendente</span>
|
||||
<span>{{ $t("chatwoot.conversationPending") }}</span>
|
||||
<HelpTooltip>
|
||||
Inicia a conversa como pendente ao invés de aberta
|
||||
{{ $t("chatwoot.conversationPendingHelp") }}
|
||||
</HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
@ -137,11 +138,10 @@
|
||||
<div>
|
||||
<v-checkbox
|
||||
v-model="chatwootData.auto_create"
|
||||
label="Conversa pendente"
|
||||
:disabled="loading || !AppStore.versionSatisfies('>=1.6.0')"
|
||||
:hint="
|
||||
!AppStore.versionSatisfies('>=1.6.0')
|
||||
? 'Disponível a partir da versão 1.6.0'
|
||||
? $t('version.availableFrom', { version: '1.6.0' })
|
||||
: undefined
|
||||
"
|
||||
:persistent-hint="!AppStore.versionSatisfies('>=1.6.0')"
|
||||
@ -150,10 +150,8 @@
|
||||
density="compact"
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>Criar Caixa de Entrada</span>
|
||||
<HelpTooltip>
|
||||
Cria automaticamente a caixa de entrada no Chatwoot
|
||||
</HelpTooltip>
|
||||
<span>{{ $t("chatwoot.autoCreate") }}</span>
|
||||
<HelpTooltip>{{ $t("chatwoot.autoCreateHelp") }}</HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
</div>
|
||||
|
@ -1,8 +1,13 @@
|
||||
<template>
|
||||
<v-card variant="outlined" :loading="loading">
|
||||
<v-card-title class="d-flex align-center" @click="toggleExpanded" style="cursor: pointer" v-ripple>
|
||||
<v-card-title
|
||||
class="d-flex align-center"
|
||||
@click="toggleExpanded"
|
||||
style="cursor: pointer"
|
||||
v-ripple
|
||||
>
|
||||
<v-icon start>mdi-cellphone-cog</v-icon>
|
||||
Comportamento
|
||||
{{ $t("options.title") }}
|
||||
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn
|
||||
@ -27,7 +32,7 @@
|
||||
class="flex-grow-0 flex-shrink-0"
|
||||
v-model="optionsData.reject_call"
|
||||
:disabled="loading"
|
||||
label="Rejeitar chamadas"
|
||||
:label="$t('options.rejectCall')"
|
||||
hide-details
|
||||
density="compact"
|
||||
></v-checkbox>
|
||||
@ -35,7 +40,7 @@
|
||||
class="flex-grow-1 flex-shrink-0"
|
||||
v-model="optionsData.msg_call"
|
||||
:disabled="loading || !optionsData.reject_call"
|
||||
label="Mensagem de rejeição"
|
||||
:label="$t('options.msgCall')"
|
||||
hide-details
|
||||
style="min-width: 200px"
|
||||
></v-text-field>
|
||||
@ -45,7 +50,7 @@
|
||||
class="flex-grow-0"
|
||||
v-model="optionsData.groups_ignore"
|
||||
:disabled="loading"
|
||||
label="Ignorar grupos"
|
||||
:label="$t('options.groupsIgnore')"
|
||||
hide-details
|
||||
density="compact"
|
||||
></v-checkbox>
|
||||
@ -54,7 +59,7 @@
|
||||
class="flex-grow-0"
|
||||
v-model="optionsData.always_online"
|
||||
:disabled="loading"
|
||||
label="Sempre online"
|
||||
:label="$t('options.alwaysOnline')"
|
||||
hide-details
|
||||
density="compact"
|
||||
></v-checkbox>
|
||||
@ -63,7 +68,7 @@
|
||||
class="flex-grow-0"
|
||||
v-model="optionsData.read_messages"
|
||||
:disabled="loading"
|
||||
label="Marcar mensagens como lidas"
|
||||
:label="$t('options.readMessages')"
|
||||
hide-details
|
||||
density="compact"
|
||||
></v-checkbox>
|
||||
@ -72,7 +77,7 @@
|
||||
class="flex-grow-0"
|
||||
v-model="optionsData.read_status"
|
||||
:disabled="loading"
|
||||
label="Marcar status como visto"
|
||||
:label="$t('options.readStatus')"
|
||||
hide-details
|
||||
density="compact"
|
||||
></v-checkbox>
|
||||
@ -91,7 +96,7 @@
|
||||
@click="saveOptions"
|
||||
variant="tonal"
|
||||
>
|
||||
Salvar
|
||||
{{ $t("save") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
@ -101,14 +106,13 @@
|
||||
import instanceController from "@/services/instanceController";
|
||||
|
||||
const defaultOptions = () => ({
|
||||
reject_call: false,
|
||||
msg_call: "",
|
||||
groups_ignore: false,
|
||||
always_online: false,
|
||||
read_messages: false,
|
||||
read_status: false,
|
||||
})
|
||||
|
||||
reject_call: false,
|
||||
msg_call: "",
|
||||
groups_ignore: false,
|
||||
always_online: false,
|
||||
read_messages: false,
|
||||
read_status: false,
|
||||
});
|
||||
|
||||
export default {
|
||||
name: "InstanceOptions",
|
||||
@ -154,7 +158,10 @@ export default {
|
||||
this.instance.instance.instanceName,
|
||||
this.optionsData
|
||||
);
|
||||
this.defaultOptionsData = Object.assign(defaultOptions(), this.optionsData);
|
||||
this.defaultOptionsData = Object.assign(
|
||||
defaultOptions(),
|
||||
this.optionsData
|
||||
);
|
||||
} catch (e) {
|
||||
this.error = e.message?.message || e.message || e;
|
||||
} finally {
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<v-card variant="outlined" :loading="loading">
|
||||
<v-card-title class="d-flex align-center" @click="toggleExpanded" style="cursor: pointer" v-ripple>
|
||||
<v-card-title
|
||||
class="d-flex align-center"
|
||||
@click="toggleExpanded"
|
||||
style="cursor: pointer"
|
||||
v-ripple
|
||||
>
|
||||
<v-icon start>mdi-rabbit</v-icon>
|
||||
RabbitMQ
|
||||
|
||||
@ -22,8 +27,7 @@
|
||||
</v-alert>
|
||||
|
||||
<v-alert type="info" class="mb-3">
|
||||
O RabbitMQ é utilizado pela API para o enfileiramento das notificações.
|
||||
Ele NÃO é utilizado para o envio de mensagens.
|
||||
{{ $t("rabbitmq.info") }}
|
||||
</v-alert>
|
||||
|
||||
<v-form v-model="valid">
|
||||
@ -31,7 +35,7 @@
|
||||
:items="rabbitmqEventsType"
|
||||
v-model="rabbitmqData.events"
|
||||
:disabled="loading"
|
||||
label="Eventos"
|
||||
:label="$t('events')"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
multiple
|
||||
@ -44,7 +48,7 @@
|
||||
<v-card-actions v-if="expanded">
|
||||
<v-switch
|
||||
v-model="rabbitmqData.enabled"
|
||||
label="Habilitado"
|
||||
:label="$t('enabled')"
|
||||
color="primary"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
@ -60,8 +64,8 @@
|
||||
@click="saveRabbitmq"
|
||||
variant="tonal"
|
||||
>
|
||||
Salvar
|
||||
</v-btn>
|
||||
{{ $t("save") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</template>
|
||||
|
@ -36,9 +36,9 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(url) => {
|
||||
if (!url) return 'URL é obrigatório';
|
||||
if (!url) return $t('required', { field: 'URL' });
|
||||
if (!url.startsWith('http'))
|
||||
return 'URL deve começar com http ou https';
|
||||
return $t('httpHttps', { field: 'URL' });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -48,16 +48,17 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="typebotData.typebot"
|
||||
label="Nome do fluxo do Typebot"
|
||||
:label="$t('typebot.typebot')"
|
||||
:disabled="loading"
|
||||
outlined
|
||||
dense
|
||||
hide-details="auto"
|
||||
class="mb-3"
|
||||
hint="O nome do fluxo do Typebot que será utilizado"
|
||||
:hint="$t('typebot.typebotHelp')"
|
||||
:rules="[
|
||||
(account_id) => {
|
||||
if (!account_id) return 'Typebot é obrigatório';
|
||||
if (!account_id)
|
||||
return $t('required', { field: $t('typebot.typebot') });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -66,18 +67,20 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="typebotData.keyword_finish"
|
||||
label="Palavra-chave de finalização"
|
||||
:label="$t('typebot.keywordFinish')"
|
||||
placeholder="#SAIR"
|
||||
:disabled="loading"
|
||||
outlined
|
||||
dense
|
||||
hide-details="auto"
|
||||
class="mb-3"
|
||||
hint="Palavra-chave para finalizar o fluxo"
|
||||
:hint="$t('typebot.keywordFinishHelp')"
|
||||
:rules="[
|
||||
(token) => {
|
||||
if (!token)
|
||||
return 'Palavra-chave de finalização é obrigatório';
|
||||
return $t('required', {
|
||||
field: $t('typebot.keywordFinish'),
|
||||
});
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -89,19 +92,19 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="typebotData.expire"
|
||||
label="Tempo de expiração (em minutos)"
|
||||
:label="$t('typebot.expire')"
|
||||
:disabled="loading"
|
||||
type="number"
|
||||
min="0"
|
||||
outlined
|
||||
dense
|
||||
hide-details="auto"
|
||||
hint="Tempo para encerrar a sessão caso não haja interação"
|
||||
:hint="$t('typebot.expireHelp')"
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(v) => {
|
||||
if (v === '' || v === undefined)
|
||||
return 'Tempo de expiração é obrigatório';
|
||||
return $t('required', { field: $t('typebot.expire') });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -110,10 +113,12 @@
|
||||
<div class="flex-grow-1">
|
||||
<v-text-field
|
||||
v-model="typebotData.delay_message"
|
||||
label="Tempo de atraso da mensagem (em milisegundos)"
|
||||
:label="`${$t('typebot.delayMessage')} (${$t(
|
||||
'typebot.delayMessageUnit'
|
||||
)})`"
|
||||
type="number"
|
||||
min="0"
|
||||
:hint="`Tempo de simulação de digitação - ${
|
||||
:hint="`${$t('typebot.delayMessageHelp')} - ${
|
||||
typebotData.delay_message
|
||||
}ms = ${(typebotData.delay_message / 1000)
|
||||
.toFixed(1)
|
||||
@ -126,7 +131,9 @@
|
||||
:rules="[
|
||||
(token) => {
|
||||
if (token == null || token < 0)
|
||||
return 'Palavra-chave de finalização é obrigatório';
|
||||
return $t('required', {
|
||||
field: $t('typebot.delayMessage'),
|
||||
});
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -136,7 +143,7 @@
|
||||
|
||||
<v-text-field
|
||||
v-model="typebotData.unknown_message"
|
||||
label="Mensagem de desconhecido"
|
||||
:label="$t('typebot.unknownMessage')"
|
||||
:disabled="loading"
|
||||
outlined
|
||||
dense
|
||||
@ -144,7 +151,8 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(token) => {
|
||||
if (!token) return 'Mensagem de desconhecido é obrigatório';
|
||||
if (!token)
|
||||
return $t('required', { field: $t('typebot.unknownMessage') });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -154,13 +162,12 @@
|
||||
<v-checkbox
|
||||
class="flex-shrink-1"
|
||||
v-model="typebotData.listening_from_me"
|
||||
label="Ouvir mensagens enviadas por mim"
|
||||
:disabled="loading"
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>Ouvir mensagens enviadas por mim</span>
|
||||
<span>{{ $t("typebot.listeningFromMe") }}</span>
|
||||
<HelpTooltip>
|
||||
Envia as mensagens enviadas por você para o fluxo do Typebot
|
||||
{{ $t("typebot.listeningFromMeHelp") }}
|
||||
</HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
@ -170,7 +177,7 @@
|
||||
<v-card-actions v-if="expanded">
|
||||
<v-switch
|
||||
v-model="typebotData.enabled"
|
||||
label="Habilitado"
|
||||
:label="$t('enabled')"
|
||||
color="primary"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
@ -182,9 +189,7 @@
|
||||
@click="openTypebotSessions"
|
||||
size="small"
|
||||
>
|
||||
ver {{ typebotData.sessions.length }} sess{{
|
||||
typebotData.sessions.length != 1 ? "ões" : "ão"
|
||||
}}
|
||||
{{ $t("typebot.session.btn", { count: typebotData.sessions.length }) }}
|
||||
</v-btn>
|
||||
|
||||
<v-spacer></v-spacer>
|
||||
@ -199,7 +204,7 @@
|
||||
@click="saveTypebot"
|
||||
variant="tonal"
|
||||
>
|
||||
Salvar
|
||||
{{ $t("save") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
|
@ -36,9 +36,9 @@
|
||||
class="mb-3"
|
||||
:rules="[
|
||||
(url) => {
|
||||
if (!url) return 'URL é obrigatório';
|
||||
if (!url) return this.$t('required', { field: 'URL' });
|
||||
if (!url.startsWith('http'))
|
||||
return 'URL deve começar com http ou https';
|
||||
return this.$t('httpHttps', { field: 'URL' });
|
||||
return true;
|
||||
},
|
||||
]"
|
||||
@ -48,7 +48,7 @@
|
||||
:items="webhookEventsType"
|
||||
v-model="webhookData.events"
|
||||
:disabled="loading"
|
||||
label="Eventos"
|
||||
:label="$t('events')"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
multiple
|
||||
@ -72,11 +72,17 @@
|
||||
<v-checkbox
|
||||
v-model="webhookData.webhook_by_events"
|
||||
:disabled="loading"
|
||||
label="Webhook por eventos"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
density="compact"
|
||||
/>
|
||||
>
|
||||
<template v-slot:label>
|
||||
<span>{{ $t("webhook.byEvents") }}</span>
|
||||
<HelpTooltip>
|
||||
{{ $t("webhook.byEventsHelp") }}
|
||||
</HelpTooltip>
|
||||
</template>
|
||||
</v-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</v-form>
|
||||
@ -84,7 +90,7 @@
|
||||
<v-card-actions v-if="expanded">
|
||||
<v-switch
|
||||
v-model="webhookData.enabled"
|
||||
label="Habilitado"
|
||||
:label="$t('enabled')"
|
||||
color="primary"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
@ -100,7 +106,7 @@
|
||||
@click="saveWebhook"
|
||||
variant="tonal"
|
||||
>
|
||||
Salvar
|
||||
{{ $t("save") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
@ -165,7 +171,7 @@ export default {
|
||||
toggleExpanded() {
|
||||
if (this.loading) return;
|
||||
this.expanded = !this.expanded;
|
||||
},
|
||||
},
|
||||
async saveWebhook() {
|
||||
try {
|
||||
this.loading = true;
|
||||
|
@ -30,7 +30,7 @@
|
||||
:items="websocketEventsType"
|
||||
v-model="websocketData.events"
|
||||
:disabled="loading"
|
||||
label="Eventos"
|
||||
:label="$t('events')"
|
||||
hide-details
|
||||
class="mb-3"
|
||||
multiple
|
||||
@ -43,7 +43,7 @@
|
||||
<v-card-actions v-if="expanded">
|
||||
<v-switch
|
||||
v-model="websocketData.enabled"
|
||||
label="Habilitado"
|
||||
:label="$t('enabled')"
|
||||
color="primary"
|
||||
:disabled="loading"
|
||||
hide-details
|
||||
@ -59,7 +59,7 @@
|
||||
@click="saveWebsocket"
|
||||
variant="tonal"
|
||||
>
|
||||
Salvar
|
||||
{{ $t("save") }}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
|
@ -98,9 +98,9 @@
|
||||
@click="save(conect)"
|
||||
>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{
|
||||
conect.host.replace(/https?:\/\//, "")
|
||||
}}</v-list-item-title>
|
||||
<v-list-item-title>
|
||||
{{ conect.host.replace(/https?:\/\//, "") }}
|
||||
</v-list-item-title>
|
||||
|
||||
<!-- <v-list-item-subtitle>
|
||||
{{ connection.globalApiKey.slice(0, 10) }}...
|
||||
@ -216,10 +216,7 @@ export default {
|
||||
(v) =>
|
||||
new RegExp(`^(${!this.isHttps ? "http|" : ""}https)://`, "i").test(
|
||||
v
|
||||
) ||
|
||||
(this.isHttps
|
||||
? "URL inválida, ela deve começar com https"
|
||||
: "URL inválida, ela deve começar com http ou https"),
|
||||
) || this.$t(this.isHttps ? "https" : "httpHttps", { field: "URL" }),
|
||||
];
|
||||
},
|
||||
},
|
||||
|
@ -3,7 +3,7 @@
|
||||
<v-dialog v-model="dialog" max-width="850px" scrollable>
|
||||
<v-card>
|
||||
<v-card-title class="d-flex align-center">
|
||||
Sessões do Typebot
|
||||
{{ $t("typebot.session.title") }}
|
||||
<v-spacer />
|
||||
<h3>{{ sessions.length }}</h3>
|
||||
<v-btn
|
||||
@ -21,7 +21,7 @@
|
||||
:headers="headers"
|
||||
:items="sessions"
|
||||
:no-data-text="
|
||||
loading ? 'Carregando...' : 'Nenhuma sessão encontrada'
|
||||
loading ? `${$t('loading')}...` : $t('typebot.session.noData')
|
||||
"
|
||||
:rows-per-page-items="[10, 25, 50, 100]"
|
||||
>
|
||||
@ -33,7 +33,7 @@
|
||||
<template v-slot:item.status="{ item }">
|
||||
<v-chip :color="item.status.color" label size="small">
|
||||
<v-icon start>{{ item.status.icon }}</v-icon>
|
||||
{{ item.status.text }}
|
||||
{{ $t(`typebot.status.${item.status.id}`) }}
|
||||
</v-chip>
|
||||
</template>
|
||||
<template v-slot:item.variables="{ item }">
|
||||
@ -114,7 +114,7 @@
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn text @click="dialog = false" :disabled="loading || loadingInner">
|
||||
Fechar
|
||||
{{ $t("close") }}
|
||||
</v-btn>
|
||||
<v-spacer></v-spacer>
|
||||
</v-card-actions>
|
||||
@ -127,19 +127,30 @@ import typebotStatus from "@/helpers/mappers/typebotStatus";
|
||||
import instanceController from "@/services/instanceController";
|
||||
export default {
|
||||
name: "SettingsModal",
|
||||
data: () => ({
|
||||
dialog: false,
|
||||
typebotStatus,
|
||||
headers: [
|
||||
{ title: "Número", value: "remoteJid" },
|
||||
{ title: "Status", value: "status" },
|
||||
{ title: "Variáveis", value: "variables" },
|
||||
{ title: "Iniciada em", value: "createdAt" },
|
||||
{ title: "Última mensagem", value: "updateAt" },
|
||||
{ title: "", value: "actions" },
|
||||
],
|
||||
loadingInner: false,
|
||||
}),
|
||||
data() {
|
||||
return {
|
||||
dialog: false,
|
||||
typebotStatus,
|
||||
headers: [
|
||||
{ title: "Whatsapp", value: "remoteJid" },
|
||||
{ title: "Status", value: "status" },
|
||||
{
|
||||
title: this.$t("typebot.session.headers.variables"),
|
||||
value: "variables",
|
||||
},
|
||||
{
|
||||
title: this.$t("typebot.session.headers.createdAt"),
|
||||
value: "createdAt",
|
||||
},
|
||||
{
|
||||
title: this.$t("typebot.session.headers.updateAt"),
|
||||
value: "updateAt",
|
||||
},
|
||||
{ title: "", value: "actions" },
|
||||
],
|
||||
loadingInner: false,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.dialog = true;
|
||||
|
@ -11,11 +11,20 @@ export default {
|
||||
refresh: "Refresh",
|
||||
disconnect: "Disconnect",
|
||||
sure: "Sure?",
|
||||
save: "Save",
|
||||
instance: "Instance | Instances",
|
||||
search: "Search",
|
||||
loading: "Loading",
|
||||
noInstances: "No instances found",
|
||||
unknown: "Unknown",
|
||||
required: "{field} is required",
|
||||
https: "{field} must start with https://",
|
||||
httpHttps: "{field} must start with http:// or https://",
|
||||
enabled: "Enabled",
|
||||
events: "Events",
|
||||
version: {
|
||||
availableFrom: "Available from version {version}",
|
||||
},
|
||||
status: {
|
||||
close: "Disconnected",
|
||||
connecting: "Connecting",
|
||||
@ -43,5 +52,63 @@ export default {
|
||||
connectPhone: {
|
||||
title: "Phone not connected",
|
||||
apiGenericError: "Could not load QR Code, if the error persists, restart the API and try again."
|
||||
},
|
||||
options: {
|
||||
title: "Behavior",
|
||||
rejectCall: "Reject call",
|
||||
msgCall: "Rejection message",
|
||||
groupsIgnore: "Ignore groups",
|
||||
alwaysOnline: "Always online",
|
||||
readMessages: "Mark messages as read",
|
||||
readStatus: "Mark status as seen",
|
||||
},
|
||||
webhook: {
|
||||
byEvents: "Webhook by events",
|
||||
byEventsHelp: "Adds the event name at the end of the URL (ex: /webhook/event_name )",
|
||||
},
|
||||
rabbitmq: {
|
||||
info: "RabbitMQ is used by the API to queue notifications. It is NOT used to send messages."
|
||||
},
|
||||
chatwoot: {
|
||||
account_id: "Account ID",
|
||||
token: "Account Token",
|
||||
signMsg: "Sign messages",
|
||||
signMsgHelp: "Adds the agent name at the first line of the message",
|
||||
reopenConversation: "Reopen conversation",
|
||||
reopenConversationHelp: "Reopens the customer's conversation when he starts a new conversation instead of creating a new conversation",
|
||||
conversationPending: "Start conversation as pending",
|
||||
conversationPendingHelp: "Starts the conversation as pending instead of open",
|
||||
autoCreate: "Create Inbox",
|
||||
autoCreateHelp: "Creates the inbox in Chatwoot if it doesn't exist",
|
||||
},
|
||||
typebot: {
|
||||
typebot: "Typebot flow name",
|
||||
typebotHelp: "The name of the Typebot flow to be used",
|
||||
keywordFinish: "Finish keyword",
|
||||
keywordFinishHelp: "Keyword to finish the flow",
|
||||
expire: "Expiration time (in minutes)",
|
||||
expireHelp: "Time to end the session if there is no interaction",
|
||||
delayMessage: "Message typing time",
|
||||
delayMessageUnit: "in milliseconds",
|
||||
delayMessageHelp: "Typing simulation time",
|
||||
unknownMessage: "Unknown message format",
|
||||
unknownMessageHelp: "Message sent when the message format is not recognized",
|
||||
listeningFromMe: "Listen to messages sent by me",
|
||||
listeningFromMeHelp: "Sends the messages sent by you to the Typebot flow",
|
||||
session: {
|
||||
title: "Typebot sessions",
|
||||
btn: "See 0 sessions | See one session | See {count} sessions",
|
||||
noData: "No sessions found",
|
||||
headers: {
|
||||
variable: "Variables",
|
||||
createdAt: "Started at",
|
||||
updatedAt: "Last message",
|
||||
}
|
||||
},
|
||||
status: {
|
||||
opened: "Open",
|
||||
paused: "Paused",
|
||||
closed: "Closed",
|
||||
}
|
||||
}
|
||||
}
|
@ -11,11 +11,20 @@ export default {
|
||||
refresh: "Atualizar",
|
||||
disconnect: "Desconectar",
|
||||
sure: "Tem certeza?",
|
||||
save: "Salvar",
|
||||
instance: "Instância | Instâncias",
|
||||
search: "Pesquisar",
|
||||
loading: "Carregando",
|
||||
noInstances: "Nenhuma instância encontrada",
|
||||
unknown: "Desconhecido",
|
||||
required: "{field} é obrigatório",
|
||||
https: "{field} deve começar com https://",
|
||||
httpHttps: "{field} deve começar com http:// ou https://",
|
||||
enabled: "Habilitado",
|
||||
events: "Eventos",
|
||||
version: {
|
||||
availableFrom: "Disponível a partir da versão {version}",
|
||||
},
|
||||
status: {
|
||||
close: "Desconectado",
|
||||
connecting: "Conectando",
|
||||
@ -43,5 +52,63 @@ 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."
|
||||
},
|
||||
options: {
|
||||
title: "Comportamento",
|
||||
rejectCall: "Rejeitar chamada",
|
||||
msgCall: "Mensagem de rejeição",
|
||||
groupsIgnore: "Ignorar grupos",
|
||||
alwaysOnline: "Sempre online",
|
||||
readMessages: "Marcar mensagens como lidas",
|
||||
readStatus: "Marcar status como visto",
|
||||
},
|
||||
webhook: {
|
||||
byEvents: "Webhook por eventos",
|
||||
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."
|
||||
},
|
||||
chatwoot: {
|
||||
account_id: "ID da conta",
|
||||
token: "Token da conta",
|
||||
signMsg: "Assinar mensagens",
|
||||
signMsgHelp: "Adiciona o nome do atendente na primeira linha da mensagem",
|
||||
reopenConversation: "Reabrir 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",
|
||||
autoCreate: "Criar Caixa de Entrada",
|
||||
autoCreateHelp: "Cria a caixa de entrada no Chatwoot caso ela não exista",
|
||||
},
|
||||
typebot: {
|
||||
typebot: "Nome do fluxo do Typebot",
|
||||
typebotHelp: "O nome do fluxo do Typebot que será utilizado",
|
||||
keywordFinish: "Palavra-chave de finalização",
|
||||
keywordFinishHelp: "Palavra-chave para finalizar o fluxo",
|
||||
expire: "Tempo de expiração (em minutos)",
|
||||
expireHelp: "Tempo para encerrar a sessão caso não haja interação",
|
||||
delayMessage: "Tempo de digitação da mensagem",
|
||||
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",
|
||||
listeningFromMe: "Ouvir mensagens enviadas por mim",
|
||||
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",
|
||||
noData: "Nenhuma sessão encontrada",
|
||||
headers: {
|
||||
variables: "Variáveis",
|
||||
createdAt: "Iniciada em",
|
||||
updatedAt: "Última mensagem",
|
||||
}
|
||||
},
|
||||
status: {
|
||||
opened: "Aberto",
|
||||
paused: "Pausado",
|
||||
closed: "Fechado",
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user