mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-16 04:02:54 -06:00
UI improvements
This commit is contained in:
parent
919d1726c5
commit
c20c4b00c6
32
src/components/global/HelpTooltip.vue
Normal file
32
src/components/global/HelpTooltip.vue
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<template>
|
||||||
|
<v-tooltip :text="text" style="display: inline-block" :location="location">
|
||||||
|
<template v-slot:activator="{ props }">
|
||||||
|
<v-btn v-bind="props" icon :size="size" variant="text">
|
||||||
|
<v-icon>mdi-help-circle-outline</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
</template>
|
||||||
|
<slot></slot>
|
||||||
|
</v-tooltip>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "HelpTooltip",
|
||||||
|
props: {
|
||||||
|
text: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
size: {
|
||||||
|
type: String,
|
||||||
|
default: "small",
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: "top",
|
||||||
|
validator: (value) => {
|
||||||
|
return ["top", "end", "bottom", "start"].includes(value);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-tabs v-model="tab" background-color="transparent" color="primary">
|
<v-tabs v-model="tab" background-color="transparent" color="primary" grow>
|
||||||
<v-tab v-for="tab in tabs" :key="tab.id" :value="tab.id">
|
<v-tab v-for="tab in tabs" :key="tab.id" :value="tab.id">
|
||||||
<v-icon start>{{ tab.icon }}</v-icon>
|
<v-icon start>{{ tab.icon }}</v-icon>
|
||||||
{{ tab.title }}
|
{{ tab.title }}
|
||||||
|
@ -32,8 +32,7 @@
|
|||||||
clearable
|
clearable
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
density="compact"
|
density="compact"
|
||||||
hide-details="auto"
|
class=" mt-3"
|
||||||
class="mb-3"
|
|
||||||
hint="DDI + DDD + Número"
|
hint="DDI + DDD + Número"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -54,6 +53,7 @@
|
|||||||
:disabled="loading || !phone"
|
:disabled="loading || !phone"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
@click="verifyPhone"
|
@click="verifyPhone"
|
||||||
|
variant="tonal"
|
||||||
>
|
>
|
||||||
Consultar
|
Consultar
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
@ -84,12 +84,18 @@
|
|||||||
<div>
|
<div>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="chatwootData.sign_msg"
|
v-model="chatwootData.sign_msg"
|
||||||
label="Assinar mensagens"
|
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
hide-details
|
hide-details
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
density="compact"
|
density="compact"
|
||||||
/>
|
>
|
||||||
|
<template v-slot:label>
|
||||||
|
<span>Assinar mensagens</span>
|
||||||
|
<HelpTooltip>
|
||||||
|
Adiciona o nome do atendente na primeira linha da mensagem
|
||||||
|
</HelpTooltip>
|
||||||
|
</template>
|
||||||
|
</v-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
|
@ -48,12 +48,13 @@
|
|||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-model="typebotData.typebot"
|
v-model="typebotData.typebot"
|
||||||
label="Typebot"
|
label="Nome do fluxo do Typebot"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
hide-details="auto"
|
hide-details="auto"
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
|
hint="O nome do fluxo do Typebot que será utilizado"
|
||||||
:rules="[
|
:rules="[
|
||||||
(account_id) => {
|
(account_id) => {
|
||||||
if (!account_id) return 'Typebot é obrigatório';
|
if (!account_id) return 'Typebot é obrigatório';
|
||||||
@ -72,6 +73,7 @@
|
|||||||
dense
|
dense
|
||||||
hide-details="auto"
|
hide-details="auto"
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
|
hint="Palavra-chave para finalizar o fluxo"
|
||||||
:rules="[
|
:rules="[
|
||||||
(token) => {
|
(token) => {
|
||||||
if (!token)
|
if (!token)
|
||||||
@ -94,6 +96,7 @@
|
|||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
hide-details="auto"
|
hide-details="auto"
|
||||||
|
hint="Tempo para encerrar a sessão caso não haja interação"
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
:rules="[
|
:rules="[
|
||||||
(v) => {
|
(v) => {
|
||||||
@ -109,9 +112,9 @@
|
|||||||
label="Tempo de atraso da mensagem (em milisegundos)"
|
label="Tempo de atraso da mensagem (em milisegundos)"
|
||||||
type="number"
|
type="number"
|
||||||
min="0"
|
min="0"
|
||||||
:hint="`${typebotData.delay_message}ms = ${(
|
:hint="`Tempo de simulação de digitação - ${
|
||||||
typebotData.delay_message / 1000
|
typebotData.delay_message
|
||||||
)
|
}ms = ${(typebotData.delay_message / 1000)
|
||||||
.toFixed(1)
|
.toFixed(1)
|
||||||
.replace('.0', '')}s`"
|
.replace('.0', '')}s`"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
@ -146,13 +149,20 @@
|
|||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div>
|
<div class="d-flex">
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
|
class="flex-shrink-1"
|
||||||
v-model="typebotData.listening_from_me"
|
v-model="typebotData.listening_from_me"
|
||||||
label="Ouvir mensagens enviadas por mim"
|
label="Ouvir mensagens enviadas por mim"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
hide-details
|
>
|
||||||
></v-checkbox>
|
<template v-slot:label>
|
||||||
|
<span>Ouvir mensagens enviadas por mim</span>
|
||||||
|
<HelpTooltip>
|
||||||
|
Envia as mensagens enviadas por você para o fluxo do Typebot
|
||||||
|
</HelpTooltip>
|
||||||
|
</template>
|
||||||
|
</v-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</v-form>
|
</v-form>
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-alert
|
<v-card v-if="instance.instance?.status != 'open'" @click="startConnect" elevation="0">
|
||||||
icon="mdi-qrcode-scan"
|
<v-alert
|
||||||
v-if="instance.instance?.status != 'open'"
|
icon="mdi-qrcode-scan"
|
||||||
type="warning"
|
color="deep-orange-darken-2"
|
||||||
>
|
class="text-white"
|
||||||
<div class="d-flex justify-space-between align-center flex-wrap">
|
>
|
||||||
<span>Telefone não conectado</span>
|
<div class="d-flex justify-space-between align-center flex-wrap">
|
||||||
<v-btn @click="startConnect" size="small"> Conectar </v-btn>
|
<b>Telefone não conectado</b>
|
||||||
</div>
|
<v-btn @click="startConnect" size="small"> Conectar </v-btn>
|
||||||
</v-alert>
|
</div>
|
||||||
|
</v-alert>
|
||||||
|
</v-card>
|
||||||
<v-dialog v-model="dialog" max-width="350px">
|
<v-dialog v-model="dialog" max-width="350px">
|
||||||
<v-card :loading="loading && qrCode">
|
<v-card :loading="loading && qrCode">
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
|
@ -9,9 +9,13 @@ import vuetify from './vuetify'
|
|||||||
import pinia from '../store'
|
import pinia from '../store'
|
||||||
import router from '../router'
|
import router from '../router'
|
||||||
|
|
||||||
export function registerPlugins (app) {
|
import HelpTooltip from '@/components/global/HelpTooltip.vue'
|
||||||
|
|
||||||
|
export function registerPlugins(app) {
|
||||||
app
|
app
|
||||||
.use(vuetify)
|
.use(vuetify)
|
||||||
.use(router)
|
.use(router)
|
||||||
.use(pinia)
|
.use(pinia)
|
||||||
|
.component('HelpTooltip', HelpTooltip)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user