vue-wiguet-chatweb 0.0.27 → 0.0.29

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-wiguet-chatweb",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -0,0 +1,23 @@
1
+ <template>
2
+ <svg
3
+ version="1.1"
4
+ id="Capa_1"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
+ viewBox="-10 -10 78 78"
8
+ xml:space="preserve"
9
+ >
10
+ <g>
11
+ <path
12
+ style="fill: orange"
13
+ d="M29,1.5c-16.016,0-29,11.641-29,26c0,5.292,1.768,10.211,4.796,14.318
14
+ C4.398,46.563,3.254,53.246,0,56.5c0,0,9.943-1.395,16.677-5.462c0.007,0.003,0.015,0.006,0.022,0.009
15
+ c2.764-1.801,5.532-3.656,6.105-4.126c0.3-0.421,0.879-0.548,1.33-0.277c0.296,0.178,0.483,0.503,0.489,0.848
16
+ c0.01,0.622-0.005,0.784-5.585,4.421C22.146,52.933,25.498,53.5,29,53.5c16.016,0,29-11.641,29-26S45.016,1.5,29,1.5z"
17
+ />
18
+ <circle style="fill: #ffffff" cx="15" cy="27.5" r="3" />
19
+ <circle style="fill: #ffffff" cx="29" cy="27.5" r="3" />
20
+ <circle style="fill: #ffffff" cx="43" cy="27.5" r="3" />
21
+ </g>
22
+ </svg>
23
+ </template>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <svg
3
+ viewBox="0 0 256 256"
4
+ version="1.1"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
+ preserveAspectRatio="xMidYMid"
8
+ >
9
+ <g>
10
+ <path
11
+ d="M128,0 C57.307,0 0,57.307 0,128 L0,128 C0,198.693 57.307,256 128,256 L128,256 C198.693,256 256,198.693 256,128 L256,128 C256,57.307 198.693,0 128,0 L128,0 Z"
12
+ fill="#40B3E0"
13
+ ></path>
14
+ <path
15
+ d="M190.2826,73.6308 L167.4206,188.8978 C167.4206,188.8978 164.2236,196.8918 155.4306,193.0548 L102.6726,152.6068 L83.4886,143.3348 L51.1946,132.4628 C51.1946,132.4628 46.2386,130.7048 45.7586,126.8678 C45.2796,123.0308 51.3546,120.9528 51.3546,120.9528 L179.7306,70.5928 C179.7306,70.5928 190.2826,65.9568 190.2826,73.6308"
16
+ fill="#FFFFFF"
17
+ ></path>
18
+ <path
19
+ d="M98.6178,187.6035 C98.6178,187.6035 97.0778,187.4595 95.1588,181.3835 C93.2408,175.3085 83.4888,143.3345 83.4888,143.3345 L161.0258,94.0945 C161.0258,94.0945 165.5028,91.3765 165.3428,94.0945 C165.3428,94.0945 166.1418,94.5735 163.7438,96.8115 C161.3458,99.0505 102.8328,151.6475 102.8328,151.6475"
20
+ fill="#D2E5F1"
21
+ ></path>
22
+ <path
23
+ d="M122.9015,168.1154 L102.0335,187.1414 C102.0335,187.1414 100.4025,188.3794 98.6175,187.6034 L102.6135,152.2624"
24
+ fill="#B5CFE4"
25
+ ></path>
26
+ </g>
27
+ </svg>
28
+ </template>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <svg
3
+ version="1.1"
4
+ id="Capa_1"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
+ viewBox="0 0 455.731 455.731"
8
+ xml:space="preserve"
9
+ >
10
+ <g>
11
+ <rect
12
+ x="0"
13
+ y="0"
14
+ style="fill: #1bd741"
15
+ width="455.731"
16
+ height="455.731"
17
+ />
18
+ <g>
19
+ <path
20
+ style="fill: #ffffff"
21
+ d="M68.494,387.41l22.323-79.284c-14.355-24.387-21.913-52.134-21.913-80.638
22
+ c0-87.765,71.402-159.167,159.167-159.167s159.166,71.402,159.166,159.167c0,87.765-71.401,159.167-159.166,159.167
23
+ c-27.347,0-54.125-7-77.814-20.292L68.494,387.41z M154.437,337.406l4.872,2.975c20.654,12.609,44.432,19.274,68.762,19.274
24
+ c72.877,0,132.166-59.29,132.166-132.167S300.948,95.321,228.071,95.321S95.904,154.611,95.904,227.488
25
+ c0,25.393,7.217,50.052,20.869,71.311l3.281,5.109l-12.855,45.658L154.437,337.406z"
26
+ />
27
+ <path
28
+ style="fill: #ffffff"
29
+ d="M183.359,153.407l-10.328-0.563c-3.244-0.177-6.426,0.907-8.878,3.037
30
+ c-5.007,4.348-13.013,12.754-15.472,23.708c-3.667,16.333,2,36.333,16.667,56.333c14.667,20,42,52,90.333,65.667
31
+ c15.575,4.404,27.827,1.435,37.28-4.612c7.487-4.789,12.648-12.476,14.508-21.166l1.649-7.702c0.524-2.448-0.719-4.932-2.993-5.98
32
+ l-34.905-16.089c-2.266-1.044-4.953-0.384-6.477,1.591l-13.703,17.764c-1.035,1.342-2.807,1.874-4.407,1.312
33
+ c-9.384-3.298-40.818-16.463-58.066-49.687c-0.748-1.441-0.562-3.19,0.499-4.419l13.096-15.15
34
+ c1.338-1.547,1.676-3.722,0.872-5.602l-15.046-35.201C187.187,154.774,185.392,153.518,183.359,153.407z"
35
+ />
36
+ </g>
37
+ </g>
38
+ </svg>
39
+ </template>
@@ -5,16 +5,37 @@
5
5
  >
6
6
  <div
7
7
  id="chat-circle"
8
- role="button"
9
- @click="toggleChat"
10
8
  class="widget-container"
11
9
  v-show="!isChatBoxVisible"
12
- >
13
- <div class="new-message-badge" v-if="newMessages">
10
+ >
11
+ <div class="container-buttons-chat" :class="{'active': toggleButtonsChats}">
12
+ <a href="javascript:;" class="button whatsapp" @click="go(MeansCommunication.WHATSAPP)">
13
+ <IconWhatsApp />
14
+ </a>
15
+
16
+ <a href="javascript:;" class="button telegram" @click="go(MeansCommunication.TELEGRAM)">
17
+ <IconTelegram />
18
+ </a>
19
+
20
+ <a
21
+ href="javascript:;"
22
+ class="button webchat"
23
+ title="Debe estar autenticado"
24
+ :class="{'disabled': !props.tokenAuth }"
25
+ @click="toggleButtonsChats && toggleChat()"
26
+ >
27
+ <IconChat />
28
+ </a>
29
+ </div>
30
+
31
+ <div class="new-message-badge" v-if="newMessages" >
14
32
  {{ newMessages > 9 ? "9+" : newMessages }}
15
33
  </div>
16
- <IconWidget />
34
+ <a href="javascript:;" @click="toggleButtonsChats = !toggleButtonsChats">
35
+ <IconWidget />
36
+ </a>
17
37
  </div>
38
+
18
39
  <div class="chat-box" v-show="isChatBoxVisible">
19
40
  <Chat
20
41
  :visible="isChatBoxVisible"
@@ -36,16 +57,47 @@
36
57
  import { PropType, ref } from "vue";
37
58
  import Chat from "./Chat.vue";
38
59
  import IconWidget from "./IconWidget.vue";
60
+ import { VirtualHost } from '../dto/app.dto';
61
+ import IconTelegram from "./IconTelegram.vue";
62
+ import IconWhatsApp from "./IconWhatsApp.vue";
63
+ import IconChat from "./IconChat.vue";
39
64
 
40
65
  const emit = defineEmits(["show-toast", "show-confirm"]);
41
66
 
67
+ const enum MeansCommunication{
68
+ WHATSAPP,
69
+ TELEGRAM
70
+ }
71
+
72
+ function go(means: MeansCommunication) {
73
+ const cellphoneNumbers = window.VITE_CELLPHONE_NUMBERS.split(',');
74
+
75
+ if (cellphoneNumbers.length === 0) {
76
+ console.warn('not found cellphone numbers')
77
+ return
78
+ }
79
+
80
+ toggleButtonsChats.value = false;
81
+
82
+ const index = Math.floor(Math.random() * cellphoneNumbers.length)
83
+
84
+ if(MeansCommunication['WHATSAPP'] === means) {
85
+ window.open('https://wa.me/'+ cellphoneNumbers[index], 'WhatsApp', 'noopener')
86
+ return;
87
+ }
88
+
89
+ window.open('https://t.me/+' + cellphoneNumbers[index], 'Telegram', 'noopener')
90
+ }
91
+
42
92
  const isChatBoxVisible = ref(false);
43
93
  const newMessages = ref(0);
94
+ const toggleButtonsChats = ref(false);
95
+
44
96
  const toggleChat = () => {
45
97
  isChatBoxVisible.value = !isChatBoxVisible.value;
46
98
  };
47
99
 
48
- defineProps({
100
+ const props = defineProps({
49
101
  tokenAuth: { type: String, required: true },
50
102
  titlePrincipal: { type: String },
51
103
  user: {
@@ -67,6 +119,51 @@ defineProps({
67
119
  </style>
68
120
 
69
121
  <style scoped>
122
+
123
+ .disabled {
124
+ color: currentColor;
125
+ cursor: not-allowed;
126
+ opacity: 0.3;
127
+ text-decoration: none;
128
+ }
129
+
130
+ .container-buttons-chat {
131
+ position: relative;
132
+ }
133
+ .button {
134
+ position: absolute;
135
+ width: 2.5rem;
136
+ height: 2.5rem;
137
+ right: 1.35rem;
138
+
139
+ opacity: 0;
140
+ box-shadow: 0px 1px 3px 1px #c0c0c0;
141
+ border-radius: 100%;
142
+ border: 1px solid white;
143
+ background-color: white;
144
+ overflow: hidden;
145
+ cursor: pointer;
146
+ transition: transform 0.5s ease, opacity 0.3s ease;
147
+ z-index: -1;
148
+ }
149
+
150
+ .container-buttons-chat.active > a {
151
+ z-index: 1;
152
+ opacity: 1;
153
+ }
154
+
155
+ .container-buttons-chat.active .whatsapp {
156
+ transform: translateY(-150px); /* Subir más arriba */
157
+ }
158
+
159
+ .container-buttons-chat.active .telegram {
160
+ transform: translateY(-100px); /* Subir más arriba */
161
+ }
162
+
163
+ .container-buttons-chat.active .webchat {
164
+ transform: translateY(-50px); /* Subir más arriba */
165
+ }
166
+
70
167
  .widget-container {
71
168
  position: relative;
72
169
  }