WhatsApp Chat WP - Version 4.4.0

Version Description

Hello! We've recently acquired this plugin and included tons of new features.

Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WhatsApp Chat WP
Version 4.4.0
Comparing to
See all releases

Code changes from version 4.3.8 to 4.4.0

assets/css/qlwapp-admin.css CHANGED
@@ -1,502 +1,502 @@
1
- .select2-container {
2
- box-sizing: border-box;
3
- display: inline-block;
4
- margin: 0;
5
- position: relative;
6
- vertical-align: middle
7
- }
8
-
9
- .select2-container .select2-selection--single {
10
- box-sizing: border-box;
11
- cursor: pointer;
12
- display: block;
13
- height: 28px;
14
- margin: 0 0 -4px;
15
- -moz-user-select: none;
16
- -ms-user-select: none;
17
- user-select: none;
18
- -webkit-user-select: none
19
- }
20
-
21
- .select2-container .select2-selection--single .select2-selection__rendered {
22
- display: block;
23
- padding-left: 8px;
24
- padding-right: 20px;
25
- overflow: hidden;
26
- text-overflow: ellipsis;
27
- white-space: nowrap
28
- }
29
-
30
- .select2-container .select2-selection--single .select2-selection__clear {
31
- position: relative
32
- }
33
-
34
- .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
35
- padding-right: 8px;
36
- padding-left: 20px
37
- }
38
-
39
- .select2-container .select2-selection {
40
- box-sizing: border-box;
41
- cursor: pointer;
42
- display: block;
43
- min-height: 32px;
44
- -moz-user-select: none;
45
- -ms-user-select: none;
46
- user-select: none;
47
- -webkit-user-select: none
48
- }
49
-
50
- .select2-container .select2-selection .select2-selection__rendered {
51
- display: inline-block;
52
- overflow: hidden;
53
- padding-left: 8px;
54
- text-overflow: ellipsis;
55
- white-space: nowrap
56
- }
57
-
58
- .select2-container .select2-search--inline {
59
- float: left;
60
- padding: 0
61
- }
62
-
63
- .select2-container .select2-search--inline .select2-search__field {
64
- box-sizing: border-box;
65
- border: none;
66
- font-size: 100%;
67
- margin: 0;
68
- padding: 0
69
- }
70
-
71
- .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
72
- -webkit-appearance: none
73
- }
74
-
75
- .select2-dropdown {
76
- background-color: #fff;
77
- border: 1px solid #ccc;
78
- border-radius: 2px;
79
- box-sizing: border-box;
80
- display: block;
81
- position: absolute;
82
- left: -100000px;
83
- width: 100%;
84
- z-index: 1051
85
- }
86
-
87
- .select2-results {
88
- display: block
89
- }
90
-
91
- .select2-results__options {
92
- list-style: none;
93
- margin: 0;
94
- padding: 0
95
- }
96
-
97
- .select2-results__option {
98
- margin: 0;
99
- padding: 8px;
100
- -moz-user-select: none;
101
- -ms-user-select: none;
102
- user-select: none;
103
- -webkit-user-select: none
104
- }
105
-
106
- .select2-results__option[aria-selected],
107
- .select2-results__option[data-selected] {
108
- cursor: pointer
109
- }
110
-
111
- .select2-container--open .select2-dropdown {
112
- left: 0
113
- }
114
-
115
- .select2-container--open .select2-dropdown--above {
116
- border-bottom: none;
117
- border-bottom-left-radius: 0;
118
- border-bottom-right-radius: 0
119
- }
120
-
121
- .select2-container--open .select2-dropdown--below {
122
- border-top: none;
123
- border-top-left-radius: 0;
124
- border-top-right-radius: 0
125
- }
126
-
127
- .select2-search--dropdown {
128
- display: block;
129
- padding: 4px
130
- }
131
-
132
- .select2-search--dropdown .select2-search__field {
133
- padding: 4px;
134
- width: 100%;
135
- box-sizing: border-box
136
- }
137
-
138
- .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
139
- -webkit-appearance: none
140
- }
141
-
142
- .select2-search--dropdown.select2-search--hide {
143
- display: none
144
- }
145
-
146
- .select2-close-mask {
147
- border: 0;
148
- margin: 0;
149
- padding: 0;
150
- display: block;
151
- position: fixed;
152
- left: 0;
153
- top: 0;
154
- min-height: 100%;
155
- min-width: 100%;
156
- height: auto;
157
- width: auto;
158
- opacity: 0;
159
- z-index: 99;
160
- background-color: #fff
161
- }
162
-
163
- .select2-hidden-accessible {
164
- border: 0!important;
165
- clip: rect(0 0 0 0)!important;
166
- height: 1px!important;
167
- margin: -1px!important;
168
- overflow: hidden!important;
169
- padding: 0!important;
170
- position: absolute!important;
171
- width: 1px!important
172
- }
173
-
174
- .select2-container--default .select2-selection--single {
175
- background-color: #fff;
176
- border: 1px solid #ccc;
177
- border-radius: 4px
178
- }
179
-
180
- .select2-container--default .select2-selection--single .select2-selection__rendered {
181
- color: #444;
182
- line-height: 28px
183
- }
184
-
185
- .select2-container--default .select2-selection--single .select2-selection__clear {
186
- cursor: pointer;
187
- float: right;
188
- font-weight: 700
189
- }
190
-
191
- .select2-container--default .select2-selection--single .select2-selection__placeholder {
192
- color: #999
193
- }
194
-
195
- .select2-container--default .select2-selection--single .select2-selection__arrow {
196
- height: 32px;
197
- position: absolute;
198
- top: 0px;
199
- right: 1px;
200
- width: 20px
201
- }
202
-
203
- .select2-container--default .select2-selection--single .select2-selection__arrow b {
204
- border-color: #888 transparent transparent transparent;
205
- border-style: solid;
206
- border-width: 5px 4px 0 4px;
207
- height: 0;
208
- left: 50%;
209
- margin-left: -4px;
210
- margin-top: -2px;
211
- position: absolute;
212
- top: 50%;
213
- width: 0
214
- }
215
-
216
- .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
217
- float: left
218
- }
219
-
220
- .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
221
- left: 1px;
222
- right: auto
223
- }
224
-
225
- .select2-container--default.select2-container--disabled .select2-selection--single {
226
- background-color: #eee;
227
- cursor: default
228
- }
229
-
230
- .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
231
- display: none
232
- }
233
-
234
- .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
235
- border-color: transparent transparent #888 transparent;
236
- border-width: 0 4px 5px 4px
237
- }
238
-
239
- .select2-container--default .select2-selection {
240
- background-color: #fff;
241
- border: 1px solid #ccc;
242
- border-radius: 2px;
243
- cursor: text
244
- }
245
-
246
- .select2-container--default .select2-selection .select2-selection__rendered {
247
- box-sizing: border-box;
248
- list-style: none;
249
- margin: 0;
250
- padding: 0 5px;
251
- width: 100%
252
- }
253
-
254
- .select2-container--default .select2-selection .select2-selection__rendered li {
255
- list-style: none;
256
- margin: 5px 5px 0 0
257
- }
258
-
259
- .select2-container--default .select2-selection .select2-selection__rendered li:before {
260
- content: '';
261
- display: none
262
- }
263
-
264
- .select2-container--default .select2-selection .select2-selection__placeholder {
265
- color: #999;
266
- margin-top: 5px;
267
- float: left
268
- }
269
-
270
- .select2-container--default .select2-selection .select2-selection__clear {
271
- cursor: pointer;
272
- float: right;
273
- font-weight: 700;
274
- margin-top: 5px;
275
- margin-right: 10px
276
- }
277
-
278
- .select2-container--default .select2-selection .select2-selection__choice {
279
- background-color: #e4e4e4;
280
- border: 1px solid #ccc;
281
- border-radius: 2px;
282
- cursor: default;
283
- float: left;
284
- margin-right: 5px;
285
- margin-top: 5px;
286
- padding: 0 5px
287
- }
288
-
289
- .select2-container--default .select2-selection .select2-selection__choice__remove {
290
- color: #999;
291
- cursor: pointer;
292
- display: inline-block;
293
- font-weight: 700;
294
- margin-right: 2px
295
- }
296
-
297
- .select2-container--default .select2-selection .select2-selection__choice__remove:hover {
298
- color: #333
299
- }
300
-
301
- .select2-container--default[dir=rtl] .select2-selection .select2-search--inline,
302
- .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,
303
- .select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder {
304
- float: right
305
- }
306
-
307
- .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice {
308
- margin-left: 5px;
309
- margin-right: auto
310
- }
311
-
312
- .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove {
313
- margin-left: 2px;
314
- margin-right: auto
315
- }
316
-
317
- .select2-container--default.select2-container--focus .select2-selection {
318
- outline: 0
319
- }
320
-
321
- .select2-container--default.select2-container--disabled .select2-selection {
322
- background-color: #eee;
323
- cursor: default
324
- }
325
-
326
- .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
327
- display: none
328
- }
329
-
330
- .select2-container--default.select2-container--open.select2-container--above .select2-selection,
331
- .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
332
- border-top-left-radius: 0;
333
- border-top-right-radius: 0
334
- }
335
-
336
- .select2-container--default.select2-container--open.select2-container--below .select2-selection,
337
- .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
338
- border-bottom-left-radius: 0;
339
- border-bottom-right-radius: 0
340
- }
341
-
342
- .select2-container--default .select2-search--dropdown .select2-search__field {
343
- border: 1px solid #ccc
344
- }
345
-
346
- .select2-container--default .select2-search--inline .select2-search__field {
347
- background: 0 0;
348
- border: none;
349
- outline: 0;
350
- box-shadow: none;
351
- -webkit-appearance: textfield
352
- }
353
-
354
- .select2-container--default .select2-results>.select2-results__options {
355
- max-height: 200px;
356
- overflow-y: auto
357
- }
358
-
359
- .select2-container--default .select2-results__option[role=group] {
360
- padding: 0
361
- }
362
-
363
- .select2-container--default .select2-results__option[aria-disabled=true] {
364
- color: #999
365
- }
366
-
367
- .select2-container--default .select2-results__option[aria-selected=true],
368
- .select2-container--default .select2-results__option[data-selected=true] {
369
- background-color: #ddd
370
- }
371
-
372
- .select2-container--default .select2-results__option .select2-results__option {
373
- padding-left: 1em
374
- }
375
-
376
- .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
377
- padding-left: 0
378
- }
379
-
380
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
381
- margin-left: -1em;
382
- padding-left: 2em
383
- }
384
-
385
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
386
- margin-left: -2em;
387
- padding-left: 3em
388
- }
389
-
390
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
391
- margin-left: -3em;
392
- padding-left: 4em
393
- }
394
-
395
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
396
- margin-left: -4em;
397
- padding-left: 5em
398
- }
399
-
400
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
401
- margin-left: -5em;
402
- padding-left: 6em
403
- }
404
-
405
- .select2-container--default .select2-results__option--highlighted[aria-selected],
406
- .select2-container--default .select2-results__option--highlighted[data-selected] {
407
- background-color: #0073aa;
408
- color: #fff
409
- }
410
-
411
- #qlwapp_modal .attachments-browser .attachments {
412
- top: 0;
413
- left: 0;
414
- right: 0;
415
- }
416
-
417
- #qlwapp_modal .wp-core-ui .attachment .thumbnail,
418
- #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
419
- vertical-align: middle;
420
- text-align: center;
421
- }
422
-
423
- #qlwapp_modal .wp-core-ui .attachment .thumbnail:before,
424
- #qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before {
425
- content: '';
426
- display: inline-block;
427
- width: 0px;
428
- height: 100%;
429
- vertical-align: middle;
430
- }
431
-
432
- #qlwapp_modal .wp-core-ui .attachment .thumbnail>i,
433
- #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
434
- text-align: center;
435
- font-size: 3vw;
436
- display: inline-block;
437
- vertical-align: middle;
438
- height: auto;
439
- width: auto;
440
- }
441
-
442
- #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
443
- width: 60px;
444
- height: 60px;
445
- background-color: #fff;
446
- }
447
-
448
- #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
449
- font-size: 2em;
450
- position: relative;
451
- left: -1px;
452
- }
453
-
454
- #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container {
455
- box-sizing: border-box;
456
- width: 100%;
457
- border-bottom: 1px solid #ddd;
458
- padding: 11px 0;
459
- }
460
-
461
- #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color {
462
- box-sizing: border-box;
463
- margin: 1px;
464
- width: 65%;
465
- float: right;
466
- }
467
-
468
- #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result {
469
- width: 100%;
470
- margin-top: 5px!important;
471
- }
472
-
473
- #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text {
474
- z-index: 1;
475
- position: relative;
476
- }
477
-
478
- .about-wrap .form-table td img.qlwapp-avatar {
479
- width: 120px;
480
- height: 120px;
481
- }
482
-
483
- .qlwrap .nav-tab i {
484
- line-height: 26px;
485
- }
486
-
487
- .qlwrap .form-table td {
488
- vertical-align: middle;
489
- }
490
-
491
- .qlwrap .qlwapp-input,
492
- .qlwrap .qlwapp-select2 {
493
- width: 350px;
494
- max-width: 100%;
495
- }
496
-
497
- .qlwrap .qlwapp-input {
498
- margin: 0;
499
- padding: 6px;
500
- box-sizing: border-box;
501
- vertical-align: top;
502
  }
1
+ .select2-container {
2
+ box-sizing: border-box;
3
+ display: inline-block;
4
+ margin: 0;
5
+ position: relative;
6
+ vertical-align: middle
7
+ }
8
+
9
+ .select2-container .select2-selection--single {
10
+ box-sizing: border-box;
11
+ cursor: pointer;
12
+ display: block;
13
+ height: 28px;
14
+ margin: 0 0 -4px;
15
+ -moz-user-select: none;
16
+ -ms-user-select: none;
17
+ user-select: none;
18
+ -webkit-user-select: none
19
+ }
20
+
21
+ .select2-container .select2-selection--single .select2-selection__rendered {
22
+ display: block;
23
+ padding-left: 8px;
24
+ padding-right: 20px;
25
+ overflow: hidden;
26
+ text-overflow: ellipsis;
27
+ white-space: nowrap
28
+ }
29
+
30
+ .select2-container .select2-selection--single .select2-selection__clear {
31
+ position: relative
32
+ }
33
+
34
+ .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
35
+ padding-right: 8px;
36
+ padding-left: 20px
37
+ }
38
+
39
+ .select2-container .select2-selection {
40
+ box-sizing: border-box;
41
+ cursor: pointer;
42
+ display: block;
43
+ min-height: 32px;
44
+ -moz-user-select: none;
45
+ -ms-user-select: none;
46
+ user-select: none;
47
+ -webkit-user-select: none
48
+ }
49
+
50
+ .select2-container .select2-selection .select2-selection__rendered {
51
+ display: inline-block;
52
+ overflow: hidden;
53
+ padding-left: 8px;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap
56
+ }
57
+
58
+ .select2-container .select2-search--inline {
59
+ float: left;
60
+ padding: 0
61
+ }
62
+
63
+ .select2-container .select2-search--inline .select2-search__field {
64
+ box-sizing: border-box;
65
+ border: none;
66
+ font-size: 100%;
67
+ margin: 0;
68
+ padding: 0
69
+ }
70
+
71
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
72
+ -webkit-appearance: none
73
+ }
74
+
75
+ .select2-dropdown {
76
+ background-color: #fff;
77
+ border: 1px solid #ccc;
78
+ border-radius: 2px;
79
+ box-sizing: border-box;
80
+ display: block;
81
+ position: absolute;
82
+ left: -100000px;
83
+ width: 100%;
84
+ z-index: 1051
85
+ }
86
+
87
+ .select2-results {
88
+ display: block
89
+ }
90
+
91
+ .select2-results__options {
92
+ list-style: none;
93
+ margin: 0;
94
+ padding: 0
95
+ }
96
+
97
+ .select2-results__option {
98
+ margin: 0;
99
+ padding: 8px;
100
+ -moz-user-select: none;
101
+ -ms-user-select: none;
102
+ user-select: none;
103
+ -webkit-user-select: none
104
+ }
105
+
106
+ .select2-results__option[aria-selected],
107
+ .select2-results__option[data-selected] {
108
+ cursor: pointer
109
+ }
110
+
111
+ .select2-container--open .select2-dropdown {
112
+ left: 0
113
+ }
114
+
115
+ .select2-container--open .select2-dropdown--above {
116
+ border-bottom: none;
117
+ border-bottom-left-radius: 0;
118
+ border-bottom-right-radius: 0
119
+ }
120
+
121
+ .select2-container--open .select2-dropdown--below {
122
+ border-top: none;
123
+ border-top-left-radius: 0;
124
+ border-top-right-radius: 0
125
+ }
126
+
127
+ .select2-search--dropdown {
128
+ display: block;
129
+ padding: 4px
130
+ }
131
+
132
+ .select2-search--dropdown .select2-search__field {
133
+ padding: 4px;
134
+ width: 100%;
135
+ box-sizing: border-box
136
+ }
137
+
138
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
139
+ -webkit-appearance: none
140
+ }
141
+
142
+ .select2-search--dropdown.select2-search--hide {
143
+ display: none
144
+ }
145
+
146
+ .select2-close-mask {
147
+ border: 0;
148
+ margin: 0;
149
+ padding: 0;
150
+ display: block;
151
+ position: fixed;
152
+ left: 0;
153
+ top: 0;
154
+ min-height: 100%;
155
+ min-width: 100%;
156
+ height: auto;
157
+ width: auto;
158
+ opacity: 0;
159
+ z-index: 99;
160
+ background-color: #fff
161
+ }
162
+
163
+ .select2-hidden-accessible {
164
+ border: 0!important;
165
+ clip: rect(0 0 0 0)!important;
166
+ height: 1px!important;
167
+ margin: -1px!important;
168
+ overflow: hidden!important;
169
+ padding: 0!important;
170
+ position: absolute!important;
171
+ width: 1px!important
172
+ }
173
+
174
+ .select2-container--default .select2-selection--single {
175
+ background-color: #fff;
176
+ border: 1px solid #ccc;
177
+ border-radius: 4px
178
+ }
179
+
180
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
181
+ color: #444;
182
+ line-height: 28px
183
+ }
184
+
185
+ .select2-container--default .select2-selection--single .select2-selection__clear {
186
+ cursor: pointer;
187
+ float: right;
188
+ font-weight: 700
189
+ }
190
+
191
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
192
+ color: #999
193
+ }
194
+
195
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
196
+ height: 32px;
197
+ position: absolute;
198
+ top: 0px;
199
+ right: 1px;
200
+ width: 20px
201
+ }
202
+
203
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
204
+ border-color: #888 transparent transparent transparent;
205
+ border-style: solid;
206
+ border-width: 5px 4px 0 4px;
207
+ height: 0;
208
+ left: 50%;
209
+ margin-left: -4px;
210
+ margin-top: -2px;
211
+ position: absolute;
212
+ top: 50%;
213
+ width: 0
214
+ }
215
+
216
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
217
+ float: left
218
+ }
219
+
220
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
221
+ left: 1px;
222
+ right: auto
223
+ }
224
+
225
+ .select2-container--default.select2-container--disabled .select2-selection--single {
226
+ background-color: #eee;
227
+ cursor: default
228
+ }
229
+
230
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
231
+ display: none
232
+ }
233
+
234
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
235
+ border-color: transparent transparent #888 transparent;
236
+ border-width: 0 4px 5px 4px
237
+ }
238
+
239
+ .select2-container--default .select2-selection {
240
+ background-color: #fff;
241
+ border: 1px solid #ccc;
242
+ border-radius: 2px;
243
+ cursor: text
244
+ }
245
+
246
+ .select2-container--default .select2-selection .select2-selection__rendered {
247
+ box-sizing: border-box;
248
+ list-style: none;
249
+ margin: 0;
250
+ padding: 0 5px;
251
+ width: 100%
252
+ }
253
+
254
+ .select2-container--default .select2-selection .select2-selection__rendered li {
255
+ list-style: none;
256
+ margin: 5px 5px 0 0
257
+ }
258
+
259
+ .select2-container--default .select2-selection .select2-selection__rendered li:before {
260
+ content: '';
261
+ display: none
262
+ }
263
+
264
+ .select2-container--default .select2-selection .select2-selection__placeholder {
265
+ color: #999;
266
+ margin-top: 5px;
267
+ float: left
268
+ }
269
+
270
+ .select2-container--default .select2-selection .select2-selection__clear {
271
+ cursor: pointer;
272
+ float: right;
273
+ font-weight: 700;
274
+ margin-top: 5px;
275
+ margin-right: 10px
276
+ }
277
+
278
+ .select2-container--default .select2-selection .select2-selection__choice {
279
+ background-color: #e4e4e4;
280
+ border: 1px solid #ccc;
281
+ border-radius: 2px;
282
+ cursor: default;
283
+ float: left;
284
+ margin-right: 5px;
285
+ margin-top: 5px;
286
+ padding: 0 5px
287
+ }
288
+
289
+ .select2-container--default .select2-selection .select2-selection__choice__remove {
290
+ color: #999;
291
+ cursor: pointer;
292
+ display: inline-block;
293
+ font-weight: 700;
294
+ margin-right: 2px
295
+ }
296
+
297
+ .select2-container--default .select2-selection .select2-selection__choice__remove:hover {
298
+ color: #333
299
+ }
300
+
301
+ .select2-container--default[dir=rtl] .select2-selection .select2-search--inline,
302
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,
303
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder {
304
+ float: right
305
+ }
306
+
307
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice {
308
+ margin-left: 5px;
309
+ margin-right: auto
310
+ }
311
+
312
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove {
313
+ margin-left: 2px;
314
+ margin-right: auto
315
+ }
316
+
317
+ .select2-container--default.select2-container--focus .select2-selection {
318
+ outline: 0
319
+ }
320
+
321
+ .select2-container--default.select2-container--disabled .select2-selection {
322
+ background-color: #eee;
323
+ cursor: default
324
+ }
325
+
326
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
327
+ display: none
328
+ }
329
+
330
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection,
331
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
332
+ border-top-left-radius: 0;
333
+ border-top-right-radius: 0
334
+ }
335
+
336
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection,
337
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
338
+ border-bottom-left-radius: 0;
339
+ border-bottom-right-radius: 0
340
+ }
341
+
342
+ .select2-container--default .select2-search--dropdown .select2-search__field {
343
+ border: 1px solid #ccc
344
+ }
345
+
346
+ .select2-container--default .select2-search--inline .select2-search__field {
347
+ background: 0 0;
348
+ border: none;
349
+ outline: 0;
350
+ box-shadow: none;
351
+ -webkit-appearance: textfield
352
+ }
353
+
354
+ .select2-container--default .select2-results>.select2-results__options {
355
+ max-height: 200px;
356
+ overflow-y: auto
357
+ }
358
+
359
+ .select2-container--default .select2-results__option[role=group] {
360
+ padding: 0
361
+ }
362
+
363
+ .select2-container--default .select2-results__option[aria-disabled=true] {
364
+ color: #999
365
+ }
366
+
367
+ .select2-container--default .select2-results__option[aria-selected=true],
368
+ .select2-container--default .select2-results__option[data-selected=true] {
369
+ background-color: #ddd
370
+ }
371
+
372
+ .select2-container--default .select2-results__option .select2-results__option {
373
+ padding-left: 1em
374
+ }
375
+
376
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
377
+ padding-left: 0
378
+ }
379
+
380
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
381
+ margin-left: -1em;
382
+ padding-left: 2em
383
+ }
384
+
385
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
386
+ margin-left: -2em;
387
+ padding-left: 3em
388
+ }
389
+
390
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
391
+ margin-left: -3em;
392
+ padding-left: 4em
393
+ }
394
+
395
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
396
+ margin-left: -4em;
397
+ padding-left: 5em
398
+ }
399
+
400
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
401
+ margin-left: -5em;
402
+ padding-left: 6em
403
+ }
404
+
405
+ .select2-container--default .select2-results__option--highlighted[aria-selected],
406
+ .select2-container--default .select2-results__option--highlighted[data-selected] {
407
+ background-color: #0073aa;
408
+ color: #fff
409
+ }
410
+
411
+ #qlwapp_modal .attachments-browser .attachments {
412
+ top: 0;
413
+ left: 0;
414
+ right: 0;
415
+ }
416
+
417
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail,
418
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
419
+ vertical-align: middle;
420
+ text-align: center;
421
+ }
422
+
423
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail:before,
424
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before {
425
+ content: '';
426
+ display: inline-block;
427
+ width: 0px;
428
+ height: 100%;
429
+ vertical-align: middle;
430
+ }
431
+
432
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail>i,
433
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
434
+ text-align: center;
435
+ font-size: 3vw;
436
+ display: inline-block;
437
+ vertical-align: middle;
438
+ height: auto;
439
+ width: auto;
440
+ }
441
+
442
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
443
+ width: 60px;
444
+ height: 60px;
445
+ background-color: #fff;
446
+ }
447
+
448
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
449
+ font-size: 2em;
450
+ position: relative;
451
+ left: -1px;
452
+ }
453
+
454
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container {
455
+ box-sizing: border-box;
456
+ width: 100%;
457
+ border-bottom: 1px solid #ddd;
458
+ padding: 11px 0;
459
+ }
460
+
461
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color {
462
+ box-sizing: border-box;
463
+ margin: 1px;
464
+ width: 65%;
465
+ float: right;
466
+ }
467
+
468
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result {
469
+ width: 100%;
470
+ margin-top: 5px!important;
471
+ }
472
+
473
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text {
474
+ z-index: 1;
475
+ position: relative;
476
+ }
477
+
478
+ .about-wrap .form-table td img.qlwapp-avatar {
479
+ width: 120px;
480
+ height: 120px;
481
+ }
482
+
483
+ .qlwrap .nav-tab i {
484
+ line-height: 26px;
485
+ }
486
+
487
+ .qlwrap .form-table td {
488
+ vertical-align: middle;
489
+ }
490
+
491
+ .qlwrap .qlwapp-input,
492
+ .qlwrap .qlwapp-select2 {
493
+ width: 350px;
494
+ max-width: 100%;
495
+ }
496
+
497
+ .qlwrap .qlwapp-input {
498
+ margin: 0;
499
+ padding: 6px;
500
+ box-sizing: border-box;
501
+ vertical-align: top;
502
  }
assets/css/qlwapp.css CHANGED
@@ -19,6 +19,7 @@
19
  content: "\e900";
20
  }
21
  #qlwapp {
 
22
  box-sizing: border-box;
23
  /*&.qlwapp-middle-left {
24
  &.qlwapp-button {
@@ -95,6 +96,19 @@
95
  #qlwapp.qlwapp-mobile.desktop {
96
  display: none;
97
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  #qlwapp.qlwapp-middle-left,
99
  #qlwapp.qlwapp-bottom-left,
100
  #qlwapp.qlwapp-middle-right,
@@ -235,6 +249,7 @@
235
  margin-right: auto;
236
  }
237
  #qlwapp .qlwapp-toggle {
 
238
  cursor: pointer;
239
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
240
  margin-top: 24px;
@@ -293,6 +308,7 @@
293
  display: none;
294
  }
295
  #qlwapp .qlwapp-box {
 
296
  padding-bottom: 56px;
297
  position: fixed;
298
  top: auto;
@@ -435,6 +451,7 @@
435
  background-size: cover;
436
  z-index: 4;
437
  }
 
438
  #qlwapp .qlwapp-box .qlwapp-label,
439
  #qlwapp .qlwapp-box .qlwapp-offline-text {
440
  font-size: 12px;
@@ -442,9 +459,14 @@
442
  opacity: .6;
443
  display: block;
444
  }
 
 
 
 
445
  #qlwapp .qlwapp-box .qlwapp-name {
446
  display: block;
447
  font-weight: bold;
 
448
  }
449
  #qlwapp .qlwapp-box .qlwapp-body {
450
  overflow-x: hidden;
19
  content: "\e900";
20
  }
21
  #qlwapp {
22
+ pointer-events: none;
23
  box-sizing: border-box;
24
  /*&.qlwapp-middle-left {
25
  &.qlwapp-button {
96
  #qlwapp.qlwapp-mobile.desktop {
97
  display: none;
98
  }
99
+ #qlwapp .qlwapp-readonly,
100
+ #qlwapp.qlwapp-readonly {
101
+ pointer-events: none;
102
+ opacity: 0.5;
103
+ }
104
+ #qlwapp .qlwapp-readonly.qlwapp-toggle {
105
+ display: none!important;
106
+ }
107
+ #qlwapp .qlwapp-disabled,
108
+ #qlwapp.qlwapp-disabled {
109
+ display: none;
110
+ visibility: hidden;
111
+ }
112
  #qlwapp.qlwapp-middle-left,
113
  #qlwapp.qlwapp-bottom-left,
114
  #qlwapp.qlwapp-middle-right,
249
  margin-right: auto;
250
  }
251
  #qlwapp .qlwapp-toggle {
252
+ pointer-events: all;
253
  cursor: pointer;
254
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
255
  margin-top: 24px;
308
  display: none;
309
  }
310
  #qlwapp .qlwapp-box {
311
+ pointer-events: all;
312
  padding-bottom: 56px;
313
  position: fixed;
314
  top: auto;
451
  background-size: cover;
452
  z-index: 4;
453
  }
454
+ #qlwapp .qlwapp-box .qlwapp-time,
455
  #qlwapp .qlwapp-box .qlwapp-label,
456
  #qlwapp .qlwapp-box .qlwapp-offline-text {
457
  font-size: 12px;
459
  opacity: .6;
460
  display: block;
461
  }
462
+ #qlwapp .qlwapp-box .qlwapp-time {
463
+ font-size: 11px;
464
+ font-style: italic;
465
+ }
466
  #qlwapp .qlwapp-box .qlwapp-name {
467
  display: block;
468
  font-weight: bold;
469
+ line-height: 1.5em;
470
  }
471
  #qlwapp .qlwapp-box .qlwapp-body {
472
  overflow-x: hidden;
assets/css/qlwapp.min.css CHANGED
@@ -1,2 +1,2 @@
1
 
2
- @font-face{font-family:'qlwapp-whatsapp';src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:'qlwapp-whatsapp'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{box-sizing:border-box}@media(min-width:430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media(min-width:430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:'';display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:0;text-decoration:none}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0 5px 40px 5px rgba(0,0,0,0.5)}@media(min-width:430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:'';position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,0.3) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media(min-width:430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:16px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:24px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 .25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center;text-align:right}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:'';display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:.6;display:block}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{display:flex;flex-direction:column;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;margin:36px;position:relative;word-wrap:break-word;width:calc(100% - 36px*2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:'';position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:'';height:59px;top:-59px;background-image:linear-gradient(transparent,rgba(0,0,0,0.05));left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:0;padding:18px 56px 18px 36px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:0}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#fff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#303030}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}@media(min-width:430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215,0.61,0.355,1) 1000ms,transform 300ms cubic-bezier(0.215,0.61,0.355,1) 500ms,opacity 500ms ease-in 500ms;height:100%;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) .3s,opacity ease-in .3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215,0.61,0.355,1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 900ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;max-height:134px!important;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent!important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}
1
 
2
+ @font-face{font-family:'qlwapp-whatsapp';src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:'qlwapp-whatsapp'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{pointer-events:none;box-sizing:border-box}@media(min-width:430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp .qlwapp-readonly,#qlwapp.qlwapp-readonly{pointer-events:none;opacity:.5}#qlwapp .qlwapp-readonly.qlwapp-toggle{display:none!important}#qlwapp .qlwapp-disabled,#qlwapp.qlwapp-disabled{display:none;visibility:hidden}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media(min-width:430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:'';display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{pointer-events:all;cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:0;text-decoration:none}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{pointer-events:all;padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0 5px 40px 5px rgba(0,0,0,0.5)}@media(min-width:430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:'';position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,0.3) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media(min-width:430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:16px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:24px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 .25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center;text-align:right}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:'';display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-time,#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:.6;display:block}#qlwapp .qlwapp-box .qlwapp-time{font-size:11px;font-style:italic}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold;line-height:1.5em}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{display:flex;flex-direction:column;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;margin:36px;position:relative;word-wrap:break-word;width:calc(100% - 36px*2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:'';position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:'';height:59px;top:-59px;background-image:linear-gradient(transparent,rgba(0,0,0,0.05));left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:0;padding:18px 56px 18px 36px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:0}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#fff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#303030}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}@media(min-width:430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215,0.61,0.355,1) 1000ms,transform 300ms cubic-bezier(0.215,0.61,0.355,1) 500ms,opacity 500ms ease-in 500ms;height:100%;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) .3s,opacity ease-in .3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215,0.61,0.355,1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 900ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;max-height:134px!important;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent!important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}
assets/js/qlwapp-admin.js CHANGED
@@ -1,93 +1,93 @@
1
  (function ($) {
2
 
3
- // Validation box.contact.phone number
4
- $('form :input').keyup(function (e) {
5
- if (!this.reportValidity()) {
6
- $(this).closest('td').addClass('form-invalid');
7
- $('#btn-save-contact').attr('disabled', 'disabled');
8
- } else {
9
- $('#btn-save-contact').removeAttr('disabled');
10
- $(this).closest('td').removeClass('form-invalid');
11
- ;
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  });
14
 
15
- //$(document).on('ready', function () {
16
-
17
- $('.qlwapp-select2').select2({allowClear: false, theme: 'default', minimumResultsForSearch: -1});
18
-
19
- $('.qlwapp-select2-ajax').each(function () {
20
-
21
- var $select = $(this),
22
- name = $(this).data('name');
23
-
24
- $select.select2({
25
- allowClear: true,
26
- ajax: {
27
- url: ajaxurl,
28
- dataType: 'json',
29
- delay: 5000,
30
- data: function (params) {
31
- return {
32
- q: params.term,
33
- name: name,
34
- per_page: 10,
35
- action: 'qlwapp_get_posts',
36
- nonce: $select.data('nonce')
37
- };
38
- },
39
- processResults: function (response) {
40
-
41
- var options = [];
42
-
43
- if (response) {
44
- $.each(response, function (index, text) {
45
- options.push({id: text[0], text: text[1]});
46
- });
47
- }
48
- return {
49
- results: options
50
- };
51
- },
52
- cache: true
53
- },
54
- //minimumInputLength: 3
55
- });
56
 
57
- });
58
-
59
- $('.qlwapp-color-field').wpColorPicker();
60
- //});
61
 
62
 
63
- $(document).on('click', '.upload_image_button', function (e) {
64
- e.preventDefault();
65
 
66
- var send_attachment_bkp = wp.media.editor.send.attachment,
67
- button = $(this);
68
 
69
- wp.media.editor.send.attachment = function (props, attachment) {
70
- $(button).parent().prev().attr('src', attachment.url);
71
- $(button).prev().val(attachment.url);
72
- wp.media.editor.send.attachment = send_attachment_bkp;
73
- }
74
 
75
- wp.media.editor.open(button);
76
 
77
- return false;
78
- });
79
 
80
- $(document).on('click', '.remove_image_button', function (e) {
81
- e.preventDefault();
82
 
83
- var src = $(this).parent().prev().attr('data-src');
84
 
85
- $(this).parent().prev().attr('src', src);
86
 
87
- $(this).prev().prev().val('');
88
 
89
- return false;
90
- });
91
 
92
 
93
 
1
  (function ($) {
2
 
3
+ // Validation box.contact.phone number
4
+ $('form :input').keyup(function (e) {
5
+ if (!this.reportValidity()) {
6
+ $(this).closest('td').addClass('form-invalid');
7
+ $('#btn-save-contact').attr('disabled', 'disabled');
8
+ } else {
9
+ $('#btn-save-contact').removeAttr('disabled');
10
+ $(this).closest('td').removeClass('form-invalid');
11
+ ;
12
+ }
13
+ });
14
+
15
+ //$(document).on('ready', function () {
16
+
17
+ $('.qlwapp-select2').select2({allowClear: false, theme: 'default', minimumResultsForSearch: -1});
18
+
19
+ $('.qlwapp-select2-ajax').each(function () {
20
+
21
+ var $select = $(this),
22
+ name = $(this).data('name');
23
+ $select.select2({
24
+ allowClear: true,
25
+ ajax: {
26
+ url: ajaxurl,
27
+ dataType: 'json',
28
+ //delay: 500,
29
+ data: function (params) {
30
+ return {
31
+ name: name,
32
+ per_page: 10,
33
+ q: params.term || 0,
34
+ selected: $select.select2('val') || 0,
35
+ action: 'qlwapp_get_posts',
36
+ nonce: $select.data('nonce')
37
+ };
38
+ },
39
+ processResults: function (response) {
40
+
41
+ var options = [];
42
+
43
+ if (response) {
44
+ $.each(response, function (index, text) {
45
+ options.push({id: text[0], text: text[1]});
46
+ });
47
+ }
48
+ return {
49
+ results: options
50
+ };
51
+ },
52
+ cache: true
53
+ },
54
+ minimumInputLength: 3
55
  });
56
 
57
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ $('.qlwapp-color-field').wpColorPicker();
60
+ //});
 
 
61
 
62
 
63
+ $(document).on('click', '.upload_image_button', function (e) {
64
+ e.preventDefault();
65
 
66
+ var send_attachment_bkp = wp.media.editor.send.attachment,
67
+ button = $(this);
68
 
69
+ wp.media.editor.send.attachment = function (props, attachment) {
70
+ $(button).parent().prev().attr('src', attachment.url);
71
+ $(button).prev().val(attachment.url);
72
+ wp.media.editor.send.attachment = send_attachment_bkp;
73
+ }
74
 
75
+ wp.media.editor.open(button);
76
 
77
+ return false;
78
+ });
79
 
80
+ $(document).on('click', '.remove_image_button', function (e) {
81
+ e.preventDefault();
82
 
83
+ var src = $(this).parent().prev().attr('data-src');
84
 
85
+ $(this).parent().prev().attr('src', src);
86
 
87
+ $(this).prev().prev().val('');
88
 
89
+ return false;
90
+ });
91
 
92
 
93
 
assets/js/qlwapp-admin.min.js CHANGED
@@ -1,2 +1 @@
1
-
2
- (function(a){a("form :input").keyup(function(b){if(!this.reportValidity()){a(this).closest("td").addClass("form-invalid");a("#btn-save-contact").attr("disabled","disabled")}else{a("#btn-save-contact").removeAttr("disabled");a(this).closest("td").removeClass("form-invalid")}});a(".qlwapp-select2").select2({allowClear:false,theme:"default",minimumResultsForSearch:-1});a(".qlwapp-select2-ajax").each(function(){var c=a(this),b=a(this).data("name");c.select2({allowClear:true,ajax:{url:ajaxurl,dataType:"json",delay:5000,data:function(d){return{q:d.term,name:b,per_page:10,action:"qlwapp_get_posts",nonce:c.data("nonce")}},processResults:function(d){var e=[];if(d){a.each(d,function(f,g){e.push({id:g[0],text:g[1]})})}return{results:e}},cache:true},})});a(".qlwapp-color-field").wpColorPicker();a(document).on("click",".upload_image_button",function(d){d.preventDefault();var b=wp.media.editor.send.attachment,c=a(this);wp.media.editor.send.attachment=function(e,f){a(c).parent().prev().attr("src",f.url);a(c).prev().val(f.url);wp.media.editor.send.attachment=b};wp.media.editor.open(c);return false});a(document).on("click",".remove_image_button",function(b){b.preventDefault();var c=a(this).parent().prev().attr("data-src");a(this).parent().prev().attr("src",c);a(this).prev().prev().val("");return false})})(jQuery);
1
+ (function(a){a("form :input").keyup(function(b){if(!this.reportValidity()){a(this).closest("td").addClass("form-invalid");a("#btn-save-contact").attr("disabled","disabled")}else{a("#btn-save-contact").removeAttr("disabled");a(this).closest("td").removeClass("form-invalid")}});a(".qlwapp-select2").select2({allowClear:false,theme:"default",minimumResultsForSearch:-1});a(".qlwapp-select2-ajax").each(function(){var c=a(this),b=a(this).data("name");c.select2({allowClear:true,ajax:{url:ajaxurl,dataType:"json",data:function(d){return{name:b,per_page:10,q:d.term||0,selected:c.select2("val")||0,action:"qlwapp_get_posts",nonce:c.data("nonce")}},processResults:function(d){var e=[];if(d){a.each(d,function(f,g){e.push({id:g[0],text:g[1]})})}return{results:e}},cache:true},minimumInputLength:3})});a(".qlwapp-color-field").wpColorPicker();a(document).on("click",".upload_image_button",function(d){d.preventDefault();var b=wp.media.editor.send.attachment,c=a(this);wp.media.editor.send.attachment=function(e,f){a(c).parent().prev().attr("src",f.url);a(c).prev().val(f.url);wp.media.editor.send.attachment=b};wp.media.editor.open(c);return false});a(document).on("click",".remove_image_button",function(b){b.preventDefault();var c=a(this).parent().prev().attr("data-src");a(this).parent().prev().attr("src",c);a(this).prev().prev().val("");return false})})(jQuery);
 
assets/js/qlwapp.js CHANGED
@@ -1,274 +1,448 @@
1
- (function ($, window, document, undefined) {
2
- 'use strict';
3
-
4
- var defaults = {};
5
-
6
- function Plugin(element, options) {
7
- this.$qlwapp = $(element);
8
- //this.settings = $.extend({}, defaults, options);
9
-
10
- this.init(this);
11
- }
12
-
13
- Plugin.prototype = {
14
- init: function (plugin) {
15
-
16
- var $qlwapp = this.$qlwapp;
17
-
18
- $qlwapp.on('qlwapp.init', function (e) {
19
- plugin.mobiledevice = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
20
- });
21
-
22
- $qlwapp.on('qlwapp.resize', function (e) {
23
- if ($(this).hasClass('qlwapp-show')) {
24
- $(this).trigger('qlwapp.toggle');
25
- }
26
- });
27
-
28
- $qlwapp.on('qlwapp.init', function (e) {
29
-
30
- if (!plugin.mobiledevice) {
31
- $qlwapp.addClass('desktop').removeClass('mobile');
32
- } else {
33
- $qlwapp.addClass('mobile').removeClass('desktop');
34
- }
35
-
36
- $qlwapp.addClass('qlwapp-js-ready');
37
- });
38
-
39
-
40
- // Ready!
41
- // -----------------------------------------------------------------------
42
- $qlwapp.addClass('qlwapp-js-ready').trigger('qlwapp.init');
43
-
44
- // Height
45
- // -----------------------------------------------------------------------
46
-
47
- $qlwapp.on('qlwapp.height', function (e) {
48
-
49
- var $container = $(e.delegateTarget),
50
- $body = $container.find('.qlwapp-body'),
51
- $carousel = $body.find('.qlwapp-carousel');
52
-
53
- var $header = $container.find('.qlwapp-header'),
54
- $footer = $container.find('.qlwapp-footer'),
55
- height = ($(window).innerHeight() - $header.outerHeight() - $footer.outerHeight());
56
-
57
- if (!plugin.mobiledevice) {
58
- height = ($(window).innerHeight() * 0.666 - $header.outerHeight() - $footer.outerHeight());
59
- }
60
-
61
- $carousel.css({'max-height': height + 'px'});
62
-
63
- });
64
-
65
- // Toggle
66
- // -----------------------------------------------------------------------
67
-
68
- $qlwapp.on('qlwapp.toggle', function (e) {
69
-
70
- var $container = $(e.delegateTarget),
71
- $box = $container.find('.qlwapp-box');
72
-
73
- $container.addClass('qlwapp-transition');
74
-
75
- $box.removeClass('response texting');
76
-
77
- setTimeout(function () {
78
- $container.toggleClass('qlwapp-show').trigger('qlwapp.height');
79
- }, 10);
80
-
81
- setTimeout(function () {
82
- $container.toggleClass('qlwapp-transition');
83
- }, 300);
84
-
85
- });
86
-
87
- // Click
88
- // -----------------------------------------------------------------------
89
-
90
- //console.log('toggle');
91
-
92
- $qlwapp.on('click', '[data-action=box], [data-action=close]', function (e) {
93
- e.preventDefault();
94
-
95
- $(e.delegateTarget).trigger('qlwapp.toggle');
96
-
97
- });
98
-
99
- // Whatsapp
100
- // -----------------------------------------------------------------------
101
-
102
- $qlwapp.on('click', '[data-action=open]', function (e) {
103
-
104
- var url = 'https://api.whatsapp.com/send';
105
-
106
- if (!plugin.mobiledevice) {
107
- url = 'https://web.whatsapp.com/send';
108
- }
109
-
110
- $(this).attr('href', url + '?phone=' + $(this).data('phone') + '&text=' + $(this).data('message'));
111
-
112
- });
113
-
114
- // Response
115
- // -----------------------------------------------------------------------
116
-
117
- $qlwapp.on('click', '[data-action=previous]', function (e) {
118
- e.preventDefault();
119
-
120
- var $container = $(e.delegateTarget),
121
- $box = $container.find('.qlwapp-box');//,
122
- //$user = $box.find('.qlwapp-user');
123
-
124
- $box.addClass('closing');
125
-
126
- setTimeout(function () {
127
- $box.removeClass('response').removeClass('closing');
128
- $box.removeClass('texting')
129
- //$user.empty();
130
- }, 300);
131
-
132
- });
133
-
134
- $qlwapp.on('click', '[data-action=chat]', function (e) {
135
- e.preventDefault();
136
-
137
- var $contact = $(this),
138
- $container = $(e.delegateTarget),
139
- $box = $container.find('.qlwapp-box'),
140
- avatar = $contact.find('.qlwapp-avatar img').attr('src'),
141
- name = $contact.find('.qlwapp-name').text(),
142
- label = $contact.find('.qlwapp-label').text(),
143
- //url = $contact.data('url'),
144
- message = $contact.data('message'),
145
- phone = $contact.data('phone');
146
-
147
- $box.addClass('response').addClass('opening');
148
-
149
- $container.trigger('qlwapp.height');
150
-
151
- setTimeout(function () {
152
- $box.removeClass('opening');
153
- }, 300);
154
-
155
- var $reply = $box.find('.qlwapp-reply'),
156
- $header = $box.find('.qlwapp-header'),
157
- $avatar = $header.find('.qlwapp-avatar img'),
158
- $number = $header.find('.qlwapp-number'),
159
- $name = $header.find('.qlwapp-name'),
160
- $label = $header.find('.qlwapp-label'),
161
- $message = $box.find('.qlwapp-message');
162
-
163
-
164
- $reply.data('phone', phone);//.data('message', message);
165
- $avatar.attr('src', avatar);
166
- $number.html(phone);
167
- $name.html(name);
168
- $label.html(label);
169
- $message.html(message);
170
-
171
- });
172
-
173
- // Response
174
- // -----------------------------------------------------------------------
175
-
176
- $qlwapp.on('click', 'textarea', function (e) {
177
- $qlwapp.off('qlwapp.resize');
178
- });
179
-
180
- $qlwapp.on('keypress', 'textarea', function (e) {
181
- if (e.keyCode == 13) {
182
- $qlwapp.find('.qlwapp-reply').trigger('click');
183
- setTimeout(function () {
184
- window.location = $qlwapp.find('.qlwapp-reply').attr('href');
185
- }, 100);
186
- }
187
- });
188
-
189
- $qlwapp.on('keyup', '[data-action=response]', function (e) {
190
- e.preventDefault();
191
-
192
- var $textarea = $(this).find('textarea'),
193
- $pre = $(this).find('pre'),
194
- $reply = $(this).find('.qlwapp-reply'),
195
- $container = $(e.delegateTarget),
196
- $box = $container.find('.qlwapp-box'),
197
- //$user = $box.find('.qlwapp-user'),
198
- $buttons = $box.find('.qlwapp-buttons');
199
-
200
- $pre.html($textarea.val());
201
-
202
- setTimeout(function () {
203
- $box.addClass('texting').css({'padding-bottom': $pre.outerHeight()});
204
- $buttons.addClass('active');
205
- var message = $textarea.val();
206
- $reply.data('message', message);
207
-
208
- if (message == '') {
209
- $box.removeClass('texting');
210
- $buttons.removeClass('active');
211
- }
212
-
213
- }, 300);
214
-
215
- });
216
-
217
- $qlwapp.trigger('qlwapp.init');
218
- },
219
- };
220
-
221
- $.fn.qlwapp = function (options) {
222
-
223
- var args = arguments;
224
-
225
- if (options === undefined || typeof options === 'object') {
226
- return this.each(function () {
227
- if (!$.data(this, 'plugin_qlwapp')) {
228
- $.data(this, 'plugin_qlwapp', new Plugin(this, options));
229
- }
230
- });
231
- } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
232
- // Cache the method call to make it possible to return a value
233
- var returns;
234
- this.each(function () {
235
- var instance = $.data(this, 'plugin_qlwapp');
236
- // Tests that there's already a plugin-instance and checks that the requested public method exists
237
- if (instance instanceof Plugin && typeof instance[options] === 'function') {
238
- // Call the method of our plugin instance, and pass it the supplied arguments.
239
- returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
240
- }
241
- // Allow instances to be destroyed via the 'destroy' method
242
- if (options === 'destroy') {
243
- //console.log('destroy');
244
- $.data(this, 'plugin_qlwapp', null);
245
- }
246
- });
247
- // If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
248
- return returns !== undefined ? returns : this;
249
- }
250
- }
251
-
252
- function qlwapp_init() {
253
- $('div#qlwapp').qlwapp();
254
- }
255
-
256
- qlwapp_init();
257
-
258
- $(window).on('load', function () {
259
- qlwapp_init();
260
- //$('div#qlwapp').trigger('qlwapp.toggle');
261
- });
262
-
263
- $(window).on('click', function (e) {
264
- if (!$(e.target).closest('#qlwapp.qlwapp-show').length) {
265
- $('div#qlwapp.qlwapp-show').trigger('qlwapp.toggle');
266
- }
267
- });
268
-
269
- $(window).on('resize', function (e) {
270
- $('div#qlwapp').trigger('qlwapp.resize');
271
- $('div#qlwapp').trigger('qlwapp.init');
272
- });
273
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  })(jQuery, window, document);
1
+ (function ($, window, document, undefined) {
2
+ 'use strict';
3
+
4
+ var defaults = {};
5
+
6
+ function Plugin(element, options) {
7
+ this.$qlwapp = $(element);
8
+ //this.settings = $.extend({}, defaults, options);
9
+
10
+ this.init(this);
11
+ }
12
+
13
+ Plugin.prototype = {
14
+ init: function (plugin) {
15
+
16
+ var $qlwapp = this.$qlwapp;
17
+
18
+ $qlwapp.on('qlwapp.init', function (e) {
19
+ plugin.mobiledevice = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
20
+ });
21
+
22
+ $qlwapp.on('qlwapp.time', function (e) {
23
+ var $contact = $(e.target),
24
+ timefrom = $contact.data('timefrom') || false,
25
+ timeto = $contact.data('timeto') || false,
26
+ // timeout = $contact.data('timeout'),
27
+ timezone = $contact.data('timezone') || false;
28
+ if (!timeto || !timefrom || !timezone || (timefrom === timeto))
29
+ return;
30
+ // Redefino hora desde y hasta de definidos y hago copia
31
+ var timeTo = new Date(), timeToAux;
32
+ var timeFrom = new Date(), timeFromAux;
33
+ // Hora de atencion contacto incluido los Min
34
+ var stgTimeTo, stgTimeFrom, stgMinTimeFrom, stgMinTimeTo;
35
+ // la hora
36
+ stgTimeFrom = timefrom[0] + timefrom[1];
37
+ stgTimeFrom = parseInt(stgTimeFrom);
38
+ stgTimeTo = timeto[0] + timeto[1];
39
+ stgTimeTo = parseInt(stgTimeTo);
40
+ // los minutos
41
+ stgMinTimeFrom = timefrom[3] + timefrom[4];
42
+ stgMinTimeFrom = parseInt(stgMinTimeFrom);
43
+ stgMinTimeTo = timeto[3] + timeto[4];
44
+ stgMinTimeTo = parseInt(stgMinTimeTo);
45
+ // seteo la hora y los minutos de atecion del contacto
46
+ timeFrom.setHours(stgTimeFrom);
47
+ timeTo.setHours(stgTimeTo);
48
+ timeFrom.setMinutes(stgMinTimeFrom);
49
+ timeTo.setMinutes(stgMinTimeTo);
50
+ // lo uso maas abajo para despues setear la vista
51
+ timeToAux = timeTo;
52
+ timeFromAux = timeFrom;
53
+
54
+ var gmtHrContact;
55
+ // gmt local y hora local
56
+ var timeZoneLocal = new Date().toLocaleTimeString('en-us', {timeZoneName: 'short'}).split(' ')[2];
57
+ // console.log(timeZoneLocal);
58
+ var timeSimuladoLocal = new Date();
59
+ var timeLocalHR = 0;
60
+ // GMT DEL CONTACTO
61
+ // GMT con el numero en absoluto
62
+ var gmtHrContact = 0;
63
+ var gmtMinContact = 0;
64
+ var gtmAux;
65
+ //veo el signo pero para separar SI tiene minunto ':'
66
+ if (timezone[3] === '+') {
67
+ gtmAux = timezone.split('+')[1];
68
+ } else {
69
+ gtmAux = timezone.split('-')[1];
70
+ }
71
+ if (gtmAux.split(':').length === 2) {
72
+ gmtHrContact = parseInt(gtmAux.split(':')[0]);
73
+ gmtMinContact = parseInt(gtmAux.split(':')[1]);
74
+ } else {
75
+ gmtHrContact = parseInt(gtmAux);
76
+ }
77
+ // parceo el GMT Del contacto respetando el simbolo
78
+ if (timezone[3] === '-') {
79
+ gmtHrContact = -1 * gmtHrContact;
80
+ }
81
+ // parce el GMT LOCAL viendo de invertir su valor SE repite N
82
+ timeLocalHR = parseInt(timeZoneLocal[4]);
83
+ if (timeZoneLocal[3] !== '-') {
84
+ timeLocalHR = -1 * parseInt(timeZoneLocal[4]);
85
+ }
86
+ //SET HR = GMT Contact + (-) GTM Local + Minutos
87
+ var hrFinal = timeSimuladoLocal.getHours();
88
+ var minFinal = timeSimuladoLocal.getMinutes();
89
+ //seteo
90
+ hrFinal = hrFinal + gmtHrContact + timeLocalHR;
91
+ minFinal = minFinal + gmtMinContact;
92
+ timeSimuladoLocal.setHours(hrFinal);
93
+ timeSimuladoLocal.setMinutes(minFinal);
94
+
95
+ var strFromMinutes = '0', strToMinutes = '0';
96
+ /// si son las 24 hs
97
+ if (timeFrom.getTime() === timeTo.getTime()) {
98
+ timeTo.setHours(timeTo.getHours() + 24);
99
+ strFromMinutes = '00';
100
+ strToMinutes = '00';
101
+ } else {
102
+ // si cambia el dia
103
+ if (timeFrom.getTime() > timeTo.getTime()) {
104
+ timeTo.setHours(timeTo.getHours() + 24);
105
+ }
106
+ // if(timeFrom.getDay() >= timeTo.getDay()) //ver poruqe
107
+ if (!(timeFrom.getTime() === timeSimuladoLocal.getTime() || timeFrom.getTime() < timeSimuladoLocal.getTime()) || !(timeTo.getTime() === timeSimuladoLocal.getTime() || timeTo.getTime() > timeSimuladoLocal.getTime())) {
108
+ $contact.addClass('qlwapp-readonly');
109
+ // console.log(timeFrom +': '+ timeFrom.getDay() +' | '+timeTo+': '+ + timeTo.getDay() );
110
+ // console.log(timeFrom.getTime()+' | ' + timeTo.getTime());
111
+ /*if (timeout === 'yes') {
112
+ $contact.addClass('qlwapp-readonly');
113
+ } else {
114
+ $contact.addClass('qlwapp-disabled');
115
+ $(this).addClass('qlwapp-disabled');sacar esto
116
+ }*/
117
+ }
118
+
119
+ /*
120
+ // para mostrar en la caja el horario local en el que ul usuario estaria activo
121
+ */
122
+ var horaActual = new Date(),
123
+ horaLocalSimulada = parseInt(timeSimuladoLocal.getHours()),
124
+ diferenciaHr = horaLocalSimulada - parseInt(horaActual.getHours());
125
+ diferenciaHr = diferenciaHr * -1;
126
+ var horaFromAux = timeFromAux.getHours() + diferenciaHr,
127
+ horaToAux = timeToAux.getHours() + diferenciaHr;
128
+ // le invierto el simbolo, para que se ajuste a la hora real (?
129
+ timeFromAux.setHours(horaFromAux);
130
+ timeToAux.setHours(horaToAux);
131
+ if (timeFromAux.getMinutes() < 10) {
132
+ strFromMinutes = strFromMinutes + timeFromAux.getMinutes();
133
+ } else {
134
+ strFromMinutes = timeFromAux.getMinutes();
135
+ }
136
+ if (timeToAux.getMinutes() < 10) {
137
+ strToMinutes = strToMinutes + timeToAux.getMinutes();
138
+ } else {
139
+ strToMinutes = +timeToAux.getMinutes();
140
+ }
141
+ }
142
+ // seteo lo que se muestra
143
+ $contact.find('.from').text(timeFromAux.getHours() + ':' + strFromMinutes);
144
+ $contact.find('.to').text(timeToAux.getHours() + ':' + strToMinutes);
145
+
146
+
147
+
148
+ });
149
+
150
+ $qlwapp.on('qlwapp.pro', function (e) {
151
+
152
+ $qlwapp.find('.qlwapp-toggle').trigger('qlwapp.time');
153
+
154
+ $qlwapp.find('.qlwapp-account').each(function (i, contact) {
155
+ $(contact).trigger('qlwapp.time');
156
+ });
157
+ });
158
+
159
+ /* // luego se veraa
160
+ // Contacts time is over
161
+ // -----------------------------------------------------------------------
162
+ $qlwapp.on('qlwapp.pro', function (e) {
163
+
164
+ var $container = $(e.delegateTarget),
165
+ $box = $container.find('.qlwapp-box'),
166
+ contactstimeout = $box.find('.qlwapp-footer').data('contactstimeout') || false;
167
+
168
+ if ($box.length && contactstimeout) {
169
+
170
+ var contacts = $qlwapp.find('.qlwapp-account').length,
171
+ disabled = $qlwapp.find('.qlwapp-account.qlwapp-disabled').length,
172
+ readonly = $qlwapp.find('.qlwapp-account.qlwapp-readonly').length;
173
+
174
+ // reveer que pasa con el disabled del boton
175
+ if (contacts === (disabled + readonly)) {
176
+ if (contactstimeout === 'yes') {
177
+ $qlwapp.addClass('qlwapp-readonly');
178
+ }
179
+ // else {
180
+ // $qlwapp.removeClass('qlwapp-js-ready');
181
+ // }
182
+
183
+ }
184
+ }
185
+ });
186
+ */
187
+
188
+ $qlwapp.on('qlwapp.resize', function (e) {
189
+ if ($(this).hasClass('qlwapp-show')) {
190
+ $(this).trigger('qlwapp.toggle');
191
+ }
192
+ });
193
+
194
+ $qlwapp.on('qlwapp.init', function (e) {
195
+
196
+ if (!plugin.mobiledevice) {
197
+ $qlwapp.addClass('desktop').removeClass('mobile');
198
+ } else {
199
+ $qlwapp.addClass('mobile').removeClass('desktop');
200
+ }
201
+
202
+ $qlwapp.addClass('qlwapp-js-ready');
203
+ });
204
+
205
+ // is Premium!
206
+ // -----------------------------------------------------------------------
207
+ $qlwapp.on('qlwapp.init', function (e) {
208
+ if ($qlwapp.hasClass('qlwapp-premium')) {
209
+ $qlwapp.trigger('qlwapp.pro');
210
+ }
211
+ });
212
+ // Ready!
213
+ // -----------------------------------------------------------------------
214
+ $qlwapp.addClass('qlwapp-js-ready').trigger('qlwapp.init');
215
+
216
+ // Height
217
+ // -----------------------------------------------------------------------
218
+
219
+ $qlwapp.on('qlwapp.height', function (e) {
220
+
221
+ var $container = $(e.delegateTarget),
222
+ $body = $container.find('.qlwapp-body'),
223
+ $carousel = $body.find('.qlwapp-carousel');
224
+
225
+ var $header = $container.find('.qlwapp-header'),
226
+ $footer = $container.find('.qlwapp-footer'),
227
+ height = ($(window).innerHeight() - $header.outerHeight() - $footer.outerHeight());
228
+
229
+ if (!plugin.mobiledevice) {
230
+ height = ($(window).innerHeight() * 0.7 - $header.outerHeight() - $footer.outerHeight());
231
+ }
232
+
233
+ $carousel.css({'max-height': height + 'px'});
234
+
235
+ });
236
+
237
+ // Toggle
238
+ // -----------------------------------------------------------------------
239
+
240
+ $qlwapp.on('qlwapp.toggle', function (e) {
241
+
242
+ var $container = $(e.delegateTarget),
243
+ $box = $container.find('.qlwapp-box');
244
+
245
+ $container.addClass('qlwapp-transition');
246
+
247
+ $box.removeClass('response texting');
248
+
249
+ setTimeout(function () {
250
+ $container.toggleClass('qlwapp-show').trigger('qlwapp.height');
251
+ }, 10);
252
+
253
+ setTimeout(function () {
254
+ $container.toggleClass('qlwapp-transition');
255
+ }, 300);
256
+
257
+ });
258
+
259
+ // Click
260
+ // -----------------------------------------------------------------------
261
+
262
+ //console.log('toggle');
263
+
264
+ $qlwapp.on('click', '[data-action=box], [data-action=close]', function (e) {
265
+ e.preventDefault();
266
+
267
+ $(e.delegateTarget).trigger('qlwapp.toggle');
268
+
269
+ });
270
+
271
+ // Whatsapp
272
+ // -----------------------------------------------------------------------
273
+
274
+ $qlwapp.on('click', '[data-action=open]', function (e) {
275
+
276
+ var url = 'https://api.whatsapp.com/send';
277
+
278
+ if (!plugin.mobiledevice) {
279
+ url = 'https://web.whatsapp.com/send';
280
+ }
281
+
282
+ $(this).attr('href', url + '?phone=' + $(this).data('phone') + '&text=' + $(this).data('message'));
283
+
284
+ });
285
+
286
+ // Response
287
+ // -----------------------------------------------------------------------
288
+
289
+ $qlwapp.on('click', '[data-action=previous]', function (e) {
290
+ e.preventDefault();
291
+
292
+ var $container = $(e.delegateTarget),
293
+ $box = $container.find('.qlwapp-box');//,
294
+ //$user = $box.find('.qlwapp-user');
295
+
296
+ $box.addClass('closing');
297
+
298
+ setTimeout(function () {
299
+ $box.removeClass('response').removeClass('closing');
300
+ $box.removeClass('texting')
301
+ //$user.empty();
302
+ }, 300);
303
+
304
+ });
305
+
306
+ $qlwapp.on('click', '[data-action=chat]', function (e) {
307
+ e.preventDefault();
308
+
309
+ var $contact = $(this),
310
+ $container = $(e.delegateTarget),
311
+ $box = $container.find('.qlwapp-box'),
312
+ avatar = $contact.find('.qlwapp-avatar img').attr('src'),
313
+ name = $contact.find('.qlwapp-name').text(),
314
+ label = $contact.find('.qlwapp-label').text(),
315
+ time = $contact.find('.qlwapp-time').text(),
316
+ //url = $contact.data('url'),
317
+ message = $contact.data('message'),
318
+ phone = $contact.data('phone');
319
+
320
+ $box.addClass('response').addClass('opening');
321
+
322
+ $container.trigger('qlwapp.height');
323
+
324
+ setTimeout(function () {
325
+ $box.removeClass('opening');
326
+ }, 300);
327
+
328
+ var $reply = $box.find('.qlwapp-reply'),
329
+ $header = $box.find('.qlwapp-header'),
330
+ $avatar = $header.find('.qlwapp-avatar img'),
331
+ $number = $header.find('.qlwapp-number'),
332
+ $name = $header.find('.qlwapp-name'),
333
+ $label = $header.find('.qlwapp-label'),
334
+ $message = $box.find('.qlwapp-message');
335
+
336
+ var meta = time ? time + ' - ' + label : label;
337
+
338
+ $reply.data('phone', phone);//.data('message', message);
339
+ $avatar.attr('src', avatar);
340
+ $number.html(phone);
341
+ $name.html(name);
342
+ $label.html(meta);
343
+ $message.html(message);
344
+
345
+ });
346
+
347
+ // Response
348
+ // -----------------------------------------------------------------------
349
+
350
+ $qlwapp.on('click', 'textarea', function (e) {
351
+ $qlwapp.off('qlwapp.resize');
352
+ });
353
+
354
+ $qlwapp.on('keypress', 'textarea', function (e) {
355
+ if (e.keyCode == 13) {
356
+ $qlwapp.find('.qlwapp-reply').trigger('click');
357
+ setTimeout(function () {
358
+ window.location = $qlwapp.find('.qlwapp-reply').attr('href');
359
+ }, 100);
360
+ }
361
+ });
362
+
363
+ $qlwapp.on('keyup', '[data-action=response]', function (e) {
364
+ e.preventDefault();
365
+
366
+ var $textarea = $(this).find('textarea'),
367
+ $pre = $(this).find('pre'),
368
+ $reply = $(this).find('.qlwapp-reply'),
369
+ $container = $(e.delegateTarget),
370
+ $box = $container.find('.qlwapp-box'),
371
+ //$user = $box.find('.qlwapp-user'),
372
+ $buttons = $box.find('.qlwapp-buttons');
373
+
374
+ $pre.html($textarea.val());
375
+
376
+ setTimeout(function () {
377
+ $box.addClass('texting').css({'padding-bottom': $pre.outerHeight()});
378
+ $buttons.addClass('active');
379
+ var message = $textarea.val();
380
+ $reply.data('message', message);
381
+
382
+ if (message == '') {
383
+ $box.removeClass('texting');
384
+ $buttons.removeClass('active');
385
+ }
386
+
387
+ }, 300);
388
+
389
+ });
390
+
391
+ $qlwapp.trigger('qlwapp.init');
392
+ }
393
+ };
394
+
395
+ $.fn.qlwapp = function (options) {
396
+
397
+ var args = arguments;
398
+
399
+ if (options === undefined || typeof options === 'object') {
400
+ return this.each(function () {
401
+ if (!$.data(this, 'plugin_qlwapp')) {
402
+ $.data(this, 'plugin_qlwapp', new Plugin(this, options));
403
+ }
404
+ });
405
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
406
+ // Cache the method call to make it possible to return a value
407
+ var returns;
408
+ this.each(function () {
409
+ var instance = $.data(this, 'plugin_qlwapp');
410
+ // Tests that there's already a plugin-instance and checks that the requested public method exists
411
+ if (instance instanceof Plugin && typeof instance[options] === 'function') {
412
+ // Call the method of our plugin instance, and pass it the supplied arguments.
413
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
414
+ }
415
+ // Allow instances to be destroyed via the 'destroy' method
416
+ if (options === 'destroy') {
417
+ //console.log('destroy');
418
+ $.data(this, 'plugin_qlwapp', null);
419
+ }
420
+ });
421
+ // If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
422
+ return returns !== undefined ? returns : this;
423
+ }
424
+ }
425
+
426
+ function qlwapp_init() {
427
+ $('div#qlwapp').qlwapp();
428
+ }
429
+
430
+ qlwapp_init();
431
+
432
+ $(window).on('load', function () {
433
+ qlwapp_init();
434
+ //$('div#qlwapp').trigger('qlwapp.toggle');
435
+ });
436
+
437
+ $(window).on('click', function (e) {
438
+ if (!$(e.target).closest('#qlwapp.qlwapp-show').length) {
439
+ $('div#qlwapp.qlwapp-show').trigger('qlwapp.toggle');
440
+ }
441
+ });
442
+
443
+ $(window).on('resize', function (e) {
444
+ $('div#qlwapp').trigger('qlwapp.resize');
445
+ $('div#qlwapp').trigger('qlwapp.init');
446
+ });
447
+
448
  })(jQuery, window, document);
assets/js/qlwapp.min.js CHANGED
@@ -1 +1,2 @@
1
- (function(d,c,a,g){var e={};function b(i,h){this.$qlwapp=d(i);this.init(this)}b.prototype={init:function(i){var h=this.$qlwapp;h.on("qlwapp.init",function(j){i.mobiledevice=(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))});h.on("qlwapp.resize",function(j){if(d(this).hasClass("qlwapp-show")){d(this).trigger("qlwapp.toggle")}});h.on("qlwapp.init",function(j){if(!i.mobiledevice){h.addClass("desktop").removeClass("mobile")}else{h.addClass("mobile").removeClass("desktop")}h.addClass("qlwapp-js-ready")});h.addClass("qlwapp-js-ready").trigger("qlwapp.init");h.on("qlwapp.height",function(o){var p=d(o.delegateTarget),n=p.find(".qlwapp-body"),m=n.find(".qlwapp-carousel");var l=p.find(".qlwapp-header"),k=p.find(".qlwapp-footer"),j=(d(c).innerHeight()-l.outerHeight()-k.outerHeight());if(!i.mobiledevice){j=(d(c).innerHeight()*0.666-l.outerHeight()-k.outerHeight())}m.css({"max-height":j+"px"})});h.on("qlwapp.toggle",function(k){var l=d(k.delegateTarget),j=l.find(".qlwapp-box");l.addClass("qlwapp-transition");j.removeClass("response texting");setTimeout(function(){l.toggleClass("qlwapp-show").trigger("qlwapp.height")},10);setTimeout(function(){l.toggleClass("qlwapp-transition")},300)});h.on("click","[data-action=box], [data-action=close]",function(j){j.preventDefault();d(j.delegateTarget).trigger("qlwapp.toggle")});h.on("click","[data-action=open]",function(k){var j="https://api.whatsapp.com/send";if(!i.mobiledevice){j="https://web.whatsapp.com/send"}d(this).attr("href",j+"?phone="+d(this).data("phone")+"&text="+d(this).data("message"))});h.on("click","[data-action=previous]",function(k){k.preventDefault();var l=d(k.delegateTarget),j=l.find(".qlwapp-box");j.addClass("closing");setTimeout(function(){j.removeClass("response").removeClass("closing");j.removeClass("texting")},300)});h.on("click","[data-action=chat]",function(r){r.preventDefault();var k=d(this),x=d(r.delegateTarget),l=x.find(".qlwapp-box"),t=k.find(".qlwapp-avatar img").attr("src"),m=k.find(".qlwapp-name").text(),u=k.find(".qlwapp-label").text(),y=k.data("message"),q=k.data("phone");l.addClass("response").addClass("opening");x.trigger("qlwapp.height");setTimeout(function(){l.removeClass("opening")},300);var n=l.find(".qlwapp-reply"),j=l.find(".qlwapp-header"),o=j.find(".qlwapp-avatar img"),v=j.find(".qlwapp-number"),w=j.find(".qlwapp-name"),s=j.find(".qlwapp-label"),p=l.find(".qlwapp-message");n.data("phone",q);o.attr("src",t);v.html(q);w.html(m);s.html(u);p.html(y)});h.on("click","textarea",function(j){h.off("qlwapp.resize")});h.on("keypress","textarea",function(j){if(j.keyCode==13){h.find(".qlwapp-reply").trigger("click");setTimeout(function(){c.location=h.find(".qlwapp-reply").attr("href")},100)}});h.on("keyup","[data-action=response]",function(m){m.preventDefault();var p=d(this).find("textarea"),o=d(this).find("pre"),j=d(this).find(".qlwapp-reply"),n=d(m.delegateTarget),l=n.find(".qlwapp-box"),k=l.find(".qlwapp-buttons");o.html(p.val());setTimeout(function(){l.addClass("texting").css({"padding-bottom":o.outerHeight()});k.addClass("active");var q=p.val();j.data("message",q);if(q==""){l.removeClass("texting");k.removeClass("active")}},300)});h.trigger("qlwapp.init")},};d.fn.qlwapp=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!d.data(this,"plugin_qlwapp")){d.data(this,"plugin_qlwapp",new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=d.data(this,"plugin_qlwapp");if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){d.data(this,"plugin_qlwapp",null)}});return j!==g?j:this}}};function f(){d("div#qlwapp").qlwapp()}f();d(c).on("load",function(){f()});d(c).on("click",function(h){if(!d(h.target).closest("#qlwapp.qlwapp-show").length){d("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")}});d(c).on("resize",function(h){d("div#qlwapp").trigger("qlwapp.resize");d("div#qlwapp").trigger("qlwapp.init")})})(jQuery,window,document);
 
1
+
2
+ (function(d,c,a,g){var e={};function b(i,h){this.$qlwapp=d(i);this.init(this)}b.prototype={init:function(i){var h=this.$qlwapp;h.on("qlwapp.init",function(j){i.mobiledevice=(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))});h.on("qlwapp.time",function(G){var s=d(G.target),x=s.data("timefrom")||false,t=s.data("timeto")||false,B=s.data("timezone")||false;if(!t||!x||!B||(x===t)){return}var w=new Date(),m;var D=new Date(),I;var v,F,C,q;F=x[0]+x[1];F=parseInt(F);v=t[0]+t[1];v=parseInt(v);C=x[3]+x[4];C=parseInt(C);q=t[3]+t[4];q=parseInt(q);D.setHours(F);w.setHours(v);D.setMinutes(C);w.setMinutes(q);m=w;I=D;var K;var r=new Date().toLocaleTimeString("en-us",{timeZoneName:"short"}).split(" ")[2];var E=new Date();var u=0;var K=0;var J=0;var A;if(B[3]==="+"){A=B.split("+")[1]}else{A=B.split("-")[1]}if(A.split(":").length===2){K=parseInt(A.split(":")[0]);J=parseInt(A.split(":")[1])}else{K=parseInt(A)}if(B[3]==="-"){K=-1*K}u=parseInt(r[4]);if(r[3]!=="-"){u=-1*parseInt(r[4])}var p=E.getHours();var j=E.getMinutes();p=p+K+u;j=j+J;E.setHours(p);E.setMinutes(j);var H="0",n="0";if(D.getTime()===w.getTime()){w.setHours(w.getHours()+24);H="00";n="00"}else{if(D.getTime()>w.getTime()){w.setHours(w.getHours()+24)}if(!(D.getTime()===E.getTime()||D.getTime()<E.getTime())||!(w.getTime()===E.getTime()||w.getTime()>E.getTime())){s.addClass("qlwapp-readonly")}var o=new Date(),l=parseInt(E.getHours()),z=l-parseInt(o.getHours());z=z*-1;var k=I.getHours()+z,y=m.getHours()+z;I.setHours(k);m.setHours(y);if(I.getMinutes()<10){H=H+I.getMinutes()}else{H=I.getMinutes()}if(m.getMinutes()<10){n=n+m.getMinutes()}else{n=+m.getMinutes()}}s.find(".from").text(I.getHours()+":"+H);s.find(".to").text(m.getHours()+":"+n)});h.on("qlwapp.pro",function(j){h.find(".qlwapp-toggle").trigger("qlwapp.time");h.find(".qlwapp-account").each(function(l,k){d(k).trigger("qlwapp.time")})});h.on("qlwapp.resize",function(j){if(d(this).hasClass("qlwapp-show")){d(this).trigger("qlwapp.toggle")}});h.on("qlwapp.init",function(j){if(!i.mobiledevice){h.addClass("desktop").removeClass("mobile")}else{h.addClass("mobile").removeClass("desktop")}h.addClass("qlwapp-js-ready")});h.on("qlwapp.init",function(j){if(h.hasClass("qlwapp-premium")){h.trigger("qlwapp.pro")}});h.addClass("qlwapp-js-ready").trigger("qlwapp.init");h.on("qlwapp.height",function(o){var p=d(o.delegateTarget),n=p.find(".qlwapp-body"),m=n.find(".qlwapp-carousel");var l=p.find(".qlwapp-header"),k=p.find(".qlwapp-footer"),j=(d(c).innerHeight()-l.outerHeight()-k.outerHeight());if(!i.mobiledevice){j=(d(c).innerHeight()*0.7-l.outerHeight()-k.outerHeight())}m.css({"max-height":j+"px"})});h.on("qlwapp.toggle",function(k){var l=d(k.delegateTarget),j=l.find(".qlwapp-box");l.addClass("qlwapp-transition");j.removeClass("response texting");setTimeout(function(){l.toggleClass("qlwapp-show").trigger("qlwapp.height")},10);setTimeout(function(){l.toggleClass("qlwapp-transition")},300)});h.on("click","[data-action=box], [data-action=close]",function(j){j.preventDefault();d(j.delegateTarget).trigger("qlwapp.toggle")});h.on("click","[data-action=open]",function(k){var j="https://api.whatsapp.com/send";if(!i.mobiledevice){j="https://web.whatsapp.com/send"}d(this).attr("href",j+"?phone="+d(this).data("phone")+"&text="+d(this).data("message"))});h.on("click","[data-action=previous]",function(k){k.preventDefault();var l=d(k.delegateTarget),j=l.find(".qlwapp-box");j.addClass("closing");setTimeout(function(){j.removeClass("response").removeClass("closing");j.removeClass("texting")},300)});h.on("click","[data-action=chat]",function(w){w.preventDefault();var n=d(this),t=d(w.delegateTarget),u=t.find(".qlwapp-box"),v=n.find(".qlwapp-avatar img").attr("src"),A=n.find(".qlwapp-name").text(),q=n.find(".qlwapp-label").text(),p=n.find(".qlwapp-time").text(),r=n.data("message"),o=n.data("phone");u.addClass("response").addClass("opening");t.trigger("qlwapp.height");setTimeout(function(){u.removeClass("opening")},300);var k=u.find(".qlwapp-reply"),x=u.find(".qlwapp-header"),j=x.find(".qlwapp-avatar img"),m=x.find(".qlwapp-number"),l=x.find(".qlwapp-name"),z=x.find(".qlwapp-label"),y=u.find(".qlwapp-message");var s=p?p+" - "+q:q;k.data("phone",o);j.attr("src",v);m.html(o);l.html(A);z.html(s);y.html(r)});h.on("click","textarea",function(j){h.off("qlwapp.resize")});h.on("keypress","textarea",function(j){if(j.keyCode==13){h.find(".qlwapp-reply").trigger("click");setTimeout(function(){c.location=h.find(".qlwapp-reply").attr("href")},100)}});h.on("keyup","[data-action=response]",function(m){m.preventDefault();var p=d(this).find("textarea"),o=d(this).find("pre"),j=d(this).find(".qlwapp-reply"),n=d(m.delegateTarget),l=n.find(".qlwapp-box"),k=l.find(".qlwapp-buttons");o.html(p.val());setTimeout(function(){l.addClass("texting").css({"padding-bottom":o.outerHeight()});k.addClass("active");var q=p.val();j.data("message",q);if(q==""){l.removeClass("texting");k.removeClass("active")}},300)});h.trigger("qlwapp.init")}};d.fn.qlwapp=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!d.data(this,"plugin_qlwapp")){d.data(this,"plugin_qlwapp",new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=d.data(this,"plugin_qlwapp");if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){d.data(this,"plugin_qlwapp",null)}});return j!==g?j:this}}};function f(){d("div#qlwapp").qlwapp()}f();d(c).on("load",function(){f()});d(c).on("click",function(h){if(!d(h.target).closest("#qlwapp.qlwapp-show").length){d("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")}});d(c).on("resize",function(h){d("div#qlwapp").trigger("qlwapp.resize");d("div#qlwapp").trigger("qlwapp.init")})})(jQuery,window,document);
assets/less/animations.less CHANGED
@@ -1,369 +1,369 @@
1
- #qlwapp {
2
- display: none;
3
-
4
-
5
- &.qlwapp-show {
6
- .qlwapp-box {
7
- visibility: visible;
8
- opacity: 1;
9
- transform: translateY(0) scale(1);
10
- display: block;
11
- }
12
- }
13
-
14
- &.qlwapp-transition {
15
- .qlwapp-box {
16
- visibility: visible;
17
- display: block;
18
- }
19
- }
20
-
21
- &.qlwapp-bubble {
22
-
23
- &.qlwapp-show {
24
- .qlwapp-toggle {
25
-
26
- .qlwapp-icon {
27
- transform: scale(0,0);
28
- opacity: 0;
29
- }
30
-
31
- .qlwapp-close {
32
- transform: scale(1,1);
33
- opacity: 1;
34
- }
35
- }
36
- }
37
-
38
- .qlwapp-toggle {
39
-
40
- .qlwapp-close {
41
- transform: scale(0,0);
42
- opacity: 0;
43
- }
44
-
45
- .qlwapp-icon {
46
- transform: scale(1,1);
47
- opacity: 1;
48
- }
49
-
50
- .qlwapp-icon,
51
- .qlwapp-close {
52
- transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
53
- }
54
-
55
- }
56
- }
57
-
58
- .qlwapp-box {
59
- display: none;
60
- opacity: 0;
61
- visibility: hidden;
62
- transform: translateY(50px);
63
- transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
64
-
65
- @media (min-width: 430px) {
66
- transform: translateY(50px) scale(0.9);
67
- }
68
-
69
- // Carousel
70
- // ---------------------------------------------------------------------------
71
-
72
- .qlwapp-carousel {
73
- display: flex;
74
- width: 200%;
75
- height: 100%;
76
- //overflow: hidden;
77
-
78
- .qlwapp-slide {
79
- width: 50%;
80
- transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
81
- height: 100%;
82
- overflow: hidden;
83
- //&:last-child {
84
- //max-height: 94px;
85
- //}
86
- }
87
- }
88
-
89
- .qlwapp-header {
90
-
91
- .qlwapp-slide {
92
- max-height: 300px;
93
- }
94
-
95
- .qlwapp-name,
96
- .qlwapp-label,
97
- .qlwapp-avatar {
98
- opacity: 0;
99
- transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
100
- }
101
-
102
- .qlwapp-name,
103
- .qlwapp-label {
104
- transform: translateX(56px);
105
- }
106
-
107
- .qlwapp-avatar {
108
- transform: scale(0.5);
109
- }
110
-
111
- .qlwapp-name {
112
- transition-delay: 800ms
113
- }
114
-
115
- .qlwapp-label {
116
- transition-delay: 850ms
117
- }
118
-
119
- .qlwapp-avatar {
120
- transition-delay: 900ms
121
- }
122
-
123
- }
124
-
125
- .qlwapp-footer,
126
- .qlwapp-response,
127
- .qlwapp-previous,
128
- .qlwapp-message,
129
- .qlwapp-user {
130
- transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
131
- }
132
-
133
- .qlwapp-response,
134
- .qlwapp-previous,
135
- .qlwapp-user {
136
- opacity: 0;
137
- }
138
-
139
- .qlwapp-response {
140
- pointer-events: none;
141
- }
142
-
143
- .qlwapp-previous {
144
- transform: translateX(56px);
145
- }
146
-
147
- .qlwapp-user {
148
- transform: translateY(56px);
149
- }
150
-
151
- .qlwapp-close {
152
- transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
153
- }
154
-
155
- .qlwapp-description {
156
- transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
157
- }
158
-
159
- .qlwapp-account {
160
- transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
161
- }
162
- .qlwapp-previous {
163
- transition-delay: 800ms
164
- }
165
-
166
- .qlwapp-message {
167
- transition-delay: 900ms
168
- }
169
-
170
- .qlwapp-close,
171
- .qlwapp-description {
172
- transition-delay: 900ms
173
- }
174
-
175
- .qlwapp-user {
176
- transition-delay: 200ms
177
- }
178
-
179
- .qlwapp-account {
180
-
181
- &:nth-of-type(6) {
182
- transition-delay: 600ms
183
- }
184
-
185
- &:nth-of-type(5) {
186
- transition-delay: 500ms
187
- }
188
-
189
- &:nth-of-type(4) {
190
- transition-delay: 400ms
191
- }
192
-
193
- &:nth-of-type(3) {
194
- transition-delay: 300ms
195
- }
196
-
197
- &:nth-of-type(2) {
198
- transition-delay: 200ms
199
- }
200
-
201
- &:nth-of-type(1) {
202
- transition-delay: 100ms
203
- }
204
-
205
- }
206
-
207
- // Premium
208
- // -------------------------------------------------------------------------
209
- .qlwapp-slide {
210
- .qlwapp-message {
211
- opacity: 0;
212
- transform: translateY(-56px);
213
- }
214
-
215
- .qlwapp-box {
216
- .qlwapp-account {
217
- &:hover {
218
- background-color: #fafafa;
219
- }
220
- }
221
-
222
- }
223
- }
224
-
225
- // Response
226
- // -------------------------------------------------------------------------
227
-
228
- &.response {
229
-
230
- .qlwapp-carousel {
231
- .qlwapp-slide {
232
- transform: translateX(-100%);
233
- }
234
- }
235
-
236
- .qlwapp-body {
237
- .qlwapp-carousel {
238
- overflow: hidden;
239
- max-height: 134px!important;
240
- min-height: 122px;
241
- }
242
- }
243
-
244
- // Out
245
- // -----------------------------------------------------------------------
246
-
247
- .qlwapp-close {
248
- transition-delay: 0ms;
249
- }
250
-
251
- .qlwapp-close,
252
- .qlwapp-footer,
253
- .qlwapp-description,
254
- .qlwapp-account {
255
- opacity: 0;
256
- }
257
-
258
- .qlwapp-account {
259
- transform: translateY(-33.333%);
260
- border-top-color: transparent!important;
261
- }
262
-
263
- // In
264
- // -----------------------------------------------------------------------
265
-
266
- //.qlwapp-chat {
267
- // overflow: hidden;
268
- //}
269
-
270
- .qlwapp-user {
271
- display: block;
272
- //opacity: 0;
273
- }
274
-
275
- .qlwapp-message,
276
- .qlwapp-previous,
277
- .qlwapp-response {
278
- opacity: 1;
279
- }
280
-
281
- .qlwapp-response {
282
- pointer-events: all;
283
- }
284
-
285
- .qlwapp-message,
286
- .qlwapp-previous {
287
- transform: translate(0);
288
- }
289
-
290
- .qlwapp-header {
291
-
292
- .qlwapp-slide {
293
- max-height: 84px;
294
- }
295
-
296
- .qlwapp-name,
297
- .qlwapp-avatar {
298
- opacity: 1;
299
- }
300
-
301
- .qlwapp-label {
302
- opacity: 0.5;
303
- }
304
-
305
- .qlwapp-name,
306
- .qlwapp-label {
307
- transform: translateX(0);
308
- }
309
-
310
- .qlwapp-avatar {
311
- transform: scale(1);
312
- }
313
-
314
- }
315
-
316
- &.opening {
317
-
318
- .qlwapp-footer,
319
- .qlwapp-response,
320
- .qlwapp-close,
321
- .qlwapp-previous,
322
- .qlwapp-description,
323
- .qlwapp-header .qlwapp-name,
324
- .qlwapp-header .qlwapp-label {
325
- visibility: visible;
326
- }
327
- }
328
-
329
- }
330
-
331
- &.texting {
332
-
333
- .qlwapp-body {
334
- overflow-y: auto;
335
- }
336
-
337
- .qlwapp-user {
338
- opacity: 1;
339
- transform: translate(0);
340
- }
341
-
342
- }
343
-
344
- &.closing {
345
-
346
- .qlwapp-carousel {
347
-
348
- .qlwapp-slide {
349
- //transition-delay: 0ms;
350
- //transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms, opacity 500ms ease-in 500ms;
351
- }
352
- }
353
-
354
- .qlwapp-previous {
355
- transition-delay: 0ms;
356
- transform: translateX(-24px);
357
- opacity: 0;
358
- transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
359
- }
360
-
361
- .qlwapp-description {
362
- opacity: 0;
363
- }
364
-
365
- }
366
-
367
- }
368
- }
369
-
1
+ #qlwapp {
2
+ display: none;
3
+
4
+
5
+ &.qlwapp-show {
6
+ .qlwapp-box {
7
+ visibility: visible;
8
+ opacity: 1;
9
+ transform: translateY(0) scale(1);
10
+ display: block;
11
+ }
12
+ }
13
+
14
+ &.qlwapp-transition {
15
+ .qlwapp-box {
16
+ visibility: visible;
17
+ display: block;
18
+ }
19
+ }
20
+
21
+ &.qlwapp-bubble {
22
+
23
+ &.qlwapp-show {
24
+ .qlwapp-toggle {
25
+
26
+ .qlwapp-icon {
27
+ transform: scale(0,0);
28
+ opacity: 0;
29
+ }
30
+
31
+ .qlwapp-close {
32
+ transform: scale(1,1);
33
+ opacity: 1;
34
+ }
35
+ }
36
+ }
37
+
38
+ .qlwapp-toggle {
39
+
40
+ .qlwapp-close {
41
+ transform: scale(0,0);
42
+ opacity: 0;
43
+ }
44
+
45
+ .qlwapp-icon {
46
+ transform: scale(1,1);
47
+ opacity: 1;
48
+ }
49
+
50
+ .qlwapp-icon,
51
+ .qlwapp-close {
52
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
53
+ }
54
+
55
+ }
56
+ }
57
+
58
+ .qlwapp-box {
59
+ display: none;
60
+ opacity: 0;
61
+ visibility: hidden;
62
+ transform: translateY(50px);
63
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
64
+
65
+ @media (min-width: 430px) {
66
+ transform: translateY(50px) scale(0.9);
67
+ }
68
+
69
+ // Carousel
70
+ // ---------------------------------------------------------------------------
71
+
72
+ .qlwapp-carousel {
73
+ display: flex;
74
+ width: 200%;
75
+ height: 100%;
76
+ //overflow: hidden;
77
+
78
+ .qlwapp-slide {
79
+ width: 50%;
80
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
81
+ height: 100%;
82
+ overflow: hidden;
83
+ //&:last-child {
84
+ //max-height: 94px;
85
+ //}
86
+ }
87
+ }
88
+
89
+ .qlwapp-header {
90
+
91
+ .qlwapp-slide {
92
+ max-height: 300px;
93
+ }
94
+
95
+ .qlwapp-name,
96
+ .qlwapp-label,
97
+ .qlwapp-avatar {
98
+ opacity: 0;
99
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
100
+ }
101
+
102
+ .qlwapp-name,
103
+ .qlwapp-label {
104
+ transform: translateX(56px);
105
+ }
106
+
107
+ .qlwapp-avatar {
108
+ transform: scale(0.5);
109
+ }
110
+
111
+ .qlwapp-name {
112
+ transition-delay: 800ms
113
+ }
114
+
115
+ .qlwapp-label {
116
+ transition-delay: 850ms
117
+ }
118
+
119
+ .qlwapp-avatar {
120
+ transition-delay: 900ms
121
+ }
122
+
123
+ }
124
+
125
+ .qlwapp-footer,
126
+ .qlwapp-response,
127
+ .qlwapp-previous,
128
+ .qlwapp-message,
129
+ .qlwapp-user {
130
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
131
+ }
132
+
133
+ .qlwapp-response,
134
+ .qlwapp-previous,
135
+ .qlwapp-user {
136
+ opacity: 0;
137
+ }
138
+
139
+ .qlwapp-response {
140
+ pointer-events: none;
141
+ }
142
+
143
+ .qlwapp-previous {
144
+ transform: translateX(56px);
145
+ }
146
+
147
+ .qlwapp-user {
148
+ transform: translateY(56px);
149
+ }
150
+
151
+ .qlwapp-close {
152
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
153
+ }
154
+
155
+ .qlwapp-description {
156
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
157
+ }
158
+
159
+ .qlwapp-account {
160
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
161
+ }
162
+ .qlwapp-previous {
163
+ transition-delay: 800ms
164
+ }
165
+
166
+ .qlwapp-message {
167
+ transition-delay: 900ms
168
+ }
169
+
170
+ .qlwapp-close,
171
+ .qlwapp-description {
172
+ transition-delay: 900ms
173
+ }
174
+
175
+ .qlwapp-user {
176
+ transition-delay: 200ms
177
+ }
178
+
179
+ .qlwapp-account {
180
+
181
+ &:nth-of-type(6) {
182
+ transition-delay: 600ms
183
+ }
184
+
185
+ &:nth-of-type(5) {
186
+ transition-delay: 500ms
187
+ }
188
+
189
+ &:nth-of-type(4) {
190
+ transition-delay: 400ms
191
+ }
192
+
193
+ &:nth-of-type(3) {
194
+ transition-delay: 300ms
195
+ }
196
+
197
+ &:nth-of-type(2) {
198
+ transition-delay: 200ms
199
+ }
200
+
201
+ &:nth-of-type(1) {
202
+ transition-delay: 100ms
203
+ }
204
+
205
+ }
206
+
207
+ // Premium
208
+ // -------------------------------------------------------------------------
209
+ .qlwapp-slide {
210
+ .qlwapp-message {
211
+ opacity: 0;
212
+ transform: translateY(-56px);
213
+ }
214
+
215
+ .qlwapp-box {
216
+ .qlwapp-account {
217
+ &:hover {
218
+ background-color: #fafafa;
219
+ }
220
+ }
221
+
222
+ }
223
+ }
224
+
225
+ // Response
226
+ // -------------------------------------------------------------------------
227
+
228
+ &.response {
229
+
230
+ .qlwapp-carousel {
231
+ .qlwapp-slide {
232
+ transform: translateX(-100%);
233
+ }
234
+ }
235
+
236
+ .qlwapp-body {
237
+ .qlwapp-carousel {
238
+ overflow: hidden;
239
+ max-height: 134px!important;
240
+ min-height: 122px;
241
+ }
242
+ }
243
+
244
+ // Out
245
+ // -----------------------------------------------------------------------
246
+
247
+ .qlwapp-close {
248
+ transition-delay: 0ms;
249
+ }
250
+
251
+ .qlwapp-close,
252
+ .qlwapp-footer,
253
+ .qlwapp-description,
254
+ .qlwapp-account {
255
+ opacity: 0;
256
+ }
257
+
258
+ .qlwapp-account {
259
+ transform: translateY(-33.333%);
260
+ border-top-color: transparent!important;
261
+ }
262
+
263
+ // In
264
+ // -----------------------------------------------------------------------
265
+
266
+ //.qlwapp-chat {
267
+ // overflow: hidden;
268
+ //}
269
+
270
+ .qlwapp-user {
271
+ display: block;
272
+ //opacity: 0;
273
+ }
274
+
275
+ .qlwapp-message,
276
+ .qlwapp-previous,
277
+ .qlwapp-response {
278
+ opacity: 1;
279
+ }
280
+
281
+ .qlwapp-response {
282
+ pointer-events: all;
283
+ }
284
+
285
+ .qlwapp-message,
286
+ .qlwapp-previous {
287
+ transform: translate(0);
288
+ }
289
+
290
+ .qlwapp-header {
291
+
292
+ .qlwapp-slide {
293
+ max-height: 84px;
294
+ }
295
+
296
+ .qlwapp-name,
297
+ .qlwapp-avatar {
298
+ opacity: 1;
299
+ }
300
+
301
+ .qlwapp-label {
302
+ opacity: 0.5;
303
+ }
304
+
305
+ .qlwapp-name,
306
+ .qlwapp-label {
307
+ transform: translateX(0);
308
+ }
309
+
310
+ .qlwapp-avatar {
311
+ transform: scale(1);
312
+ }
313
+
314
+ }
315
+
316
+ &.opening {
317
+
318
+ .qlwapp-footer,
319
+ .qlwapp-response,
320
+ .qlwapp-close,
321
+ .qlwapp-previous,
322
+ .qlwapp-description,
323
+ .qlwapp-header .qlwapp-name,
324
+ .qlwapp-header .qlwapp-label {
325
+ visibility: visible;
326
+ }
327
+ }
328
+
329
+ }
330
+
331
+ &.texting {
332
+
333
+ .qlwapp-body {
334
+ overflow-y: auto;
335
+ }
336
+
337
+ .qlwapp-user {
338
+ opacity: 1;
339
+ transform: translate(0);
340
+ }
341
+
342
+ }
343
+
344
+ &.closing {
345
+
346
+ .qlwapp-carousel {
347
+
348
+ .qlwapp-slide {
349
+ //transition-delay: 0ms;
350
+ //transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms, opacity 500ms ease-in 500ms;
351
+ }
352
+ }
353
+
354
+ .qlwapp-previous {
355
+ transition-delay: 0ms;
356
+ transform: translateX(-24px);
357
+ opacity: 0;
358
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
359
+ }
360
+
361
+ .qlwapp-description {
362
+ opacity: 0;
363
+ }
364
+
365
+ }
366
+
367
+ }
368
+ }
369
+
assets/less/colors.less CHANGED
@@ -1,53 +1,53 @@
1
- #qlwapp {
2
- .qlwapp-previous,
3
- .qlwapp-close,
4
- .qlwapp-toggle,
5
- .qlwapp-box .qlwapp-header,
6
- .qlwapp-box .qlwapp-contact,
7
- .qlwapp-box .qlwapp-user {
8
- color: #ffffff;
9
- }
10
-
11
- &.qlwapp-bubble {
12
- .qlwapp-toggle .qlwapp-text {
13
- color: #303030;
14
- }
15
- }
16
-
17
- .qlwapp-box,
18
- .qlwapp-box:before {
19
- background-color: #fff;
20
- }
21
-
22
- .qlwapp-box .qlwapp-account {
23
- background-color: #fff;
24
-
25
- &:not(:first-child) {
26
- border-top: 1px solid #f5f5f5;
27
- }
28
- }
29
-
30
- .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
31
- background-color: #eee;
32
- }
33
-
34
- .qlwapp-box .qlwapp-message,
35
- .qlwapp-box .qlwapp-message:before {
36
- background-color: #eee;
37
- }
38
-
39
- .qlwapp-box .qlwapp-footer,
40
- .qlwapp-box .qlwapp-response {
41
- color: #303030;
42
- background-color: #fff;
43
- border-top: 1px solid #e6e6e6;
44
- }
45
-
46
- .qlwapp-toggle,
47
- .qlwapp-box .qlwapp-header,
48
- .qlwapp-box .qlwapp-user,
49
- .qlwapp-box .qlwapp-user:before {
50
- background-color: #303030;
51
- }
52
-
53
  }
1
+ #qlwapp {
2
+ .qlwapp-previous,
3
+ .qlwapp-close,
4
+ .qlwapp-toggle,
5
+ .qlwapp-box .qlwapp-header,
6
+ .qlwapp-box .qlwapp-contact,
7
+ .qlwapp-box .qlwapp-user {
8
+ color: #ffffff;
9
+ }
10
+
11
+ &.qlwapp-bubble {
12
+ .qlwapp-toggle .qlwapp-text {
13
+ color: #303030;
14
+ }
15
+ }
16
+
17
+ .qlwapp-box,
18
+ .qlwapp-box:before {
19
+ background-color: #fff;
20
+ }
21
+
22
+ .qlwapp-box .qlwapp-account {
23
+ background-color: #fff;
24
+
25
+ &:not(:first-child) {
26
+ border-top: 1px solid #f5f5f5;
27
+ }
28
+ }
29
+
30
+ .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
31
+ background-color: #eee;
32
+ }
33
+
34
+ .qlwapp-box .qlwapp-message,
35
+ .qlwapp-box .qlwapp-message:before {
36
+ background-color: #eee;
37
+ }
38
+
39
+ .qlwapp-box .qlwapp-footer,
40
+ .qlwapp-box .qlwapp-response {
41
+ color: #303030;
42
+ background-color: #fff;
43
+ border-top: 1px solid #e6e6e6;
44
+ }
45
+
46
+ .qlwapp-toggle,
47
+ .qlwapp-box .qlwapp-header,
48
+ .qlwapp-box .qlwapp-user,
49
+ .qlwapp-box .qlwapp-user:before {
50
+ background-color: #303030;
51
+ }
52
+
53
  }
assets/less/qlwapp.less CHANGED
@@ -1,778 +1,825 @@
1
- @font-face {
2
- font-family: 'qlwapp-whatsapp';
3
- src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
4
- font-weight: normal;
5
- font-style: normal;
6
- }
7
-
8
- .qlwapp-whatsapp-icon {
9
- font-family: 'qlwapp-whatsapp' !important;
10
- speak: none;
11
- font-style: normal;
12
- font-weight: normal;
13
- font-variant: normal;
14
- text-transform: none;
15
- line-height: 1;
16
- -webkit-font-smoothing: antialiased;
17
- -moz-osx-font-smoothing: grayscale;
18
- }
19
-
20
- .qlwapp-whatsapp-icon:before {
21
- content: "\e900";
22
- }
23
-
24
- #qlwapp {
25
-
26
- box-sizing: border-box;
27
-
28
- @media (min-width: 430px) {
29
- width: 430px;
30
- }
31
-
32
-
33
- * {
34
- box-sizing: border-box;
35
- }
36
-
37
- // Ready
38
- // ---------------------------------------------------------------------------
39
-
40
- &.qlwapp-js-ready {
41
- display: block;
42
- }
43
-
44
- &.qlwapp-hide,
45
- &.qlwapp-desktop.mobile,
46
- &.qlwapp-mobile.desktop {
47
- display: none;
48
- }
49
-
50
- // Position
51
- // ---------------------------------------------------------------------------
52
- &.qlwapp-middle-left,
53
- &.qlwapp-bottom-left,
54
- &.qlwapp-middle-right,
55
- &.qlwapp-bottom-right {
56
- position: fixed;
57
- z-index: 9999999;
58
- }
59
-
60
- // Left
61
- // ---------------------------------------------------------------------------
62
-
63
- &.qlwapp-middle-left,
64
- &.qlwapp-bottom-left {
65
- right: auto;
66
- left: 0;
67
-
68
- &.qlwapp-bubble,
69
- &.qlwapp-button {
70
- .qlwapp-developer,
71
- .qlwapp-toggle {
72
- margin-left: 20px;
73
- }
74
- }
75
-
76
- &.qlwapp-bubble {
77
- .qlwapp-toggle {
78
- .qlwapp-text {
79
- right: auto;
80
- left: 60px;
81
- }
82
- }
83
- }
84
-
85
- .qlwapp-box {
86
- &:before {
87
- right: auto;
88
- left: 20px;
89
- }
90
- }
91
-
92
- }
93
-
94
- // Right
95
- // ---------------------------------------------------------------------------
96
-
97
- &.qlwapp-middle-right,
98
- &.qlwapp-bottom-right {
99
- left: auto;
100
- right: 0;
101
-
102
- &.qlwapp-bubble,
103
- &.qlwapp-button {
104
- .qlwapp-developer,
105
- .qlwapp-toggle {
106
- margin-right: 20px;
107
- }
108
- }
109
-
110
- }
111
-
112
- // Middle
113
- // ---------------------------------------------------------------------------
114
-
115
- &.qlwapp-middle-left,
116
- &.qlwapp-middle-right {
117
- top: 40%;
118
- bottom: auto;
119
- .qlwapp-developer {
120
- padding: 0 24px;
121
- }
122
- }
123
-
124
- &.qlwapp-middle-left {
125
- &.qlwapp-button {
126
- .qlwapp-developer,
127
- .qlwapp-toggle {
128
- margin-left: -48px;
129
- padding-left: 60px;
130
- }
131
- }
132
- }
133
-
134
- &.qlwapp-middle-right {
135
- &.qlwapp-button {
136
- .qlwapp-developer,
137
- .qlwapp-toggle {
138
- margin-right: -48px;
139
- padding-right: 60px;
140
- }
141
-
142
- }
143
- }
144
-
145
- // Bottom
146
- // ---------------------------------------------------------------------------
147
-
148
- &.qlwapp-bottom-left,
149
- &.qlwapp-bottom-right {
150
- top: auto;
151
- bottom: 0;
152
- }
153
-
154
- /*&.qlwapp-middle-left {
155
- &.qlwapp-button {
156
- .qlwapp-developer,
157
- .qlwapp-toggle {
158
- margin-left: -48px;
159
- padding-left: 60px;
160
- }
161
- }
162
- }
163
-
164
- &.qlwapp-middle-right {
165
- &.qlwapp-button {
166
- .qlwapp-developer,
167
- .qlwapp-toggle {
168
- margin-right: -48px;
169
- padding-right: 60px;
170
- }
171
-
172
- }
173
- }
174
-
175
- &.qlwapp-bottom-left {
176
- &.qlwapp-bubble,
177
- &.qlwapp-button {
178
- .qlwapp-developer,
179
- .qlwapp-toggle {
180
- margin-left: 20px;
181
- }
182
- }
183
-
184
- &.qlwapp-bubble {
185
- .qlwapp-toggle {
186
- .qlwapp-text {
187
- right: auto;
188
- left: 60px;
189
- }
190
- }
191
- }
192
-
193
- .qlwapp-box {
194
- &:before {
195
- right: auto;
196
- left: 20px;
197
- }
198
- }
199
-
200
- }
201
-
202
- &.qlwapp-bottom-right {
203
- &.qlwapp-bubble,
204
- &.qlwapp-button {
205
-
206
- .qlwapp-developer,
207
- .qlwapp-toggle {
208
- margin-right: 20px;
209
- }
210
- }
211
- }*/
212
-
213
- &.qlwapp-rounded {
214
- &.qlwapp-bubble {
215
- .qlwapp-toggle {
216
- border-radius: 50%;
217
- }
218
- }
219
- &.qlwapp-button {
220
- .qlwapp-toggle {
221
- border-radius: 50px;
222
- }
223
- }
224
-
225
- .qlwapp-box {
226
- @media (min-width: 430px) {
227
- border-radius: 8px;
228
- }
229
-
230
- .qlwapp-user,
231
- .qlwapp-message {
232
- border-radius: 4px;
233
- }
234
-
235
- }
236
- }
237
-
238
- p:last-child {
239
- margin: 0;
240
- }
241
-
242
- time {
243
- opacity: 0.8;
244
- font-style: italic;
245
- font-size: 10px;
246
- }
247
-
248
- // General
249
- // ---------------------------------------------------------------------------
250
-
251
- .qlwapp-container {
252
- display: flex;
253
- flex-direction: column;
254
- }
255
-
256
- .qlwapp-clearfix {
257
- &:before,
258
- &:after {
259
- content: '';
260
- display: block;
261
- clear: both;
262
- }
263
- }
264
-
265
- .qlwapp-previous,
266
- .qlwapp-close {
267
- display: block;
268
- opacity: 0.8;
269
- font-style: unset;
270
- font-size: 24px;
271
- font-weight: bold;
272
- width: 24px;
273
- height: 24px;
274
- cursor: pointer;
275
- text-align: center;
276
- line-height: 24px;
277
- z-index: 1;
278
- }
279
-
280
- .qlwapp-previous {
281
- width: 16px;
282
- height: 36px;
283
- cursor: pointer;
284
- text-align: center;
285
- line-height: 36px;
286
- margin-right: auto;
287
- }
288
-
289
- .qlwapp-developer {
290
- font-size: 8px;
291
- top: -20px;
292
- position: relative;
293
- }
294
-
295
- .qlwapp-developer,
296
- .qlwapp-toggle {
297
- display: inline-flex;
298
- align-items: center;
299
- justify-content: center;
300
- margin-left: auto;
301
- margin-right: auto;
302
- }
303
-
304
- .qlwapp-toggle {
305
- cursor: pointer;
306
- box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
307
- margin-top: 24px;
308
- margin-bottom: 24px;
309
- position: relative;
310
- text-decoration: none;
311
-
312
- &,
313
- &:active,
314
- &:focus,
315
- &:hover {
316
- outline: none;
317
- text-decoration: none;
318
- }
319
-
320
- }
321
-
322
- .qlwapp-avatar {
323
- .qlwapp-avatar-container {
324
- overflow: hidden;
325
- border-radius: 50%;
326
- width: inherit;
327
- height: inherit;
328
- img {
329
- width: 100%;
330
- height: auto;
331
- }
332
- }
333
- }
334
-
335
- // Bubble
336
- // ---------------------------------------------------------------------------
337
- &.qlwapp-bubble {
338
-
339
- .qlwapp-toggle {
340
- width: 60px;
341
- height: 60px;
342
-
343
- .qlwapp-icon,
344
- .qlwapp-close {
345
- position: absolute;
346
- display: block;
347
- pointer-events: none;
348
- font-size: 24px;
349
- }
350
-
351
- .qlwapp-text {
352
- position: absolute;
353
- right: 60px;
354
- height: 60px;
355
- margin: 0 24px;
356
- display: flex;
357
- align-items: center;
358
- justify-content: flex-end;
359
- font-weight: bold;
360
- white-space: pre;
361
- }
362
- }
363
- }
364
-
365
- // Button
366
- // ---------------------------------------------------------------------------
367
- &.qlwapp-button {
368
-
369
- .qlwapp-toggle {
370
- height: 40px;
371
- white-space: nowrap;
372
- padding: 12px 24px;
373
-
374
- .qlwapp-icon {
375
- margin: 0 12px 0 0;
376
- }
377
-
378
- .qlwapp-close {
379
- display: none;
380
- }
381
-
382
- }
383
- }
384
-
385
- // Box
386
- // ---------------------------------------------------------------------------
387
- .qlwapp-box {
388
- padding-bottom: 56px;
389
- position: fixed;
390
- top: auto;
391
- bottom: 0;
392
- left: 0;
393
- right: 0;
394
- z-index: 99999;
395
- box-shadow: 0px 5px 40px 5px rgba(0,0,0,0.5);
396
-
397
- // Desktop
398
- // ---------------------------------------------------------------------------
399
-
400
- @media (min-width: 430px) {
401
- position: relative;
402
- top: auto;
403
- bottom: auto;
404
- left: auto;
405
- right: auto;
406
- box-shadow: 0 8px 25px -5px rgba(45, 62, 79, .15);
407
- margin-top: 24px;
408
- margin-left: 24px;
409
- margin-right: 24px;
410
- margin-bottom: 12px;
411
-
412
- &:before {
413
- content: '';
414
- position: absolute;
415
- bottom: -6px;
416
- right: 24px;
417
- width: 13px;
418
- height: 13px;
419
- transform: rotate(45deg);
420
- }
421
-
422
- .qlwapp-header {
423
- border-top-left-radius: inherit;
424
- border-top-right-radius: inherit;
425
- }
426
-
427
- .qlwapp-footer,
428
- .qlwapp-response {
429
- border-bottom-left-radius: inherit;
430
- border-bottom-right-radius: inherit;
431
- }
432
-
433
- }
434
-
435
- // Header
436
- // -------------------------------------------------------------------------
437
-
438
- .qlwapp-header {
439
- position: relative;
440
- overflow: hidden;
441
-
442
- &:before {
443
- content: '';
444
- position: absolute;
445
- top: 0;
446
- bottom: 0;
447
- left: 0;
448
- right: 0;
449
- background: linear-gradient(135deg, transparent 0%, rgba(0,0,0,0.3) 100%);
450
- }
451
-
452
- .qlwapp-close {
453
- position: absolute;
454
- top: 12px;
455
- right: 12px;
456
-
457
- @media (min-width: 430px) {
458
- position: absolute;
459
- top: 7px;
460
- right: 7px;
461
- font-size: 16px;
462
- }
463
- }
464
-
465
- .qlwapp-description {
466
- position: relative;
467
- }
468
-
469
- }
470
-
471
- .qlwapp-description,
472
- .qlwapp-contact {
473
- padding: 24px 36px;
474
- height: 100%;
475
- }
476
-
477
- // Description
478
- // -------------------------------------------------------------------------
479
-
480
- .qlwapp-description {
481
-
482
- p,
483
- h3 {
484
- color: inherit;
485
- font-family: inherit;
486
- margin: 0;
487
- }
488
-
489
- h3 {
490
- margin: 0 0 0.25em 0;
491
- }
492
- }
493
-
494
- // Response
495
- // -------------------------------------------------------------------------
496
-
497
- .qlwapp-contact {
498
- display: flex;
499
- justify-content: flex-end;
500
- align-items: center;
501
- text-align: right;
502
-
503
- .qlwapp-previous {
504
- position: relative;
505
- left: -16px;
506
-
507
- > i {
508
- //font-size: 26px;
509
- line-height: 36px;
510
- }
511
- }
512
-
513
- .qlwapp-avatar {
514
- width: 42px;
515
- height: 42px;
516
- }
517
-
518
- .qlwapp-label,
519
- .qlwapp-name {
520
- color: inherit;
521
- }
522
- }
523
-
524
- .qlwapp-account {
525
- color: inherit;
526
- padding: 16px 36px;
527
- display: flex;
528
- align-items: center;
529
- overflow: hidden;
530
- position: relative;
531
- cursor: pointer;
532
- width: 100%;
533
-
534
- &:only-of-type {
535
- padding-top: 36px;
536
- padding-bottom: 36px;
537
- }
538
-
539
- }
540
-
541
- .qlwapp-info {
542
- padding: 0 16px;
543
-
544
- }
545
-
546
- .qlwapp-avatar {
547
- position: relative;
548
- width: 62px;
549
- height: 62px;
550
- //border-radius: 50%;
551
-
552
- &:after {
553
- content: '';
554
- display: block;
555
- width: 15px;
556
- height: 15px;
557
- position: absolute;
558
- bottom: 2px;
559
- right: 2px;
560
- background-image: url(data:image/png;base64,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);
561
- background-color: transparent;
562
- background-repeat: no-repeat;
563
- background-position: center center;
564
- background-size: cover;
565
- z-index: 4;
566
- }
567
- }
568
-
569
- .qlwapp-label,
570
- .qlwapp-offline-text {
571
- font-size: 12px;
572
- line-height: 1.5em;
573
- opacity: .6;
574
- display: block;
575
- }
576
-
577
- .qlwapp-name {
578
- display: block;
579
- font-weight: bold;
580
- }
581
-
582
- // Body
583
- // -------------------------------------------------------------------------
584
- .qlwapp-body {
585
- overflow-x: hidden;
586
- overflow-y: auto;
587
-
588
- .qlwapp-carousel {
589
- max-height: 470px;
590
- min-height: 134px;
591
- }
592
- }
593
-
594
- // Chat
595
- // -------------------------------------------------------------------------
596
-
597
- .qlwapp-chat {
598
- display: flex;
599
- flex-direction: column;
600
- //height: 100%;
601
- overflow: hidden;
602
- }
603
-
604
- .qlwapp-user,
605
- .qlwapp-message {
606
- padding: 16px 24px;
607
- margin: 36px;
608
- position: relative;
609
- word-wrap: break-word;
610
- width: calc(~"100% - 36px*2");
611
-
612
- &:before {
613
- content: '';
614
- position: absolute;
615
- top: -6px;
616
- right: 24px;
617
- width: 13px;
618
- height: 13px;
619
- transform: rotate(45deg);
620
- }
621
- }
622
-
623
- .qlwapp-user {
624
- width: auto;
625
- max-width: 75%;
626
- align-self: flex-start;
627
- justify-self: flex-end;
628
- margin-top: 0;
629
-
630
- &:before {
631
- top: auto;
632
- bottom: -6px;
633
- left: 24px;
634
- }
635
- }
636
-
637
- // Footer
638
- // -------------------------------------------------------------------------
639
-
640
- .qlwapp-padding {
641
- padding-bottom: 56px;
642
- }
643
-
644
- .qlwapp-footer,
645
- .qlwapp-response {
646
- position: absolute;
647
- bottom: 0;
648
- left: 0;
649
- right: 0;
650
- height: auto;
651
- width:100%;
652
-
653
- &,
654
- pre,
655
- textarea {
656
- max-height: 160px;
657
- }
658
-
659
- pre,
660
- textarea {
661
- color: inherit;
662
- background-color: inherit;
663
- }
664
-
665
- &:before {
666
- pointer-events: none;
667
- position: absolute;
668
- content: '';
669
- height: 59px;
670
- top: -59px;
671
- background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
672
- left: 0;
673
- right: 0;
674
- }
675
-
676
- }
677
-
678
- .qlwapp-footer {
679
- min-height: 56px;
680
- display: flex;
681
- align-items: center;
682
- justify-content: center;
683
- text-align: center;
684
- font-size: 12px;
685
- padding: 12px 36px;
686
-
687
- p {
688
- font-size: inherit;
689
- }
690
-
691
- p:last-child {
692
- margin-bottom: 0;
693
- }
694
- }
695
-
696
- // Response
697
- // -------------------------------------------------------------------------
698
- .qlwapp-response {
699
-
700
- &,
701
- pre,
702
- textarea,
703
- .qlwapp-buttons {
704
- min-height: 56px;
705
- }
706
-
707
- pre,
708
- textarea {
709
- width: 100%;
710
- height: 100%;
711
- resize: none;
712
- border: none;
713
- padding: 18px 56px 18px 36px;
714
- font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
715
- font-size: 14px;
716
- font-weight: normal;
717
- line-height: 20px;
718
- white-space: pre-wrap;
719
- word-wrap: break-word;
720
- border-radius: inherit;
721
- margin: 0;
722
- }
723
-
724
- pre {
725
- visibility: hidden;
726
- }
727
-
728
- textarea {
729
- position: absolute;
730
- bottom: 0;
731
- left: 0;
732
-
733
- &:focus {
734
- outline: none;
735
- }
736
-
737
- }
738
-
739
- .qlwapp-buttons {
740
- position: absolute;
741
- top: 0;
742
- right: 21px;
743
- display: flex;
744
- align-items: center;
745
-
746
- &.active {
747
-
748
- > i {
749
- display: none;
750
- }
751
-
752
- > i.qlwf-emoji {
753
- display: block;
754
- }
755
- }
756
-
757
- > i {
758
- opacity: 0.4;
759
- }
760
-
761
- > i,
762
- > a {
763
- cursor: pointer;
764
- margin: 0 0 0 10px;
765
- display: inherit;
766
- font-size: 18px;
767
- line-height: 24px;
768
- }
769
-
770
- }
771
-
772
- }
773
-
774
- }
775
-
776
- }
777
- @import 'colors.less';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
778
  @import 'animations.less';
1
+ // Fix backward clicks
2
+ // #qlwapp pointer-events:none
3
+ // .qlwapp-toggle pointer-events:all
4
+ // .qlwapp-box pointer-events:all
5
+
6
+ @font-face {
7
+ font-family: 'qlwapp-whatsapp';
8
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
9
+ font-weight: normal;
10
+ font-style: normal;
11
+ }
12
+
13
+ .qlwapp-whatsapp-icon {
14
+ font-family: 'qlwapp-whatsapp' !important;
15
+ speak: none;
16
+ font-style: normal;
17
+ font-weight: normal;
18
+ font-variant: normal;
19
+ text-transform: none;
20
+ line-height: 1;
21
+ -webkit-font-smoothing: antialiased;
22
+ -moz-osx-font-smoothing: grayscale;
23
+ }
24
+
25
+ .qlwapp-whatsapp-icon:before {
26
+ content: "\e900";
27
+ }
28
+
29
+ #qlwapp {
30
+ pointer-events: none;
31
+ box-sizing: border-box;
32
+
33
+ @media (min-width: 430px) {
34
+ width: 430px;
35
+ }
36
+
37
+
38
+ * {
39
+ box-sizing: border-box;
40
+ }
41
+
42
+ // Ready
43
+ // ---------------------------------------------------------------------------
44
+ &.qlwapp-js-ready {
45
+ display: block;
46
+ }
47
+
48
+ &.qlwapp-hide,
49
+ &.qlwapp-desktop.mobile,
50
+ &.qlwapp-mobile.desktop {
51
+ display: none;
52
+ }
53
+
54
+ // Status
55
+ // ---------------------------------------------------------------------------
56
+ .qlwapp-readonly,
57
+ &.qlwapp-readonly {
58
+ pointer-events: none;
59
+ opacity: 0.5;
60
+ }
61
+ //remove this on next update
62
+ // -------------
63
+ .qlwapp-readonly {
64
+ &.qlwapp-toggle {
65
+ display: none!important;
66
+ }
67
+ }
68
+
69
+ .qlwapp-disabled,
70
+ &.qlwapp-disabled {
71
+ display: none;
72
+ visibility: hidden;
73
+ }
74
+
75
+ // Position
76
+ // ---------------------------------------------------------------------------
77
+ &.qlwapp-middle-left,
78
+ &.qlwapp-bottom-left,
79
+ &.qlwapp-middle-right,
80
+ &.qlwapp-bottom-right {
81
+ position: fixed;
82
+ z-index: 9999999;
83
+ }
84
+
85
+ // Left
86
+ // ---------------------------------------------------------------------------
87
+
88
+ &.qlwapp-middle-left,
89
+ &.qlwapp-bottom-left {
90
+ right: auto;
91
+ left: 0;
92
+
93
+ &.qlwapp-bubble,
94
+ &.qlwapp-button {
95
+ .qlwapp-developer,
96
+ .qlwapp-toggle {
97
+ margin-left: 20px;
98
+ }
99
+ }
100
+
101
+ &.qlwapp-bubble {
102
+ .qlwapp-toggle {
103
+ .qlwapp-text {
104
+ right: auto;
105
+ left: 60px;
106
+ }
107
+ }
108
+ }
109
+
110
+ .qlwapp-box {
111
+ &:before {
112
+ right: auto;
113
+ left: 20px;
114
+ }
115
+ }
116
+
117
+ }
118
+
119
+ // Right
120
+ // ---------------------------------------------------------------------------
121
+
122
+ &.qlwapp-middle-right,
123
+ &.qlwapp-bottom-right {
124
+ left: auto;
125
+ right: 0;
126
+
127
+ &.qlwapp-bubble,
128
+ &.qlwapp-button {
129
+ .qlwapp-developer,
130
+ .qlwapp-toggle {
131
+ margin-right: 20px;
132
+ }
133
+ }
134
+
135
+ }
136
+
137
+ // Middle
138
+ // ---------------------------------------------------------------------------
139
+
140
+ &.qlwapp-middle-left,
141
+ &.qlwapp-middle-right {
142
+ top: 40%;
143
+ bottom: auto;
144
+ .qlwapp-developer {
145
+ padding: 0 24px;
146
+ }
147
+ }
148
+
149
+ &.qlwapp-middle-left {
150
+ &.qlwapp-button {
151
+ .qlwapp-developer,
152
+ .qlwapp-toggle {
153
+ margin-left: -48px;
154
+ padding-left: 60px;
155
+ }
156
+ }
157
+ }
158
+
159
+ &.qlwapp-middle-right {
160
+ &.qlwapp-button {
161
+ .qlwapp-developer,
162
+ .qlwapp-toggle {
163
+ margin-right: -48px;
164
+ padding-right: 60px;
165
+ }
166
+
167
+ }
168
+ }
169
+
170
+ // Bottom
171
+ // ---------------------------------------------------------------------------
172
+
173
+ &.qlwapp-bottom-left,
174
+ &.qlwapp-bottom-right {
175
+ top: auto;
176
+ bottom: 0;
177
+ }
178
+
179
+ /*&.qlwapp-middle-left {
180
+ &.qlwapp-button {
181
+ .qlwapp-developer,
182
+ .qlwapp-toggle {
183
+ margin-left: -48px;
184
+ padding-left: 60px;
185
+ }
186
+ }
187
+ }
188
+
189
+ &.qlwapp-middle-right {
190
+ &.qlwapp-button {
191
+ .qlwapp-developer,
192
+ .qlwapp-toggle {
193
+ margin-right: -48px;
194
+ padding-right: 60px;
195
+ }
196
+
197
+ }
198
+ }
199
+
200
+ &.qlwapp-bottom-left {
201
+ &.qlwapp-bubble,
202
+ &.qlwapp-button {
203
+ .qlwapp-developer,
204
+ .qlwapp-toggle {
205
+ margin-left: 20px;
206
+ }
207
+ }
208
+
209
+ &.qlwapp-bubble {
210
+ .qlwapp-toggle {
211
+ .qlwapp-text {
212
+ right: auto;
213
+ left: 60px;
214
+ }
215
+ }
216
+ }
217
+
218
+ .qlwapp-box {
219
+ &:before {
220
+ right: auto;
221
+ left: 20px;
222
+ }
223
+ }
224
+
225
+ }
226
+
227
+ &.qlwapp-bottom-right {
228
+ &.qlwapp-bubble,
229
+ &.qlwapp-button {
230
+
231
+ .qlwapp-developer,
232
+ .qlwapp-toggle {
233
+ margin-right: 20px;
234
+ }
235
+ }
236
+ }*/
237
+
238
+ &.qlwapp-rounded {
239
+ &.qlwapp-bubble {
240
+ .qlwapp-toggle {
241
+ border-radius: 50%;
242
+ }
243
+ }
244
+ &.qlwapp-button {
245
+ .qlwapp-toggle {
246
+ border-radius: 50px;
247
+ }
248
+ }
249
+
250
+ .qlwapp-box {
251
+ @media (min-width: 430px) {
252
+ border-radius: 8px;
253
+ }
254
+
255
+ .qlwapp-user,
256
+ .qlwapp-message {
257
+ border-radius: 4px;
258
+ }
259
+
260
+ }
261
+ }
262
+
263
+ p:last-child {
264
+ margin: 0;
265
+ }
266
+
267
+ time {
268
+ opacity: 0.8;
269
+ font-style: italic;
270
+ font-size: 10px;
271
+ }
272
+
273
+ // General
274
+ // ---------------------------------------------------------------------------
275
+
276
+ .qlwapp-container {
277
+ display: flex;
278
+ flex-direction: column;
279
+ }
280
+
281
+ .qlwapp-clearfix {
282
+ &:before,
283
+ &:after {
284
+ content: '';
285
+ display: block;
286
+ clear: both;
287
+ }
288
+ }
289
+
290
+ .qlwapp-previous,
291
+ .qlwapp-close {
292
+ display: block;
293
+ opacity: 0.8;
294
+ font-style: unset;
295
+ font-size: 24px;
296
+ font-weight: bold;
297
+ width: 24px;
298
+ height: 24px;
299
+ cursor: pointer;
300
+ text-align: center;
301
+ line-height: 24px;
302
+ z-index: 1;
303
+ }
304
+
305
+ .qlwapp-previous {
306
+ width: 16px;
307
+ height: 36px;
308
+ cursor: pointer;
309
+ text-align: center;
310
+ line-height: 36px;
311
+ margin-right: auto;
312
+ }
313
+
314
+ .qlwapp-developer {
315
+ font-size: 8px;
316
+ top: -20px;
317
+ position: relative;
318
+ }
319
+
320
+ .qlwapp-developer,
321
+ .qlwapp-toggle {
322
+ display: inline-flex;
323
+ align-items: center;
324
+ justify-content: center;
325
+ margin-left: auto;
326
+ margin-right: auto;
327
+ }
328
+
329
+ .qlwapp-toggle {
330
+ pointer-events: all;
331
+ cursor: pointer;
332
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
333
+ margin-top: 24px;
334
+ margin-bottom: 24px;
335
+ position: relative;
336
+ text-decoration: none;
337
+
338
+ &,
339
+ &:active,
340
+ &:focus,
341
+ &:hover {
342
+ outline: none;
343
+ text-decoration: none;
344
+ }
345
+
346
+ }
347
+
348
+ .qlwapp-avatar {
349
+ .qlwapp-avatar-container {
350
+ overflow: hidden;
351
+ border-radius: 50%;
352
+ width: inherit;
353
+ height: inherit;
354
+ img {
355
+ width: 100%;
356
+ height: auto;
357
+ }
358
+ }
359
+ }
360
+
361
+ //.qlwapp-readonly {
362
+ // pointer-events: none;
363
+ // opacity: 0.85;
364
+ //}
365
+ // Bubble
366
+ // ---------------------------------------------------------------------------
367
+ &.qlwapp-bubble {
368
+
369
+ .qlwapp-toggle {
370
+ width: 60px;
371
+ height: 60px;
372
+
373
+ .qlwapp-icon,
374
+ .qlwapp-close {
375
+ position: absolute;
376
+ display: block;
377
+ pointer-events: none;
378
+ font-size: 24px;
379
+ }
380
+
381
+ .qlwapp-text {
382
+ position: absolute;
383
+ right: 60px;
384
+ height: 60px;
385
+ margin: 0 24px;
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: flex-end;
389
+ font-weight: bold;
390
+ white-space: pre;
391
+ }
392
+ }
393
+ }
394
+
395
+ // Button
396
+ // ---------------------------------------------------------------------------
397
+ &.qlwapp-button {
398
+
399
+ .qlwapp-toggle {
400
+ height: 40px;
401
+ white-space: nowrap;
402
+ padding: 12px 24px;
403
+
404
+ .qlwapp-icon {
405
+ margin: 0 12px 0 0;
406
+ }
407
+
408
+ .qlwapp-close {
409
+ display: none;
410
+ }
411
+
412
+ }
413
+ }
414
+
415
+ // Box
416
+ // ---------------------------------------------------------------------------
417
+ .qlwapp-box {
418
+ pointer-events: all;
419
+ padding-bottom: 56px;
420
+ position: fixed;
421
+ top: auto;
422
+ bottom: 0;
423
+ left: 0;
424
+ right: 0;
425
+ z-index: 99999;
426
+ box-shadow: 0px 5px 40px 5px rgba(0,0,0,0.5);
427
+
428
+ // Desktop
429
+ // ---------------------------------------------------------------------------
430
+
431
+ @media (min-width: 430px) {
432
+ position: relative;
433
+ top: auto;
434
+ bottom: auto;
435
+ left: auto;
436
+ right: auto;
437
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, .15);
438
+ margin-top: 24px;
439
+ margin-left: 24px;
440
+ margin-right: 24px;
441
+ margin-bottom: 12px;
442
+
443
+ &:before {
444
+ content: '';
445
+ position: absolute;
446
+ bottom: -6px;
447
+ right: 24px;
448
+ width: 13px;
449
+ height: 13px;
450
+ transform: rotate(45deg);
451
+ }
452
+
453
+ .qlwapp-header {
454
+ border-top-left-radius: inherit;
455
+ border-top-right-radius: inherit;
456
+ }
457
+
458
+ .qlwapp-footer,
459
+ .qlwapp-response {
460
+ border-bottom-left-radius: inherit;
461
+ border-bottom-right-radius: inherit;
462
+ }
463
+
464
+ }
465
+
466
+ // Header
467
+ // -------------------------------------------------------------------------
468
+
469
+ .qlwapp-header {
470
+ position: relative;
471
+ overflow: hidden;
472
+
473
+ &:before {
474
+ content: '';
475
+ position: absolute;
476
+ top: 0;
477
+ bottom: 0;
478
+ left: 0;
479
+ right: 0;
480
+ background: linear-gradient(135deg, transparent 0%, rgba(0,0,0,0.3) 100%);
481
+ }
482
+
483
+ .qlwapp-close {
484
+ position: absolute;
485
+ top: 12px;
486
+ right: 12px;
487
+
488
+ @media (min-width: 430px) {
489
+ position: absolute;
490
+ top: 7px;
491
+ right: 7px;
492
+ font-size: 16px;
493
+ }
494
+ }
495
+
496
+ .qlwapp-description {
497
+ position: relative;
498
+ }
499
+
500
+ }
501
+
502
+ .qlwapp-description,
503
+ .qlwapp-contact {
504
+ padding: 24px 36px;
505
+ height: 100%;
506
+ }
507
+
508
+ // Description
509
+ // -------------------------------------------------------------------------
510
+
511
+ .qlwapp-description {
512
+
513
+ p,
514
+ h3 {
515
+ color: inherit;
516
+ font-family: inherit;
517
+ margin: 0;
518
+ }
519
+
520
+ h3 {
521
+ margin: 0 0 0.25em 0;
522
+ }
523
+ }
524
+
525
+ // Response
526
+ // -------------------------------------------------------------------------
527
+
528
+ .qlwapp-contact {
529
+ display: flex;
530
+ justify-content: flex-end;
531
+ align-items: center;
532
+ text-align: right;
533
+
534
+ .qlwapp-previous {
535
+ position: relative;
536
+ left: -16px;
537
+
538
+ > i {
539
+ //font-size: 26px;
540
+ line-height: 36px;
541
+ }
542
+ }
543
+
544
+ .qlwapp-avatar {
545
+ width: 42px;
546
+ height: 42px;
547
+ }
548
+
549
+ .qlwapp-label,
550
+ .qlwapp-name {
551
+ color: inherit;
552
+ }
553
+ }
554
+
555
+ .qlwapp-account {
556
+ color: inherit;
557
+ padding: 16px 36px;
558
+ display: flex;
559
+ align-items: center;
560
+ overflow: hidden;
561
+ position: relative;
562
+ cursor: pointer;
563
+ width: 100%;
564
+
565
+ &:only-of-type {
566
+ padding-top: 36px;
567
+ padding-bottom: 36px;
568
+ }
569
+
570
+ //&.disabled {
571
+ // display: none;
572
+ //}
573
+ //&.readOnly {
574
+ // pointer-events: none;
575
+ // opacity: 0.5;
576
+ //}
577
+
578
+ }
579
+
580
+ .qlwapp-info {
581
+ padding: 0 16px;
582
+
583
+ }
584
+
585
+ .qlwapp-avatar {
586
+ position: relative;
587
+ width: 62px;
588
+ height: 62px;
589
+ //border-radius: 50%;
590
+
591
+ &:after {
592
+ content: '';
593
+ display: block;
594
+ width: 15px;
595
+ height: 15px;
596
+ position: absolute;
597
+ bottom: 2px;
598
+ right: 2px;
599
+ background-image: url(data:image/png;base64,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);
600
+ background-color: transparent;
601
+ background-repeat: no-repeat;
602
+ background-position: center center;
603
+ background-size: cover;
604
+ z-index: 4;
605
+ }
606
+ }
607
+
608
+ .qlwapp-time,
609
+ .qlwapp-label,
610
+ .qlwapp-offline-text {
611
+ font-size: 12px;
612
+ line-height: 1.5em;
613
+ opacity: .6;
614
+ display: block;
615
+ }
616
+
617
+ .qlwapp-time {
618
+ font-size: 11px;
619
+ font-style: italic;
620
+ }
621
+
622
+ .qlwapp-name {
623
+ display: block;
624
+ font-weight: bold;
625
+ line-height: 1.5em;
626
+ }
627
+
628
+ // Body
629
+ // -------------------------------------------------------------------------
630
+ .qlwapp-body {
631
+ overflow-x: hidden;
632
+ overflow-y: auto;
633
+
634
+ .qlwapp-carousel {
635
+ max-height: 470px;
636
+ min-height: 134px;
637
+ }
638
+ }
639
+
640
+ // Chat
641
+ // -------------------------------------------------------------------------
642
+
643
+ .qlwapp-chat {
644
+ display: flex;
645
+ flex-direction: column;
646
+ //height: 100%;
647
+ overflow: hidden;
648
+ }
649
+
650
+ .qlwapp-user,
651
+ .qlwapp-message {
652
+ padding: 16px 24px;
653
+ margin: 36px;
654
+ position: relative;
655
+ word-wrap: break-word;
656
+ width: calc(~"100% - 36px*2");
657
+
658
+ &:before {
659
+ content: '';
660
+ position: absolute;
661
+ top: -6px;
662
+ right: 24px;
663
+ width: 13px;
664
+ height: 13px;
665
+ transform: rotate(45deg);
666
+ }
667
+ }
668
+
669
+ .qlwapp-user {
670
+ width: auto;
671
+ max-width: 75%;
672
+ align-self: flex-start;
673
+ justify-self: flex-end;
674
+ margin-top: 0;
675
+
676
+ &:before {
677
+ top: auto;
678
+ bottom: -6px;
679
+ left: 24px;
680
+ }
681
+ }
682
+
683
+ // Footer
684
+ // -------------------------------------------------------------------------
685
+
686
+ .qlwapp-padding {
687
+ padding-bottom: 56px;
688
+ }
689
+
690
+ .qlwapp-footer,
691
+ .qlwapp-response {
692
+ //pointer-events: all;
693
+ position: absolute;
694
+ bottom: 0;
695
+ left: 0;
696
+ right: 0;
697
+ height: auto;
698
+ width:100%;
699
+
700
+ &,
701
+ pre,
702
+ textarea {
703
+ max-height: 160px;
704
+ }
705
+
706
+ pre,
707
+ textarea {
708
+ color: inherit;
709
+ background-color: inherit;
710
+ }
711
+
712
+ &:before {
713
+ pointer-events: none;
714
+ position: absolute;
715
+ content: '';
716
+ height: 59px;
717
+ top: -59px;
718
+ background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
719
+ left: 0;
720
+ right: 0;
721
+ }
722
+
723
+ }
724
+
725
+ .qlwapp-footer {
726
+ min-height: 56px;
727
+ display: flex;
728
+ align-items: center;
729
+ justify-content: center;
730
+ text-align: center;
731
+ font-size: 12px;
732
+ padding: 12px 36px;
733
+
734
+ p {
735
+ font-size: inherit;
736
+ }
737
+
738
+ p:last-child {
739
+ margin-bottom: 0;
740
+ }
741
+ }
742
+
743
+ // Response
744
+ // -------------------------------------------------------------------------
745
+ .qlwapp-response {
746
+
747
+ &,
748
+ pre,
749
+ textarea,
750
+ .qlwapp-buttons {
751
+ min-height: 56px;
752
+ }
753
+
754
+ pre,
755
+ textarea {
756
+ width: 100%;
757
+ height: 100%;
758
+ resize: none;
759
+ border: none;
760
+ padding: 18px 56px 18px 36px;
761
+ font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
762
+ font-size: 14px;
763
+ font-weight: normal;
764
+ line-height: 20px;
765
+ white-space: pre-wrap;
766
+ word-wrap: break-word;
767
+ border-radius: inherit;
768
+ margin: 0;
769
+ }
770
+
771
+ pre {
772
+ visibility: hidden;
773
+ }
774
+
775
+ textarea {
776
+ position: absolute;
777
+ bottom: 0;
778
+ left: 0;
779
+
780
+ &:focus {
781
+ outline: none;
782
+ }
783
+
784
+ }
785
+
786
+ .qlwapp-buttons {
787
+ position: absolute;
788
+ top: 0;
789
+ right: 21px;
790
+ display: flex;
791
+ align-items: center;
792
+
793
+ &.active {
794
+
795
+ > i {
796
+ display: none;
797
+ }
798
+
799
+ > i.qlwf-emoji {
800
+ display: block;
801
+ }
802
+ }
803
+
804
+ > i {
805
+ opacity: 0.4;
806
+ }
807
+
808
+ > i,
809
+ > a {
810
+ cursor: pointer;
811
+ margin: 0 0 0 10px;
812
+ display: inherit;
813
+ font-size: 18px;
814
+ line-height: 24px;
815
+ }
816
+
817
+ }
818
+
819
+ }
820
+
821
+ }
822
+
823
+ }
824
+ @import 'colors.less';
825
  @import 'animations.less';
changelog.txt CHANGED
@@ -1,3 +1,10 @@
 
 
 
 
 
 
 
1
  = 4.3.8 =
2
  * Fix. admin menu capability
3
 
1
+ = 4.4.0 =
2
+ * New. compatibility with whatsapp chat pro 2.3.5
3
+ * Fix. whatsapp chat display select2
4
+
5
+ = 4.3.9 =
6
+ * Fix. duplicated posts in select
7
+
8
  = 4.3.8 =
9
  * Fix. admin menu capability
10
 
includes/defaults.php CHANGED
@@ -11,6 +11,7 @@ if (!class_exists('QLWAPP_Options')) {
11
  public $defaults;
12
 
13
  function defaults() {
 
14
  $this->defaults = array(
15
  'license' => array(
16
  'market' => '',
@@ -33,16 +34,19 @@ if (!class_exists('QLWAPP_Options')) {
33
  'position' => 'bottom-right',
34
  'text' => esc_html__('How can I help you?', 'wp-whatsapp-chat'),
35
  'icon' => 'qlwapp-whatsapp-icon',
36
- 'phone' => '441234567890',
37
  'developer' => 'no',
38
  'rounded' => 'yes',
39
- 'timefrom' => '08:00',
40
- 'timeto' => '18:00'
 
 
41
  ),
42
  'box' => array(
43
- 'enable' => 'no',
44
  'header' => '<h3>Hello!</h3><p>Click one of our representatives below to chat on WhatsApp or send us an email to <a href="mailto:hello@quadlayers.com">hello@quadlayers.com</a></p>',
45
  'footer' => '<p>Call us to <a href="tel://542215676835">542215676835</a> from <em><time>0:00hs</time></em> a <em><time>24:00hs</time></em></p>'
 
46
  ),
47
  'chat' => array(
48
  'emoji' => 'no',
@@ -52,13 +56,15 @@ if (!class_exists('QLWAPP_Options')) {
52
  0 => array(
53
  'chat' => true,
54
  'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
55
- 'phone' => '441234567890',
56
  'firstname' => 'John',
57
  'lastname' => 'Doe',
58
  'label' => esc_html__('Support', 'wp-whatsapp-chat'),
59
  'message' => esc_html__('Hello! I\'m John from the support team.', 'wp-whatsapp-chat'),
60
- 'timefrom' => '08:00',
61
- 'timeto' => '18:00'
 
 
62
  ),
63
  ),
64
  'display' => array(
@@ -127,11 +133,60 @@ if (!class_exists('QLWAPP_Options')) {
127
  return $options;
128
  }
129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  function options() {
131
 
132
  global $qlwapp;
133
 
134
- $options = get_option(QLWAPP_DOMAIN);
135
 
136
  if (isset($options['button']['phone'])) {
137
  $options['button']['phone'] = str_replace('+', '', $options['button']['phone']);
@@ -139,23 +194,37 @@ if (!class_exists('QLWAPP_Options')) {
139
  if (isset($options['contacts'])) {
140
  if (count($options['contacts'])) {
141
  foreach ($options['contacts'] as $id => $c) {
142
- $options['contacts'][$id]['phone'] = str_replace('+', '', $c['phone']);
 
 
 
 
 
 
 
143
  }
144
  }
145
  }
146
 
147
- if (isset($options['box']['enable']) && $options['box']['enable'] == 1) {
 
 
148
  $options['box']['enable'] = 'yes';
149
  }
150
-
 
 
 
151
  if (isset($options['button']['rounded']) && $options['button']['rounded'] == 1) {
152
  $options['button']['rounded'] = 'yes';
153
  }
154
-
155
  if (isset($options['button']['developer']) && $options['button']['developer'] == 1) {
156
  $options['button']['developer'] = 'yes';
157
  }
158
-
 
 
 
159
  $qlwapp = $this->wp_parse_args($options, $this->defaults());
160
  }
161
 
11
  public $defaults;
12
 
13
  function defaults() {
14
+
15
  $this->defaults = array(
16
  'license' => array(
17
  'market' => '',
34
  'position' => 'bottom-right',
35
  'text' => esc_html__('How can I help you?', 'wp-whatsapp-chat'),
36
  'icon' => 'qlwapp-whatsapp-icon',
37
+ 'phone' => '542215676835',
38
  'developer' => 'no',
39
  'rounded' => 'yes',
40
+ 'timefrom' => '00:00',
41
+ 'timeto' => '00:00',
42
+ 'timezone' => $this->get_current_timezone(),
43
+ 'timeout' => 'readonly'
44
  ),
45
  'box' => array(
46
+ 'enable' => 'yes',
47
  'header' => '<h3>Hello!</h3><p>Click one of our representatives below to chat on WhatsApp or send us an email to <a href="mailto:hello@quadlayers.com">hello@quadlayers.com</a></p>',
48
  'footer' => '<p>Call us to <a href="tel://542215676835">542215676835</a> from <em><time>0:00hs</time></em> a <em><time>24:00hs</time></em></p>'
49
+ // ,'contactstimeout' => 'no'
50
  ),
51
  'chat' => array(
52
  'emoji' => 'no',
56
  0 => array(
57
  'chat' => true,
58
  'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
59
+ 'phone' => '542215676835',
60
  'firstname' => 'John',
61
  'lastname' => 'Doe',
62
  'label' => esc_html__('Support', 'wp-whatsapp-chat'),
63
  'message' => esc_html__('Hello! I\'m John from the support team.', 'wp-whatsapp-chat'),
64
+ 'timefrom' => '00:00',
65
+ 'timeto' => '00:00',
66
+ 'timezone' => $this->get_current_timezone(),
67
+ 'timeout' => 'readonly'
68
  ),
69
  ),
70
  'display' => array(
133
  return $options;
134
  }
135
 
136
+ function standar_timezone_gmt($timezone) {
137
+ $GMT = 'GMT+00:00';
138
+ $minutes = '00';
139
+ if (strpos($timezone, 'UTC') !== false) {
140
+ $timezone = str_replace(array('.25', '.5', '.75'), array(':15', ':30', ':45'), $timezone);
141
+
142
+ $temp = explode(':', $timezone);
143
+
144
+ if (isset($temp[1])) {
145
+ $minutes = $temp[1];
146
+ }
147
+ $hours = str_replace(array('UTC'), array('GMT'), $temp[0]);
148
+ $hours = str_replace(array('-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9'), array('-01', '-02', '-03', '-04', '-05', '-06', '-07', '-08', '-09'), $hours);
149
+ $hours = str_replace(array('+1', '+2', '+3', '+4', '+5', '+6', '+7', '+8', '+9'), array('+01', '+02', '+03', '+04', '+05', '+06', '+07', '+08', '+09'), $hours);
150
+ $GMT = sprintf('%s:%s', $hours, $minutes);
151
+ } else {
152
+ $target_time_zone = new DateTimeZone($timezone);
153
+ $date_time = new DateTime('now', $target_time_zone);
154
+ $GMT = sprintf('GMT%s', $date_time->format('P'));
155
+ }
156
+ return $GMT;
157
+ }
158
+
159
+ function get_current_timezone() {
160
+ // Get user settings
161
+ $current_offset = get_option('gmt_offset');
162
+ $tzstring = get_option('timezone_string');
163
+
164
+ $check_zone_info = true;
165
+
166
+ // Remove old Etc mappings. Fallback to gmt_offset.
167
+ if (false !== strpos($tzstring, 'Etc/GMT')) {
168
+ $tzstring = '';
169
+ }
170
+
171
+ if (empty($tzstring)) {
172
+ // Create a UTC+- zone if no timezone string exists
173
+ $check_zone_info = false;
174
+ if (0 == $current_offset) {
175
+ $tzstring = 'UTC+0';
176
+ } elseif ($current_offset < 0) {
177
+ $tzstring = 'UTC' . $current_offset;
178
+ } else {
179
+ $tzstring = 'UTC+' . $current_offset;
180
+ }
181
+ }
182
+ return $tzstring;
183
+ }
184
+
185
  function options() {
186
 
187
  global $qlwapp;
188
 
189
+ $options = get_option(QLWAPP_DOMAIN, $this->defaults());
190
 
191
  if (isset($options['button']['phone'])) {
192
  $options['button']['phone'] = str_replace('+', '', $options['button']['phone']);
194
  if (isset($options['contacts'])) {
195
  if (count($options['contacts'])) {
196
  foreach ($options['contacts'] as $id => $c) {
197
+
198
+ $options['contacts'][$id] = wp_parse_args($c, $this->defaults()['contacts'][0]);
199
+
200
+ $options['contacts'][$id]['phone'] = str_replace('+', '', $options['contacts'][$id]['phone']);
201
+
202
+ if (!empty($options['contacts'][$id]['timezone']) && !is_admin()) {
203
+ $options['contacts'][$id]['timezone'] = $this->standar_timezone_gmt($options['contacts'][$id]['timezone']);
204
+ }
205
  }
206
  }
207
  }
208
 
209
+
210
+
211
+ if (isset($options['box']['enable']) && $options['box']['enable'] == 'yes') {
212
  $options['box']['enable'] = 'yes';
213
  }
214
+ // // lo saco
215
+ // if (isset($options['box']['contactstimeout']) && $options['box']['contactstimeout'] == 'yes') {
216
+ // $options['box']['contactstimeout'] = 'yes';
217
+ // }
218
  if (isset($options['button']['rounded']) && $options['button']['rounded'] == 1) {
219
  $options['button']['rounded'] = 'yes';
220
  }
 
221
  if (isset($options['button']['developer']) && $options['button']['developer'] == 1) {
222
  $options['button']['developer'] = 'yes';
223
  }
224
+ if (isset($options['button']['timezone']) && !is_admin()) {
225
+ $options['button']['timezone'] = $this->standar_timezone_gmt($options['button']['timezone']);
226
+ }
227
+ // Include default args if undefined
228
  $qlwapp = $this->wp_parse_args($options, $this->defaults());
229
  }
230
 
includes/frontend.php CHANGED
@@ -6,8 +6,8 @@ if (!class_exists('QLWAPP_Frontend')) {
6
  protected static $instance;
7
 
8
  function add_js() {
9
- wp_enqueue_style(QLWAPP_DOMAIN, plugins_url('/assets/css/qlwapp.min.css', QLWAPP_PLUGIN_FILE), null, QLWAPP_PLUGIN_VERSION, 'all');
10
- wp_enqueue_script(QLWAPP_DOMAIN, plugins_url('/assets/js/qlwapp.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION, true);
11
  }
12
 
13
  function add_box() {
@@ -93,6 +93,11 @@ if (!class_exists('QLWAPP_Frontend')) {
93
 
94
  $display = false;
95
 
 
 
 
 
 
96
  if (in_array($wp_query->queried_object->slug, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
97
  return true;
98
  }
6
  protected static $instance;
7
 
8
  function add_js() {
9
+ wp_enqueue_style(QLWAPP_DOMAIN, plugins_url('/assets/css/qlwapp'. QLWAPP::is_min().'.css', QLWAPP_PLUGIN_FILE), null, QLWAPP_PLUGIN_VERSION, 'all');
10
+ wp_enqueue_script(QLWAPP_DOMAIN, plugins_url('/assets/js/qlwapp'. QLWAPP::is_min().'.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION, true);
11
  }
12
 
13
  function add_box() {
93
 
94
  $display = false;
95
 
96
+ if (in_array($wp_query->queried_object->term_id, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
97
+ return true;
98
+ }
99
+
100
+ //backward compatibility for $term->name
101
  if (in_array($wp_query->queried_object->slug, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
102
  return true;
103
  }
includes/pages/box.php CHANGED
@@ -31,6 +31,18 @@
31
  <p class="description hidden"><?php esc_html_e('Write a response text.', 'wp-whatsapp-chat'); ?></p>
32
  </td>
33
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
34
  <tr>
35
  <th scope="row">
36
  <?php esc_html_e('Contacts', 'wp-whatsapp-chat'); ?>
@@ -93,7 +105,11 @@
93
  label: $('#qlwapp-contact-form #clabel').val(),
94
  message: $('#qlwapp-contact-form #cmessage').val(),
95
  chat: $('#qlwapp-contact-form .cchat:checked').val(),
96
- avatar: $('#qlwapp-contact-form #cavatar').val()
 
 
 
 
97
  }
98
 
99
  let index = document.querySelector('#qlwapp-contact-form').dataset.editindex;
@@ -138,8 +154,14 @@
138
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][lastname]" value="' + contact.lastname + '" />';
139
  td3.innerHTML = contact.label +
140
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][label]" value="' + contact.label + '" />';
141
- td4.innerHTML = contact.message +
142
- '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][message]" value="' + contact.message + '" />';
 
 
 
 
 
 
143
  td5.innerHTML = (Number(contact.chat) ? 'Enabled' : 'Disabled') +
144
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][chat]" value="' + Number(contact.chat) + '" />';
145
  td6.innerHTML = '<a href="javascript:;" id="btn-delete-contact" data-cid="' + i + '">Remove</a> | ' +
@@ -171,6 +193,11 @@
171
  $('#qlwapp-contact-form #cmessage').val(contact.message);
172
  $('#qlwapp-contact-form #cavatar').val(contact.avatar);
173
  $('#qlwapp-contact-form #cavatar-img').attr('src', contact.avatar);
 
 
 
 
 
174
  $('#qlwapp-contact-form').slideToggle();
175
  }
176
  qlwapp_show_contacts();
31
  <p class="description hidden"><?php esc_html_e('Write a response text.', 'wp-whatsapp-chat'); ?></p>
32
  </td>
33
  </tr>
34
+ <!-- // sal de momento, ver el js y el defaults
35
+ <tr>
36
+ <th scope="row"><?php// esc_html_e('Contacts time is over, what to do if there are no contacts in the time range', 'wp-whatsapp-chat'); ?></th>
37
+ <td class="qlwapp-premium-field">
38
+ <select name="<?php //echo esc_attr(QLWAPP_DOMAIN . '[box][contactstimeout]'); ?>" class="qlwapp-select2">
39
+ <option value="yes" <?php //selected($qlwapp['box']['contactstimeout'], 'yes'); ?>><?php //esc_html_e('Show the button as read only', 'wp-whatsapp-chat'); ?></option>
40
+ <option value="no" <?php //selected($qlwapp['box']['contactstimeout'], 'no'); ?>><?php //esc_html_e('Do not show the button', 'wp-whatsapp-chat'); ?></option>
41
+ </select>
42
+ <p class="description"><?php //esc_html_e('Contacts time is over, what to do if there are no contacts in the time range', 'wp-whatsapp-chat'); ?></span>
43
+ <p class="description hidden"><small><?php //esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
44
+ </td>
45
+ </tr>-->
46
  <tr>
47
  <th scope="row">
48
  <?php esc_html_e('Contacts', 'wp-whatsapp-chat'); ?>
105
  label: $('#qlwapp-contact-form #clabel').val(),
106
  message: $('#qlwapp-contact-form #cmessage').val(),
107
  chat: $('#qlwapp-contact-form .cchat:checked').val(),
108
+ avatar: $('#qlwapp-contact-form #cavatar').val(),
109
+ timefrom: $('#qlwapp-contact-form #ctimefrom').val(),
110
+ timeto: $('#qlwapp-contact-form #ctimeto').val(),
111
+ // timeout: $('#qlwapp-contact-form #ctimeout').val(),
112
+ timezone: $('#qlwapp-contact-form #ctimezone').val()
113
  }
114
 
115
  let index = document.querySelector('#qlwapp-contact-form').dataset.editindex;
154
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][lastname]" value="' + contact.lastname + '" />';
155
  td3.innerHTML = contact.label +
156
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][label]" value="' + contact.label + '" />';
157
+ td4.innerHTML = contact.message + ' - ' + '<?php esc_html_e('Availability', 'wp-whatsapp-chat'); ?>: '+ contact.timefrom +'-'+ contact.timeto +
158
+ ' - <?php esc_html_e('Timezone', 'wp-whatsapp-chat'); ?>: '+ contact.timezone+
159
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][message]" value="' + contact.message + '" />'+
160
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][timeto]" value="' + contact.timeto + '" />'+
161
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][timefrom]" value="' + contact.timefrom+ '" />'+
162
+ // '<input type="hidden" name="<?php // echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][timeout]" value="' + contact.timeout + '" />'+
163
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][timezone]" value="' + contact.timezone + '" />' ;
164
+
165
  td5.innerHTML = (Number(contact.chat) ? 'Enabled' : 'Disabled') +
166
  '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][chat]" value="' + Number(contact.chat) + '" />';
167
  td6.innerHTML = '<a href="javascript:;" id="btn-delete-contact" data-cid="' + i + '">Remove</a> | ' +
193
  $('#qlwapp-contact-form #cmessage').val(contact.message);
194
  $('#qlwapp-contact-form #cavatar').val(contact.avatar);
195
  $('#qlwapp-contact-form #cavatar-img').attr('src', contact.avatar);
196
+ $('#qlwapp-contact-form #ctimefrom').val(contact.timefrom);
197
+ $('#qlwapp-contact-form #ctimeto').val(contact.timeto);
198
+ // $('#qlwapp-contact-form #ctimeout').val(contact.timeout);
199
+ $('#qlwapp-contact-form #ctimezone').val(contact.timezone);
200
+
201
  $('#qlwapp-contact-form').slideToggle();
202
  }
203
  qlwapp_show_contacts();
includes/pages/button.php CHANGED
@@ -1,92 +1,113 @@
1
  <form method="post" action="options.php">
2
- <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
- <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
- <table class="form-table">
5
- <tbody>
6
- <tr>
7
- <th scope="row"><?php esc_html_e('Layout', 'wp-whatsapp-chat'); ?></th>
8
- <td>
9
- <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][layout]" class="qlwapp-select2">
10
- <option value="button" <?php selected($qlwapp['button']['layout'], 'button'); ?>><?php esc_html_e('Button', 'wp-whatsapp-chat'); ?></option>
11
- <option value="bubble" <?php selected($qlwapp['button']['layout'], 'bubble'); ?>><?php esc_html_e('Bubble', 'wp-whatsapp-chat'); ?></option>
12
- </select>
13
- <p class="description hidden"><?php esc_html_e('Switch to change the button layout.', 'wp-whatsapp-chat'); ?></p>
14
- </td>
15
- </tr>
16
- <tr>
17
- <th scope="row"><?php esc_html_e('Rounded', 'wp-whatsapp-chat'); ?></th>
18
- <td>
19
- <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][rounded]" class="qlwapp-select2">
20
- <option value="yes" <?php selected($qlwapp['button']['rounded'], 'yes'); ?>><?php esc_html_e('Add rounded border', 'wp-whatsapp-chat'); ?></option>
21
- <option value="no" <?php selected($qlwapp['button']['rounded'], 'no'); ?>><?php esc_html_e('Remove rounded border', 'wp-whatsapp-chat'); ?></option>
22
- </select>
23
- <p class="description hidden"><?php esc_html_e('Add rounded border to the button.', 'wp-whatsapp-chat'); ?></p>
24
- </td>
25
- </tr>
26
- <tr>
27
- <th scope="row"><?php esc_html_e('Position', 'wp-whatsapp-chat'); ?></th>
28
- <td>
29
- <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][position]" class="qlwapp-select2">
30
- <option value="middle-left" <?php selected($qlwapp['button']['position'], 'middle-left'); ?>><?php esc_html_e('Middle Left', 'wp-whatsapp-chat'); ?></option>
31
- <option value="middle-right" <?php selected($qlwapp['button']['position'], 'middle-right'); ?>><?php esc_html_e('Middle Right', 'wp-whatsapp-chat'); ?></option>
32
- <option value="bottom-left" <?php selected($qlwapp['button']['position'], 'bottom-left'); ?>><?php esc_html_e('Bottom Left', 'wp-whatsapp-chat'); ?></option>
33
- <option value="bottom-right" <?php selected($qlwapp['button']['position'], 'bottom-right'); ?>><?php esc_html_e('Bottom Right', 'wp-whatsapp-chat'); ?></option>
34
- </select>
35
- <p class="description hidden"><?php esc_html_e('Switch to change the button position.', 'wp-whatsapp-chat'); ?></p>
36
- </td>
37
- </tr>
38
- <tr>
39
- <th scope="row"><?php esc_html_e('Icon', 'wp-whatsapp-chat'); ?></th>
40
- <td>
41
- <div class="submit qlwapp-premium-field">
42
- <?php submit_button(esc_html__('Add Icon', 'wp-whatsapp-chat'), 'secondary', null, false, array('id' => 'btn-add-icon')); ?>
43
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
44
- </div>
45
- <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][icon]" placeholder="<?php echo esc_html($this->defaults['button']['icon']); ?>" value="<?php echo esc_attr($qlwapp['button']['icon']); ?>" class="qlwapp-input"/>
46
- </td>
47
- </tr>
48
- <tr>
49
- <th scope="row"><?php esc_html_e('Discreet link', 'wp-whatsapp-chat'); ?></th>
50
- <td>
51
- <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][developer]" class="qlwapp-select2">
52
- <option value="yes" <?php selected($qlwapp['button']['developer'], 'yes'); ?>><?php esc_html_e('Show developer link', 'wp-whatsapp-chat'); ?></option>
53
- <option value="no" <?php selected($qlwapp['button']['developer'], 'no'); ?>><?php esc_html_e('Hide developer link', 'wp-whatsapp-chat'); ?></option>
54
- </select>
55
- <p class="description hidden"><?php esc_html_e('Leave a discrete link to developer to help and keep new updates and support.', 'wp-whatsapp-chat'); ?></p>
56
- </td>
57
- </tr>
58
- <tr>
59
- <th scope="row"><?php esc_html_e('Text', 'wp-whatsapp-chat'); ?></th>
60
- <td>
61
- <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][text]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['text']); ?>" value="<?php echo esc_attr($qlwapp['button']['text']); ?>" class="qlwapp-input"/>
62
- <p class="description hidden"><?php esc_html_e('Customize your text.', 'wp-whatsapp-chat'); ?></p>
63
- </td>
64
- </tr>
65
- <tr>
66
- <th scope="row"><?php esc_html_e('Phone', 'wp-whatsapp-chat'); ?></th>
67
- <td>
68
- <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['phone']); ?>" value="<?php echo esc_attr($qlwapp['button']['phone']); ?>" class="qlwapp-input" pattern="\d[0-9]{6,15}$"/>
69
- <p class="description hidden"><?php esc_html_e('Full phone number in international format.', 'wp-whatsapp-chat'); ?></p>
70
 
71
- </td>
72
- </tr>
73
- <!--<tr>
74
- <th scope="row"><?php esc_html_e('Schedule', 'wp-whatsapp-chat'); ?></th>
75
- <td>
76
- <b><?php esc_html_e('From', 'wp-whatsapp-chat'); ?></b>
77
- <input type="time" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][timefrom]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['timefrom']); ?>" value="<?php echo esc_html($qlwapp['button']['timefrom']); ?>" />
78
- <b><?php esc_html_e('To', 'wp-whatsapp-chat'); ?></b>
79
- <input type="time" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][timeto]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['timeto']); ?>" value="<?php echo esc_html($qlwapp['button']['timeto']); ?>" />
80
- </td>
81
- </tr>-->
82
- <tr>
83
- <th scope="row"><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></th>
84
- <td>
85
- <textarea maxlength="500" style="width:100%;height: 100px;padding: 8px;" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[user][message]" placeholder="<?php echo esc_html($this->defaults['user']['message']); ?>" ><?php echo esc_html(trim($qlwapp['user']['message'])); ?></textarea>
86
- <p class="description hidden"><?php esc_html_e('Message that will automatically appear in the text field of a chat.', 'wp-whatsapp-chat'); ?></p>
87
- </td>
88
- </tr>
89
- </tbody>
90
- </table>
91
- <?php submit_button() ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  </form>
1
  <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Layout', 'wp-whatsapp-chat'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][layout]" class="qlwapp-select2">
10
+ <option value="button" <?php selected($qlwapp['button']['layout'], 'button'); ?>><?php esc_html_e('Button', 'wp-whatsapp-chat'); ?></option>
11
+ <option value="bubble" <?php selected($qlwapp['button']['layout'], 'bubble'); ?>><?php esc_html_e('Bubble', 'wp-whatsapp-chat'); ?></option>
12
+ </select>
13
+ <p class="description hidden"><?php esc_html_e('Switch to change the button layout.', 'wp-whatsapp-chat'); ?></p>
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th scope="row"><?php esc_html_e('Rounded', 'wp-whatsapp-chat'); ?></th>
18
+ <td>
19
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][rounded]" class="qlwapp-select2">
20
+ <option value="yes" <?php selected($qlwapp['button']['rounded'], 'yes'); ?>><?php esc_html_e('Add rounded border', 'wp-whatsapp-chat'); ?></option>
21
+ <option value="no" <?php selected($qlwapp['button']['rounded'], 'no'); ?>><?php esc_html_e('Remove rounded border', 'wp-whatsapp-chat'); ?></option>
22
+ </select>
23
+ <p class="description hidden"><?php esc_html_e('Add rounded border to the button.', 'wp-whatsapp-chat'); ?></p>
24
+ </td>
25
+ </tr>
26
+ <tr>
27
+ <th scope="row"><?php esc_html_e('Position', 'wp-whatsapp-chat'); ?></th>
28
+ <td>
29
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][position]" class="qlwapp-select2">
30
+ <option value="middle-left" <?php selected($qlwapp['button']['position'], 'middle-left'); ?>><?php esc_html_e('Middle Left', 'wp-whatsapp-chat'); ?></option>
31
+ <option value="middle-right" <?php selected($qlwapp['button']['position'], 'middle-right'); ?>><?php esc_html_e('Middle Right', 'wp-whatsapp-chat'); ?></option>
32
+ <option value="bottom-left" <?php selected($qlwapp['button']['position'], 'bottom-left'); ?>><?php esc_html_e('Bottom Left', 'wp-whatsapp-chat'); ?></option>
33
+ <option value="bottom-right" <?php selected($qlwapp['button']['position'], 'bottom-right'); ?>><?php esc_html_e('Bottom Right', 'wp-whatsapp-chat'); ?></option>
34
+ </select>
35
+ <p class="description hidden"><?php esc_html_e('Switch to change the button position.', 'wp-whatsapp-chat'); ?></p>
36
+ </td>
37
+ </tr>
38
+ <tr>
39
+ <th scope="row"><?php esc_html_e('Icon', 'wp-whatsapp-chat'); ?></th>
40
+ <td>
41
+ <div class="submit qlwapp-premium-field">
42
+ <?php submit_button(esc_html__('Add Icon', 'wp-whatsapp-chat'), 'secondary', null, false, array('id' => 'btn-add-icon')); ?>
43
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
44
+ </div>
45
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][icon]" placeholder="<?php echo esc_html($this->defaults['button']['icon']); ?>" value="<?php echo esc_attr($qlwapp['button']['icon']); ?>" class="qlwapp-input"/>
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <th scope="row"><?php esc_html_e('Discreet link', 'wp-whatsapp-chat'); ?></th>
50
+ <td>
51
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][developer]" class="qlwapp-select2">
52
+ <option value="yes" <?php selected($qlwapp['button']['developer'], 'yes'); ?>><?php esc_html_e('Show developer link', 'wp-whatsapp-chat'); ?></option>
53
+ <option value="no" <?php selected($qlwapp['button']['developer'], 'no'); ?>><?php esc_html_e('Hide developer link', 'wp-whatsapp-chat'); ?></option>
54
+ </select>
55
+ <p class="description hidden"><?php esc_html_e('Leave a discrete link to developer to help and keep new updates and support.', 'wp-whatsapp-chat'); ?></p>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <th scope="row"><?php esc_html_e('Text', 'wp-whatsapp-chat'); ?></th>
60
+ <td>
61
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][text]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['text']); ?>" value="<?php echo esc_attr($qlwapp['button']['text']); ?>" class="qlwapp-input"/>
62
+ <p class="description hidden"><?php esc_html_e('Customize your text.', 'wp-whatsapp-chat'); ?></p>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <th scope="row"><?php esc_html_e('Phone', 'wp-whatsapp-chat'); ?></th>
67
+ <td>
68
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['phone']); ?>" value="<?php echo esc_attr($qlwapp['button']['phone']); ?>" class="qlwapp-input" pattern="\d[0-9]{6,15}$"/>
69
+ <p class="description hidden"><?php esc_html_e('Full phone number in international format.', 'wp-whatsapp-chat'); ?></p>
70
 
71
+ </td>
72
+ </tr>
73
+ <tr>
74
+ <th scope="row"><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></th>
75
+ <td>
76
+ <textarea maxlength="500" style="width:100%;height: 100px;padding: 8px;" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[user][message]" placeholder="<?php echo esc_html($this->defaults['user']['message']); ?>" ><?php echo esc_html(trim($qlwapp['user']['message'])); ?></textarea>
77
+ <p class="description hidden"><?php esc_html_e('Message that will automatically appear in the text field of a chat.', 'wp-whatsapp-chat'); ?></p>
78
+ </td>
79
+ </tr>
80
+ <tr>
81
+ <th scope="row"><?php esc_html_e('Schedule', 'wp-whatsapp-chat'); ?></th>
82
+ <td class="qlwapp-premium-field">
83
+ <b><?php esc_html_e('From', 'wp-whatsapp-chat'); ?></b>
84
+ <input type="time" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][timefrom]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['timefrom']); ?>" value="<?php echo esc_html($qlwapp['button']['timefrom']); ?>" />
85
+ <b><?php esc_html_e('To', 'wp-whatsapp-chat'); ?></b>
86
+ <input type="time" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][timeto]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['timeto']); ?>" value="<?php echo esc_html($qlwapp['button']['timeto']); ?>" />
87
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
88
+
89
+ </td>
90
+ </tr>
91
+ <tr>
92
+ <th scope="row"><?php esc_html_e('Timezone', 'wp-whatsapp-chat'); ?></th>
93
+ <td class="qlwapp-premium-field">
94
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][timezone]'); ?>" aria-describedby="timezone-description" required="" class="qlwapp-select2">
95
+ <?php echo wp_timezone_choice($qlwapp['button']['timezone'], get_user_locale()); ?>
96
+ </select>
97
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
98
+ </td>
99
+ </tr>
100
+ <!-- <tr>
101
+ <th scope="row"><?php// esc_html_e('Timeout', 'wp-whatsapp-chat'); ?></th>
102
+ <td class="qlwapp-premium-field">
103
+ <select name="<?php // echo esc_attr(QLWAPP_DOMAIN); ?>[button][timeout]" class="qlwapp-select2">
104
+ <option value="yes" <?php // selected($qlwapp['button']['timeout'], 'yes'); ?>><?php esc_html_e('Show the button as read only', 'wp-whatsapp-chat'); ?></option>
105
+ <option value="no" <?php // selected($qlwapp['button']['timeout'], 'no'); ?>><?php esc_html_e('Do not show the button', 'wp-whatsapp-chat'); ?></option>
106
+ </select>
107
+ <p class="description hidden"><small><?php //esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
108
+ </td>
109
+ </tr> -->
110
+ </tbody>
111
+ </table>
112
+ <?php submit_button() ?>
113
  </form>
includes/pages/colors.php CHANGED
@@ -1,49 +1,49 @@
1
- <form method="post" action="options.php">
2
- <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
- <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
- <table class="form-table">
5
- <tbody>
6
- <tr>
7
- <th scope="row"><?php esc_html_e('Background', 'wp-whatsapp-chat'); ?></th>
8
- <td>
9
- <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][brand]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['brand']); ?>" />
10
- </td>
11
- </tr>
12
- <tr>
13
- <th scope="row"><?php esc_html_e('Color', 'wp-whatsapp-chat'); ?></th>
14
- <td>
15
- <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][text]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['text']); ?>" />
16
- </td>
17
- </tr>
18
- <tr class="qlwapp-premium-field">
19
- <th scope="row"><?php esc_html_e('Link', 'wp-whatsapp-chat'); ?></th>
20
- <td>
21
- <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][link]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['link']); ?>" />
22
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
23
- </td>
24
- </tr>
25
- <tr class="qlwapp-premium-field">
26
- <th scope="row"><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></th>
27
- <td>
28
- <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][message]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['message']); ?>" />
29
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
30
- </td>
31
- </tr>
32
- <tr class="qlwapp-premium-field">
33
- <th scope="row"><?php esc_html_e('Label', 'wp-whatsapp-chat'); ?></th>
34
- <td>
35
- <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][label]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['label']); ?>" />
36
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
37
- </td>
38
- </tr>
39
- <tr class="qlwapp-premium-field">
40
- <th scope="row"><?php esc_html_e('Name', 'wp-whatsapp-chat'); ?></th>
41
- <td>
42
- <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][name]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['name']); ?>" />
43
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
44
- </td>
45
- </tr>
46
- </tbody>
47
- </table>
48
- <?php submit_button() ?>
49
  </form>
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Background', 'wp-whatsapp-chat'); ?></th>
8
+ <td>
9
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][brand]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['brand']); ?>" />
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th scope="row"><?php esc_html_e('Color', 'wp-whatsapp-chat'); ?></th>
14
+ <td>
15
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][text]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['text']); ?>" />
16
+ </td>
17
+ </tr>
18
+ <tr class="qlwapp-premium-field">
19
+ <th scope="row"><?php esc_html_e('Link', 'wp-whatsapp-chat'); ?></th>
20
+ <td>
21
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][link]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['link']); ?>" />
22
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
23
+ </td>
24
+ </tr>
25
+ <tr class="qlwapp-premium-field">
26
+ <th scope="row"><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></th>
27
+ <td>
28
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][message]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['message']); ?>" />
29
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
30
+ </td>
31
+ </tr>
32
+ <tr class="qlwapp-premium-field">
33
+ <th scope="row"><?php esc_html_e('Label', 'wp-whatsapp-chat'); ?></th>
34
+ <td>
35
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][label]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['label']); ?>" />
36
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
37
+ </td>
38
+ </tr>
39
+ <tr class="qlwapp-premium-field">
40
+ <th scope="row"><?php esc_html_e('Name', 'wp-whatsapp-chat'); ?></th>
41
+ <td>
42
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][name]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['name']); ?>" />
43
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
44
+ </td>
45
+ </tr>
46
+ </tbody>
47
+ </table>
48
+ <?php submit_button() ?>
49
  </form>
includes/pages/display.php CHANGED
@@ -1,115 +1,126 @@
1
- <form method="post" action="options.php">
2
- <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
- <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
- <table class="form-table">
5
- <tbody>
6
- <tr>
7
- <th scope="row"><?php esc_html_e('Devices', 'wp-whatsapp-chat'); ?></th>
8
- <td>
9
- <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[display][devices]" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr('Posts', 'wp-whatsapp-chat'); ?>" class="qlwapp-select2">
10
- <option value="all" <?php selected('all', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in all devices', 'wp-whatsapp-chat'); ?></option>
11
- <option value="mobile" <?php selected('mobile', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in mobile devices', 'wp-whatsapp-chat'); ?></option>
12
- <option value="desktop" <?php selected('desktop', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in desktop devices', 'wp-whatsapp-chat'); ?></option>
13
- <option value="hide" <?php selected('hide', $qlwapp['display']['devices']); ?>><?php esc_html_e('Hide in all devices', 'wp-whatsapp-chat'); ?></option>
14
- </select>
15
- </td>
16
- </tr>
17
- <tr>
18
- <th scope="row"><?php esc_html_e('Target', 'wp-whatsapp-chat'); ?></th>
19
- <td>
20
- <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][target][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr('Posts', 'wp-whatsapp-chat'); ?>" class="qlwapp-select2">
21
- <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
22
- <option value="home" <?php echo selected(true, in_array('home', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Home', 'wp-whatsapp-chat'); ?></option>
23
- <option value="blog" <?php echo selected(true, in_array('blog', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Blog', 'wp-whatsapp-chat'); ?></option>
24
- <option value="search" <?php echo selected(true, in_array('search', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Search', 'wp-whatsapp-chat'); ?></option>
25
- <option value="error" <?php echo selected(true, in_array('error', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html('404'); ?></option>
26
- </select>
27
- <p class="description hidden"><?php esc_html_e('If you select an option all the other will be excluded', 'wp-whatsapp-chat'); ?></p>
28
- </td>
29
- </tr>
30
- <?php
31
- foreach (get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'objects') as $type) {
32
-
33
- if (!isset($qlwapp['display'][$type->name])) {
34
- $qlwapp['display'][$type->name] = array();
35
- }
36
-
37
- $posts = get_posts(array(
38
- 'post_type' => $type->name,
39
- 'post_status' => 'publish',
40
- 'numberposts' => 10
41
- ));
42
-
43
- if ($count = wp_count_posts($type->name)) {
44
- ?>
45
- <tr class="qlwapp-premium-field">
46
- <th scope="row"><?php esc_html_e(ucwords($type->label)); ?></th>
47
- <td>
48
- <select data-nonce="<?php echo wp_create_nonce('qlwapp_get_posts'); ?>" id="qlwapp_select2_<?php echo esc_attr($type->name); ?>" multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $type->name . '][]'); ?>" style="width:350px" data-placeholder="<?php printf(esc_html__('Select for %s&hellip;', 'wp-whatsapp-chat'), $type->label); ?>" aria-label="<?php echo esc_attr($type->label); ?>" data-name="<?php echo esc_attr($type->name); ?>" class="<?php echo esc_attr($count->publish < 11 ? 'qlwapp-select2' : 'qlwapp-select2-ajax' ); ?>">
49
- <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
50
- <option value="archive" <?php echo selected(true, in_array('archive', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Archive', 'wp-whatsapp-chat'); ?></option>
51
- <?php
52
- if ($count->publish < 11) {
53
-
54
- foreach ($posts as $post) {
55
- ?>
56
- <option value="<?php echo esc_attr($post->post_name); ?>" <?php echo selected(true, in_array($post->post_name, (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html($post->post_title); ?></option>
57
- <?php
58
- }
59
- }
60
-
61
- if (isset($qlwapp['display'][$type->name]) && count($qlwapp['display'][$type->name])) {
62
- foreach ($qlwapp['display'][$type->name] as $id => $slug) {
63
- if ($post = get_page_by_path($slug)) {
64
- ?>
65
- <option value="<?php echo esc_attr($slug); ?>" selected="selected"><?php echo esc_html(mb_substr($post->post_title, 0, 49)); ?></option>
66
- <?php
67
- }
68
- }
69
- }
70
- ?>
71
- </select>
72
- <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
73
- </td>
74
- </tr>
75
- <?php
76
- }
77
- }
78
- ?>
79
- <?php
80
- foreach ($taxonomies = get_taxonomies(array('public' => true), 'objects') as $taxonomy) {
81
-
82
- if (!isset($qlwapp['display'][$taxonomy->name])) {
83
- $qlwapp['display'][$taxonomy->name] = array();
84
- }
85
-
86
- $terms = get_terms(array(
87
- 'taxonomy' => $taxonomy->name,
88
- 'hide_empty' => false,
89
- ));
90
-
91
- if (count($terms)) {
92
- ?>
93
- <tr>
94
- <th scope="row"><?php esc_html_e(ucwords($taxonomy->label)); ?></th>
95
- <td>
96
- <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $taxonomy->name . '][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr($taxonomy->label); ?>" class="qlwapp-select2">
97
- <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
98
- <?php
99
- foreach ($terms as $term) {
100
- ?>
101
- <option value="<?php echo esc_attr($term->slug); ?>" <?php echo selected(true, in_array($term->slug, (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html($term->name); ?></option>
102
- <?php
103
- }
104
- ?>
105
- </select>
106
- </td>
107
- </tr>
108
- <?php
109
- }
110
- }
111
- ?>
112
- </tbody>
113
- </table>
114
- <?php submit_button() ?>
 
 
 
 
 
 
 
 
 
 
 
115
  </form>
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Devices', 'wp-whatsapp-chat'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[display][devices]" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr('Posts', 'wp-whatsapp-chat'); ?>" class="qlwapp-select2">
10
+ <option value="all" <?php selected('all', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in all devices', 'wp-whatsapp-chat'); ?></option>
11
+ <option value="mobile" <?php selected('mobile', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in mobile devices', 'wp-whatsapp-chat'); ?></option>
12
+ <option value="desktop" <?php selected('desktop', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in desktop devices', 'wp-whatsapp-chat'); ?></option>
13
+ <option value="hide" <?php selected('hide', $qlwapp['display']['devices']); ?>><?php esc_html_e('Hide in all devices', 'wp-whatsapp-chat'); ?></option>
14
+ </select>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <th scope="row"><?php esc_html_e('Target', 'wp-whatsapp-chat'); ?></th>
19
+ <td>
20
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][target][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr('Posts', 'wp-whatsapp-chat'); ?>" class="qlwapp-select2">
21
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
22
+ <option value="home" <?php echo selected(true, in_array('home', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Home', 'wp-whatsapp-chat'); ?></option>
23
+ <option value="blog" <?php echo selected(true, in_array('blog', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Blog', 'wp-whatsapp-chat'); ?></option>
24
+ <option value="search" <?php echo selected(true, in_array('search', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Search', 'wp-whatsapp-chat'); ?></option>
25
+ <option value="error" <?php echo selected(true, in_array('error', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html('404'); ?></option>
26
+ </select>
27
+ <p class="description hidden"><?php esc_html_e('If you select an option all the other will be excluded', 'wp-whatsapp-chat'); ?></p>
28
+ </td>
29
+ </tr>
30
+ <?php
31
+ foreach (get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'objects') as $type) {
32
+ if (!isset($qlwapp['display'][$type->name])) {
33
+ $qlwapp['display'][$type->name] = array();
34
+ }
35
+
36
+ if ($count = wp_count_posts($type->name)) {
37
+ ?>
38
+ <tr class="qlwapp-premium-field">
39
+ <th scope="row"><?php esc_html_e(ucwords($type->label)); ?></th>
40
+ <td>
41
+ <!-- <select style="width:80px" class="qlwapp-select2">
42
+ <option value="include">Include</option>
43
+ <option value="include">Exclude</option>
44
+ </select>-->
45
+ <select data-nonce="<?php echo wp_create_nonce('qlwapp_get_posts'); ?>" id="qlwapp_select2_<?php echo esc_attr($type->name); ?>" multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $type->name . '][]'); ?>" style="width:350px" data-placeholder="<?php printf(esc_html__('Select for %s&hellip;', 'wp-whatsapp-chat'), $type->label); ?>" aria-label="<?php echo esc_attr($type->label); ?>" data-name="<?php echo esc_attr($type->name); ?>" class="qlwapp-select2-ajax">
46
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
47
+ <!--<option value="archive" <?php echo selected(true, in_array('archive', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Archive', 'wp-whatsapp-chat'); ?></option>-->
48
+ <?php
49
+ // Print selected posts
50
+ // -------------------------------------------------------------
51
+ if (isset($qlwapp['display'][$type->name]) && count($qlwapp['display'][$type->name])) {
52
+ foreach ($qlwapp['display'][$type->name] as $post_id) {
53
+
54
+ if (!$post = get_post($post_id)) {
55
+ //backward compatibility for $post->post_name
56
+ $post = get_page_by_path($post_id);
57
+ }
58
+
59
+ if (isset($post->ID)) {
60
+ ?>
61
+ <option value="<?php echo esc_attr($post->ID); ?>" selected="selected"><?php echo esc_html(mb_substr($post->post_title, 0, 49)); ?></option>
62
+ <?php
63
+ }
64
+ }
65
+ }
66
+ // Print firsts 10 posts
67
+ // -------------------------------------------------------------
68
+ /* if ($count->publish < 11) {
69
+ $posts = get_posts(array(
70
+ 'post_type' => $type->name,
71
+ 'post_status' => 'publish',
72
+ 'numberposts' => 10
73
+ ));
74
+ foreach ($posts as $post) {
75
+ ?>
76
+ <option value="<?php echo esc_attr($post->post_name); ?>" <?php echo selected(true, in_array($post->post_name, (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html($post->post_title); ?></option>
77
+ <?php
78
+ }
79
+ } */
80
+ ?>
81
+ </select>
82
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
83
+ </td>
84
+ </tr>
85
+ <?php
86
+ }
87
+ }
88
+ ?>
89
+ <?php
90
+ foreach ($taxonomies = get_taxonomies(array('public' => true), 'objects') as $taxonomy) {
91
+
92
+ if (!isset($qlwapp['display'][$taxonomy->name])) {
93
+ $qlwapp['display'][$taxonomy->name] = array();
94
+ }
95
+
96
+ $terms = get_terms(array(
97
+ 'taxonomy' => $taxonomy->name,
98
+ 'hide_empty' => false,
99
+ ));
100
+
101
+ if (count($terms)) {
102
+ ?>
103
+ <tr>
104
+ <th scope="row"><?php esc_html_e(ucwords($taxonomy->label)); ?></th>
105
+ <td>
106
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $taxonomy->name . '][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'wp-whatsapp-chat'); ?>" aria-label="<?php echo esc_attr($taxonomy->label); ?>" class="qlwapp-select2">
107
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html__('Exclude from all', 'wp-whatsapp-chat'); ?></option>
108
+ <?php
109
+ foreach ($terms as $term) {
110
+ //backward compatibility for $term->name
111
+ ?>
112
+ <option value="<?php echo esc_attr($term->term_id); ?>" <?php echo selected(true, in_array($term->term_id, (array) $qlwapp['display'][$taxonomy->name]) || in_array($term->name, (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html($term->name); ?></option>
113
+ <?php
114
+ }
115
+ ?>
116
+ </select>
117
+ </td>
118
+ </tr>
119
+ <?php
120
+ }
121
+ }
122
+ ?>
123
+ </tbody>
124
+ </table>
125
+ <?php submit_button() ?>
126
  </form>
includes/settings.php CHANGED
@@ -27,16 +27,22 @@ if (!class_exists('QLWAPP_Settings')) {
27
  array('none', esc_html__('Exclude from all', 'wp-whatsapp-chat'))
28
  );
29
 
30
- $posts = get_posts(array(
31
- 's' => sanitize_text_field($_REQUEST['q']),
32
  'post_type' => sanitize_key($_REQUEST['name']),
33
  'post_status' => 'publish',
34
  'ignore_sticky_posts' => 1,
35
- 'posts_per_page' => 10
36
- ));
 
 
 
 
 
 
 
37
 
38
  foreach ($posts as $post) {
39
- $data[] = array($post->post_name, mb_substr($post->post_title, 0, 49));
40
  }
41
 
42
  wp_send_json($data);
@@ -118,6 +124,9 @@ if (!class_exists('QLWAPP_Settings')) {
118
  if (isset($settings['button']['text'])) {
119
  $settings['button']['text'] = sanitize_text_field($settings['button']['text']);
120
  }
 
 
 
121
  if (isset($settings['button']['icon'])) {
122
  $settings['button']['icon'] = sanitize_html_class($settings['button']['icon']);
123
  }
@@ -137,7 +146,8 @@ if (!class_exists('QLWAPP_Settings')) {
137
  $settings['contacts'][$id]['lastname'] = sanitize_text_field($settings['contacts'][$id]['lastname']);
138
  $settings['contacts'][$id]['label'] = sanitize_text_field($settings['contacts'][$id]['label']);
139
  $settings['contacts'][$id]['message'] = wp_kses_post($settings['contacts'][$id]['message']);
140
- //$settings['contacts'][$id]['message'] = stripslashes($settings['contacts'][$id]['message']);
 
141
  }
142
  }
143
  }
@@ -218,7 +228,31 @@ if (!class_exists('QLWAPP_Settings')) {
218
  function settings_contacts() {
219
  ?>
220
  <table class="form-table widefat" id="qlwapp-contact-form" data-editindex="-1">
221
- <?php $this->contact_table(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  </table>
223
  <?php
224
  }
@@ -246,30 +280,64 @@ if (!class_exists('QLWAPP_Settings')) {
246
  <td><input type="text" id="clastname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][lastname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['lastname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['lastname']); ?>" /></td>
247
  </tr>
248
  <tr>
249
- <td><b><?php esc_html_e('Phone', 'wp-whatsapp-chat'); ?></b></td><td><input type="text" id="cphone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['phone']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['phone']); ?>" pattern="\d[0-9]{6,15}$"/></td>
250
  <td><b><?php esc_html_e('Label', 'wp-whatsapp-chat'); ?></b></td><td><input type="text" id="clabel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][label]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['label']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['label']); ?>" /></td>
251
  </tr>
252
- <!--<tr>
253
- <td><b><?php esc_html_e('From', 'wp-whatsapp-chat'); ?></b></td><td><input type="time" id="ctimefrom" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timefrom]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['timefrom']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['timefrom']); ?>" /></td>
254
- <td><b><?php esc_html_e('To', 'wp-whatsapp-chat'); ?></b></td><td><input type="time" id="ctimeto" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timeto]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['timeto']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['timeto']); ?>" /></td>
255
- </tr>-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  </table>
257
  </td>
258
  </tr>
259
- <tr class="qlwapp-premium-field">
260
  <td><b><?php esc_html_e('Chat', 'wp-whatsapp-chat'); ?></b></td>
261
- <td>
262
  <p>
263
  <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="1" <?php echo checked(true, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Enabled', 'wp-whatsapp-chat'); ?></label>
264
  <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="0" <?php echo checked(false, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Disabled', 'wp-whatsapp-chat'); ?></label>
265
  </p>
 
 
266
  </td>
267
  </tr>
268
- <tr class="qlwapp-premium-field">
269
  <td colspan="2"><b><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></b></td>
270
  </tr>
271
  <tr class="qlwapp-premium-field">
272
  <td colspan="2"><?php wp_editor($qlwapp['contacts'][$id]['message'], 'cmessage', array('tinymce' => false, 'editor_height' => 150, 'textarea_name' => esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][message]'))); ?></td>
 
273
  </tr>
274
  <?php
275
  }
@@ -371,12 +439,13 @@ if (!class_exists('QLWAPP_Settings')) {
371
  <?php
372
  }
373
 
 
374
  function add_js() {
375
  if (isset($_GET['page']) && strpos($_GET['page'], QLWAPP_DOMAIN) !== false) {
376
- wp_enqueue_style('qlwapp-admin', plugins_url('/assets/css/qlwapp-admin.min.css', QLWAPP_PLUGIN_FILE), array('wp-color-picker'), QLWAPP_PLUGIN_VERSION, 'all');
377
  wp_enqueue_media();
378
  wp_enqueue_script('qlwapp-select2', plugins_url('/assets/js/select2.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION);
379
- wp_enqueue_script('qlwapp-admin', plugins_url('/assets/js/qlwapp-admin.min.js', QLWAPP_PLUGIN_FILE), array('jquery', 'wp-color-picker'), QLWAPP_PLUGIN_VERSION, true);
380
  }
381
  }
382
 
27
  array('none', esc_html__('Exclude from all', 'wp-whatsapp-chat'))
28
  );
29
 
30
+ $args = array(
 
31
  'post_type' => sanitize_key($_REQUEST['name']),
32
  'post_status' => 'publish',
33
  'ignore_sticky_posts' => 1,
34
+ 'posts_per_page' => 10,
35
+ 'exclude' => array_map('intval', (array) $_REQUEST['selected'])
36
+ );
37
+
38
+ if ($_REQUEST['q']) {
39
+ $args['s'] = sanitize_text_field($_REQUEST['q']);
40
+ }
41
+
42
+ $posts = get_posts($args);
43
 
44
  foreach ($posts as $post) {
45
+ $data[] = array($post->ID, mb_substr($post->post_title, 0, 49));
46
  }
47
 
48
  wp_send_json($data);
124
  if (isset($settings['button']['text'])) {
125
  $settings['button']['text'] = sanitize_text_field($settings['button']['text']);
126
  }
127
+ // if (isset($settings['button']['contactstimeout'])) {
128
+ // $settings['box']['contactstimeout'] = sanitize_text_field($settings['box']['contactstimeout']);
129
+ // }
130
  if (isset($settings['button']['icon'])) {
131
  $settings['button']['icon'] = sanitize_html_class($settings['button']['icon']);
132
  }
146
  $settings['contacts'][$id]['lastname'] = sanitize_text_field($settings['contacts'][$id]['lastname']);
147
  $settings['contacts'][$id]['label'] = sanitize_text_field($settings['contacts'][$id]['label']);
148
  $settings['contacts'][$id]['message'] = wp_kses_post($settings['contacts'][$id]['message']);
149
+ $settings['contacts'][$id]['timeto'] = wp_kses_post($settings['contacts'][$id]['timeto']);
150
+ //$settings['contacts'][$id]['message'] = stripslashes($settings['contacts'][$id]['message']);
151
  }
152
  }
153
  }
228
  function settings_contacts() {
229
  ?>
230
  <table class="form-table widefat" id="qlwapp-contact-form" data-editindex="-1">
231
+ <?php
232
+ //gestion de la time zone
233
+ $current_offset = get_option('gmt_offset');
234
+ $tzstring = get_option('timezone_string');
235
+
236
+ $check_zone_info = true;
237
+
238
+ // Remove old Etc mappings. Fallback to gmt_offset.
239
+ if (false !== strpos($tzstring, 'Etc/GMT')) {
240
+ $tzstring = '';
241
+ }
242
+ if (empty($tzstring)) { // Create a UTC+- zone if no timezone string exists
243
+ $check_zone_info = false;
244
+ if (0 == $current_offset) {
245
+ $tzstring = 'UTC+0';
246
+ } elseif ($current_offset < 0) {
247
+ $tzstring = 'UTC' . $current_offset;
248
+ } else {
249
+ $tzstring = 'UTC+' . $current_offset;
250
+ }
251
+ }
252
+ // echo 'aca ' . get_option('gmt_offset'). ' aca'.get_option( 'timezone_string');
253
+ // gestion de los contactos + gmt
254
+ $this->contact_table();
255
+ ?>
256
  </table>
257
  <?php
258
  }
280
  <td><input type="text" id="clastname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][lastname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['lastname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['lastname']); ?>" /></td>
281
  </tr>
282
  <tr>
283
+ <td><b><?php esc_html_e('Phone', 'wp-whatsapp-chat'); ?></b></td><td><input type="text" id="cphone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['phone']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['phone']); ?>" required="required" pattern="\d[0-9]{6,15}$"/></td>
284
  <td><b><?php esc_html_e('Label', 'wp-whatsapp-chat'); ?></b></td><td><input type="text" id="clabel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][label]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['label']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['label']); ?>" /></td>
285
  </tr>
286
+ <tr>
287
+ <td >
288
+ <b><?php esc_html_e('From', 'wp-whatsapp-chat'); ?></b></td>
289
+ <td class="qlwapp-premium-field">
290
+ <input type="time" id="ctimefrom" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timefrom]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['timefrom']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['timefrom']); ?>" />
291
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
292
+
293
+ </td>
294
+ <td>
295
+ <b><?php esc_html_e('To', 'wp-whatsapp-chat'); ?></b></td>
296
+ <td class="qlwapp-premium-field">
297
+ <input type="time" id="ctimeto" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timeto]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['timeto']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['timeto']); ?>" />
298
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
299
+ </td>
300
+ </tr>
301
+ <!--
302
+ <tr>
303
+ <td><b><?php esc_html_e('Time is over', 'wp-whatsapp-chat'); ?></b></td>
304
+ <td class="qlwapp-premium-field">
305
+ <select id="ctimeout" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timeout]'); ?>">
306
+ <option value="readonly" ><?php esc_html_e('Show the field as read only', 'wp-whatsapp-chat'); ?></option>
307
+ <option value="disabled" > <?php esc_html_e('Do not show the field', 'wp-whatsapp-chat'); ?></option>
308
+ </select>
309
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
310
+ </td> -->
311
+ <td>
312
+ <b><label for="timezone"><?php esc_html_e('Timezone', 'wp-whatsapp-chat'); ?></label></b></td>
313
+ <td class="qlwapp-premium-field">
314
+ <select id="ctimezone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][timezone]'); ?>" aria-describedby="timezone-description">
315
+ <?php echo wp_timezone_choice(get_option('timezone_string'), get_user_locale()); ?>
316
+ </select>
317
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
318
+
319
+ </td>
320
+ </tr>
321
  </table>
322
  </td>
323
  </tr>
324
+ <tr>
325
  <td><b><?php esc_html_e('Chat', 'wp-whatsapp-chat'); ?></b></td>
326
+ <td class="qlwapp-premium-field">
327
  <p>
328
  <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="1" <?php echo checked(true, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Enabled', 'wp-whatsapp-chat'); ?></label>
329
  <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="0" <?php echo checked(false, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Disabled', 'wp-whatsapp-chat'); ?></label>
330
  </p>
331
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
332
+
333
  </td>
334
  </tr>
335
+ <tr>
336
  <td colspan="2"><b><?php esc_html_e('Message', 'wp-whatsapp-chat'); ?></b></td>
337
  </tr>
338
  <tr class="qlwapp-premium-field">
339
  <td colspan="2"><?php wp_editor($qlwapp['contacts'][$id]['message'], 'cmessage', array('tinymce' => false, 'editor_height' => 150, 'textarea_name' => esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][message]'))); ?></td>
340
+ <p class="description hidden"><small><?php esc_html_e('This is a premium feature', 'wp-whatsapp-chat'); ?></small></p>
341
  </tr>
342
  <?php
343
  }
439
  <?php
440
  }
441
 
442
+
443
  function add_js() {
444
  if (isset($_GET['page']) && strpos($_GET['page'], QLWAPP_DOMAIN) !== false) {
445
+ wp_enqueue_style('qlwapp-admin', plugins_url('/assets/css/qlwapp-admin'. QLWAPP::is_min().'.css', QLWAPP_PLUGIN_FILE), array('wp-color-picker'), QLWAPP_PLUGIN_VERSION, 'all');
446
  wp_enqueue_media();
447
  wp_enqueue_script('qlwapp-select2', plugins_url('/assets/js/select2.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION);
448
+ wp_enqueue_script('qlwapp-admin', plugins_url('/assets/js/qlwapp-admin'. QLWAPP::is_min().'.js', QLWAPP_PLUGIN_FILE), array('jquery', 'wp-color-picker'), QLWAPP_PLUGIN_VERSION, true);
449
  }
450
  }
451
 
index.php CHANGED
@@ -1,3 +1,3 @@
1
- <?php
2
- // Silence is golden.
3
  ?>
1
+ <?php
2
+ // Silence is golden.
3
  ?>
languages/wp-whatsapp-chat.pot CHANGED
@@ -1,558 +1,558 @@
1
- #, fuzzy
2
- msgid ""
3
- msgstr ""
4
- "Project-Id-Version: WP Social Chat\n"
5
- "POT-Creation-Date: 2019-08-09 07:46-0300\n"
6
- "PO-Revision-Date: 2019-08-09 07:46-0300\n"
7
- "Last-Translator: \n"
8
- "Language-Team: \n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.8.1\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "X-Poedit-WPHeader: wp-whatsapp-chat.php\n"
15
- "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
- "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
- "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
- "X-Poedit-SearchPath-0: .\n"
20
- "X-Poedit-SearchPathExcluded-0: *.js\n"
21
-
22
- #: includes/defaults.php:29
23
- #, php-format
24
- msgid "Hello! I'm testing the %s plugin @https://quadlayers.com"
25
- msgstr ""
26
-
27
- #: includes/defaults.php:34
28
- msgid "How can I help you?"
29
- msgstr ""
30
-
31
- #: includes/defaults.php:49
32
- msgid "Write a response"
33
- msgstr ""
34
-
35
- #: includes/defaults.php:58 includes/pages/welcome.php:25
36
- msgid "Support"
37
- msgstr ""
38
-
39
- #: includes/defaults.php:59
40
- msgid "Hello! I'm John from the support team."
41
- msgstr ""
42
-
43
- #: includes/pages/box.php:7
44
- msgid "Disable"
45
- msgstr ""
46
-
47
- #: includes/pages/box.php:10
48
- msgid "Enable contact box"
49
- msgstr ""
50
-
51
- #: includes/pages/box.php:11
52
- msgid "Disable contact box"
53
- msgstr ""
54
-
55
- #: includes/pages/box.php:16
56
- msgid "Header"
57
- msgstr ""
58
-
59
- #: includes/pages/box.php:22
60
- msgid "Footer"
61
- msgstr ""
62
-
63
- #: includes/pages/box.php:28
64
- msgid "Response"
65
- msgstr ""
66
-
67
- #: includes/pages/box.php:31
68
- msgid "Write a response text."
69
- msgstr ""
70
-
71
- #: includes/pages/box.php:36
72
- msgid "Contacts"
73
- msgstr ""
74
-
75
- #: includes/pages/box.php:44
76
- msgid "Save Contact"
77
- msgstr ""
78
-
79
- #: includes/pages/box.php:51
80
- msgid "Add Contact"
81
- msgstr ""
82
-
83
- #: includes/pages/box.php:52 includes/pages/button.php:43
84
- #: includes/pages/colors.php:22 includes/pages/colors.php:29
85
- #: includes/pages/colors.php:36 includes/pages/colors.php:43
86
- #: includes/pages/display.php:72
87
- msgid "This is a premium feature"
88
- msgstr ""
89
-
90
- #: includes/pages/box.php:57
91
- msgid "Avatar"
92
- msgstr ""
93
-
94
- #: includes/pages/box.php:58 includes/pages/button.php:66
95
- #: includes/settings.php:260
96
- msgid "Phone"
97
- msgstr ""
98
-
99
- #: includes/pages/box.php:59 includes/pages/colors.php:40
100
- msgid "Name"
101
- msgstr ""
102
-
103
- #: includes/pages/box.php:60 includes/pages/colors.php:33
104
- #: includes/settings.php:261
105
- msgid "Label"
106
- msgstr ""
107
-
108
- #: includes/pages/box.php:61 includes/pages/button.php:83
109
- #: includes/pages/colors.php:26 includes/settings.php:280
110
- msgid "Message"
111
- msgstr ""
112
-
113
- #: includes/pages/box.php:62 includes/settings.php:271
114
- msgid "Chat"
115
- msgstr ""
116
-
117
- #: includes/pages/box.php:63
118
- msgid "Actions"
119
- msgstr ""
120
-
121
- #: includes/pages/button.php:7
122
- msgid "Layout"
123
- msgstr ""
124
-
125
- #: includes/pages/button.php:10 includes/settings.php:58
126
- msgid "Button"
127
- msgstr ""
128
-
129
- #: includes/pages/button.php:11
130
- msgid "Bubble"
131
- msgstr ""
132
-
133
- #: includes/pages/button.php:13
134
- msgid "Switch to change the button layout."
135
- msgstr ""
136
-
137
- #: includes/pages/button.php:17
138
- msgid "Rounded"
139
- msgstr ""
140
-
141
- #: includes/pages/button.php:20
142
- msgid "Add rounded border"
143
- msgstr ""
144
-
145
- #: includes/pages/button.php:21
146
- msgid "Remove rounded border"
147
- msgstr ""
148
-
149
- #: includes/pages/button.php:23
150
- msgid "Add rounded border to the button."
151
- msgstr ""
152
-
153
- #: includes/pages/button.php:27
154
- msgid "Position"
155
- msgstr ""
156
-
157
- #: includes/pages/button.php:30
158
- msgid "Middle Left"
159
- msgstr ""
160
-
161
- #: includes/pages/button.php:31
162
- msgid "Middle Right"
163
- msgstr ""
164
-
165
- #: includes/pages/button.php:32
166
- msgid "Bottom Left"
167
- msgstr ""
168
-
169
- #: includes/pages/button.php:33
170
- msgid "Bottom Right"
171
- msgstr ""
172
-
173
- #: includes/pages/button.php:35
174
- msgid "Switch to change the button position."
175
- msgstr ""
176
-
177
- #: includes/pages/button.php:39
178
- msgid "Icon"
179
- msgstr ""
180
-
181
- #: includes/pages/button.php:42
182
- msgid "Add Icon"
183
- msgstr ""
184
-
185
- #: includes/pages/button.php:49
186
- msgid "Discreet link"
187
- msgstr ""
188
-
189
- #: includes/pages/button.php:52
190
- msgid "Show developer link"
191
- msgstr ""
192
-
193
- #: includes/pages/button.php:53
194
- msgid "Hide developer link"
195
- msgstr ""
196
-
197
- #: includes/pages/button.php:55
198
- msgid ""
199
- "Leave a discrete link to developer to help and keep new updates and support."
200
- msgstr ""
201
-
202
- #: includes/pages/button.php:59
203
- msgid "Text"
204
- msgstr ""
205
-
206
- #: includes/pages/button.php:62
207
- msgid "Customize your text."
208
- msgstr ""
209
-
210
- #: includes/pages/button.php:69
211
- msgid "Full phone number in international format."
212
- msgstr ""
213
-
214
- #: includes/pages/button.php:74
215
- msgid "Schedule"
216
- msgstr ""
217
-
218
- #: includes/pages/button.php:76 includes/settings.php:264
219
- msgid "From"
220
- msgstr ""
221
-
222
- #: includes/pages/button.php:78 includes/settings.php:265
223
- msgid "To"
224
- msgstr ""
225
-
226
- #: includes/pages/button.php:86
227
- msgid "Message that will automatically appear in the text field of a chat."
228
- msgstr ""
229
-
230
- #: includes/pages/colors.php:7
231
- msgid "Background"
232
- msgstr ""
233
-
234
- #: includes/pages/colors.php:13
235
- msgid "Color"
236
- msgstr ""
237
-
238
- #: includes/pages/colors.php:19
239
- msgid "Link"
240
- msgstr ""
241
-
242
- #: includes/pages/display.php:7
243
- msgid "Devices"
244
- msgstr ""
245
-
246
- #: includes/pages/display.php:10
247
- msgid "Show in all devices"
248
- msgstr ""
249
-
250
- #: includes/pages/display.php:11
251
- msgid "Show in mobile devices"
252
- msgstr ""
253
-
254
- #: includes/pages/display.php:12
255
- msgid "Show in desktop devices"
256
- msgstr ""
257
-
258
- #: includes/pages/display.php:13
259
- msgid "Hide in all devices"
260
- msgstr ""
261
-
262
- #: includes/pages/display.php:18
263
- msgid "Target"
264
- msgstr ""
265
-
266
- #: includes/pages/display.php:21 includes/pages/display.php:49
267
- #: includes/pages/display.php:97 includes/settings.php:35
268
- msgid "Exclude from all"
269
- msgstr ""
270
-
271
- #: includes/pages/display.php:22
272
- msgid "Home"
273
- msgstr ""
274
-
275
- #: includes/pages/display.php:23
276
- msgid "Blog"
277
- msgstr ""
278
-
279
- #: includes/pages/display.php:24
280
- msgid "Search"
281
- msgstr ""
282
-
283
- #: includes/pages/display.php:27
284
- msgid "If you select an option all the other will be excluded"
285
- msgstr ""
286
-
287
- #: includes/pages/display.php:48
288
- #, php-format
289
- msgid "Select for %s&hellip;"
290
- msgstr ""
291
-
292
- #: includes/pages/display.php:50
293
- msgid "Archive"
294
- msgstr ""
295
-
296
- #: includes/pages/premium.php:4 includes/settings.php:25
297
- #: includes/settings.php:62
298
- msgid "Premium"
299
- msgstr ""
300
-
301
- #: includes/pages/premium.php:6
302
- #, php-format
303
- msgid ""
304
- "Unlock the power of our premium %s plugin which allows you to include "
305
- "unlimited agent accounts with their names and labels inside the box to "
306
- "provide direct contact to the different support areas of your site."
307
- msgstr ""
308
-
309
- #: includes/pages/premium.php:9
310
- msgid "Purchase Now"
311
- msgstr ""
312
-
313
- #: includes/pages/premium.php:10
314
- msgid "Get Support"
315
- msgstr ""
316
-
317
- #: includes/pages/premium.php:14
318
- msgid "Multiple agents"
319
- msgstr ""
320
-
321
- #: includes/pages/premium.php:16
322
- #, php-format
323
- msgid ""
324
- "%s allows you to include unlimited agent accounts with their names and "
325
- "labels inside the box to provide direct contact to the different support "
326
- "areas of your site."
327
- msgstr ""
328
-
329
- #: includes/pages/premium.php:20
330
- msgid "Customize colors"
331
- msgstr ""
332
-
333
- #: includes/pages/premium.php:22
334
- msgid ""
335
- "Customize the colors to match your site theme through the WordPress live "
336
- "customizer interface."
337
- msgstr ""
338
-
339
- #: includes/pages/premium.php:26
340
- msgid "Custom icons"
341
- msgstr ""
342
-
343
- #: includes/pages/premium.php:28
344
- msgid ""
345
- "Our plugin allows you to select between more than forty icons to include in "
346
- "your Whatsapp button."
347
- msgstr ""
348
-
349
- #: includes/pages/premium.php:45
350
- msgid "Chatbox interface"
351
- msgstr ""
352
-
353
- #: includes/pages/premium.php:47
354
- msgid ""
355
- "WhatsApp chat for WordPress allows you to include a chatbox for each agent "
356
- "where your users can type their first message."
357
- msgstr ""
358
-
359
- #: includes/pages/premium.php:53
360
- msgid "Custom agent message"
361
- msgstr ""
362
-
363
- #: includes/pages/premium.php:55
364
- msgid ""
365
- "Allow you to set a custom message for each agent that will be displayed on "
366
- "the chatbox."
367
- msgstr ""
368
-
369
- #: includes/pages/premium.php:59
370
- msgid "Custom user message"
371
- msgstr ""
372
-
373
- #: includes/pages/premium.php:61
374
- msgid ""
375
- "You can choose the predefined user message that will be sent to the agent "
376
- "phone number."
377
- msgstr ""
378
-
379
- #: includes/pages/premium.php:65
380
- msgid "Type user message"
381
- msgstr ""
382
-
383
- #: includes/pages/premium.php:67
384
- msgid ""
385
- "Allow your users to type their own messages before sending it to the agent "
386
- "phone number."
387
- msgstr ""
388
-
389
- #: includes/pages/welcome.php:6
390
- msgid ""
391
- "Hello we're QuadLayers! We've recently acquired this plugin and this is the "
392
- "first update. We have worked very much and very hard to release it, and we "
393
- "will do our absolute best to support it and fix all the issues."
394
- msgstr ""
395
-
396
- #: includes/pages/welcome.php:11
397
- msgid "Community"
398
- msgstr ""
399
-
400
- #: includes/pages/welcome.php:13
401
- #, php-format
402
- msgid ""
403
- "If you want to get in touch with other %s users or be aware of our "
404
- "promotional discounts join our community now."
405
- msgstr ""
406
-
407
- #: includes/pages/welcome.php:15
408
- msgid "Join us"
409
- msgstr ""
410
-
411
- #: includes/pages/welcome.php:18
412
- msgid "Demo"
413
- msgstr ""
414
-
415
- #: includes/pages/welcome.php:20
416
- #, php-format
417
- msgid ""
418
- "Thank you for choosing our %s plugin for WordPress! Here you can see our "
419
- "demo and a description about the features we offer in the premium version."
420
- msgstr ""
421
-
422
- #: includes/pages/welcome.php:22
423
- msgid "View demo"
424
- msgstr ""
425
-
426
- #: includes/pages/welcome.php:27
427
- #, php-format
428
- msgid ""
429
- "If you have any doubt or you find any issue don't hesitate to contact us "
430
- "through our ticket system or join our community to meet other %s users."
431
- msgstr ""
432
-
433
- #: includes/pages/welcome.php:29
434
- msgid "Submit ticket"
435
- msgstr ""
436
-
437
- #: includes/settings.php:27
438
- msgid "Settings"
439
- msgstr ""
440
-
441
- #: includes/settings.php:57
442
- msgid "Welcome"
443
- msgstr ""
444
-
445
- #: includes/settings.php:59
446
- msgid "Box"
447
- msgstr ""
448
-
449
- #: includes/settings.php:60
450
- msgid "Display"
451
- msgstr ""
452
-
453
- #: includes/settings.php:61
454
- msgid "Colors"
455
- msgstr ""
456
-
457
- #: includes/settings.php:79
458
- #, php-format
459
- msgid ""
460
- "Thanks for using %s! We will do our best to offer you the best and improved "
461
- "communication experience with your users."
462
- msgstr ""
463
-
464
- #: includes/settings.php:82
465
- msgid "Check out our demo"
466
- msgstr ""
467
-
468
- #: includes/settings.php:101
469
- msgid "QuadLayers"
470
- msgstr ""
471
-
472
- #: includes/settings.php:246
473
- msgid "Upload"
474
- msgstr ""
475
-
476
- #: includes/settings.php:254
477
- msgid "Firstname"
478
- msgstr ""
479
-
480
- #: includes/settings.php:256
481
- msgid "Lastname"
482
- msgstr ""
483
-
484
- #: includes/settings.php:274
485
- msgid "Enabled"
486
- msgstr ""
487
-
488
- #: includes/settings.php:275
489
- msgid "Disabled"
490
- msgstr ""
491
-
492
- #: includes/settings.php:297
493
- msgid "Close media panel"
494
- msgstr ""
495
-
496
- #: includes/settings.php:306
497
- msgid "Select icon"
498
- msgstr ""
499
-
500
- #: includes/settings.php:313
501
- msgid "Featured Image"
502
- msgstr ""
503
-
504
- #: includes/settings.php:329
505
- msgid "Deselect"
506
- msgstr ""
507
-
508
- #: includes/settings.php:340
509
- msgid "Save"
510
- msgstr ""
511
-
512
- #: includes/settings.php:341
513
- msgid "Remove"
514
- msgstr ""
515
-
516
- #: includes/settings.php:379
517
- #, php-format
518
- msgid "Hello! Thank you for choosing the %s plugin!"
519
- msgstr ""
520
-
521
- #: includes/settings.php:381
522
- msgid ""
523
- "Could you please give it a 5-star rating on WordPress? We know its a big "
524
- "favor, but we've worked very much and very hard to release this great "
525
- "product. Your feedback will boost our motivation and help us promote and "
526
- "continue to improve this product."
527
- msgstr ""
528
-
529
- #: includes/settings.php:384
530
- msgid "Yes, of course!"
531
- msgstr ""
532
-
533
- #: includes/settings.php:387
534
- msgid "Report a bug"
535
- msgstr ""
536
-
537
- #: template/box.php:47
538
- msgid "Powered by QuadLayers"
539
- msgstr ""
540
-
541
- #. Plugin Name of the plugin/theme
542
- #. Author of the plugin/theme
543
- msgid "WP Social Chat"
544
- msgstr ""
545
-
546
- #. Plugin URI of the plugin/theme
547
- msgid "https://quadlayers.com/portfolio/wordpress-whatsapp-chat/"
548
- msgstr ""
549
-
550
- #. Description of the plugin/theme
551
- msgid ""
552
- "WP Social Chat allows your visitors to contact you or your team through "
553
- "WhatsApp chat with a single click."
554
- msgstr ""
555
-
556
- #. Author URI of the plugin/theme
557
- msgid "https://quadlayers.com"
558
- msgstr ""
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: WP Social Chat\n"
5
+ "POT-Creation-Date: 2019-08-09 07:46-0300\n"
6
+ "PO-Revision-Date: 2019-08-09 07:46-0300\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-WPHeader: wp-whatsapp-chat.php\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
21
+
22
+ #: includes/defaults.php:29
23
+ #, php-format
24
+ msgid "Hello! I'm testing the %s plugin @https://quadlayers.com"
25
+ msgstr ""
26
+
27
+ #: includes/defaults.php:34
28
+ msgid "How can I help you?"
29
+ msgstr ""
30
+
31
+ #: includes/defaults.php:49
32
+ msgid "Write a response"
33
+ msgstr ""
34
+
35
+ #: includes/defaults.php:58 includes/pages/welcome.php:25
36
+ msgid "Support"
37
+ msgstr ""
38
+
39
+ #: includes/defaults.php:59
40
+ msgid "Hello! I'm John from the support team."
41
+ msgstr ""
42
+
43
+ #: includes/pages/box.php:7
44
+ msgid "Disable"
45
+ msgstr ""
46
+
47
+ #: includes/pages/box.php:10
48
+ msgid "Enable contact box"
49
+ msgstr ""
50
+
51
+ #: includes/pages/box.php:11
52
+ msgid "Disable contact box"
53
+ msgstr ""
54
+
55
+ #: includes/pages/box.php:16
56
+ msgid "Header"
57
+ msgstr ""
58
+
59
+ #: includes/pages/box.php:22
60
+ msgid "Footer"
61
+ msgstr ""
62
+
63
+ #: includes/pages/box.php:28
64
+ msgid "Response"
65
+ msgstr ""
66
+
67
+ #: includes/pages/box.php:31
68
+ msgid "Write a response text."
69
+ msgstr ""
70
+
71
+ #: includes/pages/box.php:36
72
+ msgid "Contacts"
73
+ msgstr ""
74
+
75
+ #: includes/pages/box.php:44
76
+ msgid "Save Contact"
77
+ msgstr ""
78
+
79
+ #: includes/pages/box.php:51
80
+ msgid "Add Contact"
81
+ msgstr ""
82
+
83
+ #: includes/pages/box.php:52 includes/pages/button.php:43
84
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
85
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
86
+ #: includes/pages/display.php:72
87
+ msgid "This is a premium feature"
88
+ msgstr ""
89
+
90
+ #: includes/pages/box.php:57
91
+ msgid "Avatar"
92
+ msgstr ""
93
+
94
+ #: includes/pages/box.php:58 includes/pages/button.php:66
95
+ #: includes/settings.php:260
96
+ msgid "Phone"
97
+ msgstr ""
98
+
99
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
100
+ msgid "Name"
101
+ msgstr ""
102
+
103
+ #: includes/pages/box.php:60 includes/pages/colors.php:33
104
+ #: includes/settings.php:261
105
+ msgid "Label"
106
+ msgstr ""
107
+
108
+ #: includes/pages/box.php:61 includes/pages/button.php:83
109
+ #: includes/pages/colors.php:26 includes/settings.php:280
110
+ msgid "Message"
111
+ msgstr ""
112
+
113
+ #: includes/pages/box.php:62 includes/settings.php:271
114
+ msgid "Chat"
115
+ msgstr ""
116
+
117
+ #: includes/pages/box.php:63
118
+ msgid "Actions"
119
+ msgstr ""
120
+
121
+ #: includes/pages/button.php:7
122
+ msgid "Layout"
123
+ msgstr ""
124
+
125
+ #: includes/pages/button.php:10 includes/settings.php:58
126
+ msgid "Button"
127
+ msgstr ""
128
+
129
+ #: includes/pages/button.php:11
130
+ msgid "Bubble"
131
+ msgstr ""
132
+
133
+ #: includes/pages/button.php:13
134
+ msgid "Switch to change the button layout."
135
+ msgstr ""
136
+
137
+ #: includes/pages/button.php:17
138
+ msgid "Rounded"
139
+ msgstr ""
140
+
141
+ #: includes/pages/button.php:20
142
+ msgid "Add rounded border"
143
+ msgstr ""
144
+
145
+ #: includes/pages/button.php:21
146
+ msgid "Remove rounded border"
147
+ msgstr ""
148
+
149
+ #: includes/pages/button.php:23
150
+ msgid "Add rounded border to the button."
151
+ msgstr ""
152
+
153
+ #: includes/pages/button.php:27
154
+ msgid "Position"
155
+ msgstr ""
156
+
157
+ #: includes/pages/button.php:30
158
+ msgid "Middle Left"
159
+ msgstr ""
160
+
161
+ #: includes/pages/button.php:31
162
+ msgid "Middle Right"
163
+ msgstr ""
164
+
165
+ #: includes/pages/button.php:32
166
+ msgid "Bottom Left"
167
+ msgstr ""
168
+
169
+ #: includes/pages/button.php:33
170
+ msgid "Bottom Right"
171
+ msgstr ""
172
+
173
+ #: includes/pages/button.php:35
174
+ msgid "Switch to change the button position."
175
+ msgstr ""
176
+
177
+ #: includes/pages/button.php:39
178
+ msgid "Icon"
179
+ msgstr ""
180
+
181
+ #: includes/pages/button.php:42
182
+ msgid "Add Icon"
183
+ msgstr ""
184
+
185
+ #: includes/pages/button.php:49
186
+ msgid "Discreet link"
187
+ msgstr ""
188
+
189
+ #: includes/pages/button.php:52
190
+ msgid "Show developer link"
191
+ msgstr ""
192
+
193
+ #: includes/pages/button.php:53
194
+ msgid "Hide developer link"
195
+ msgstr ""
196
+
197
+ #: includes/pages/button.php:55
198
+ msgid ""
199
+ "Leave a discrete link to developer to help and keep new updates and support."
200
+ msgstr ""
201
+
202
+ #: includes/pages/button.php:59
203
+ msgid "Text"
204
+ msgstr ""
205
+
206
+ #: includes/pages/button.php:62
207
+ msgid "Customize your text."
208
+ msgstr ""
209
+
210
+ #: includes/pages/button.php:69
211
+ msgid "Full phone number in international format."
212
+ msgstr ""
213
+
214
+ #: includes/pages/button.php:74
215
+ msgid "Schedule"
216
+ msgstr ""
217
+
218
+ #: includes/pages/button.php:76 includes/settings.php:264
219
+ msgid "From"
220
+ msgstr ""
221
+
222
+ #: includes/pages/button.php:78 includes/settings.php:265
223
+ msgid "To"
224
+ msgstr ""
225
+
226
+ #: includes/pages/button.php:86
227
+ msgid "Message that will automatically appear in the text field of a chat."
228
+ msgstr ""
229
+
230
+ #: includes/pages/colors.php:7
231
+ msgid "Background"
232
+ msgstr ""
233
+
234
+ #: includes/pages/colors.php:13
235
+ msgid "Color"
236
+ msgstr ""
237
+
238
+ #: includes/pages/colors.php:19
239
+ msgid "Link"
240
+ msgstr ""
241
+
242
+ #: includes/pages/display.php:7
243
+ msgid "Devices"
244
+ msgstr ""
245
+
246
+ #: includes/pages/display.php:10
247
+ msgid "Show in all devices"
248
+ msgstr ""
249
+
250
+ #: includes/pages/display.php:11
251
+ msgid "Show in mobile devices"
252
+ msgstr ""
253
+
254
+ #: includes/pages/display.php:12
255
+ msgid "Show in desktop devices"
256
+ msgstr ""
257
+
258
+ #: includes/pages/display.php:13
259
+ msgid "Hide in all devices"
260
+ msgstr ""
261
+
262
+ #: includes/pages/display.php:18
263
+ msgid "Target"
264
+ msgstr ""
265
+
266
+ #: includes/pages/display.php:21 includes/pages/display.php:49
267
+ #: includes/pages/display.php:97 includes/settings.php:35
268
+ msgid "Exclude from all"
269
+ msgstr ""
270
+
271
+ #: includes/pages/display.php:22
272
+ msgid "Home"
273
+ msgstr ""
274
+
275
+ #: includes/pages/display.php:23
276
+ msgid "Blog"
277
+ msgstr ""
278
+
279
+ #: includes/pages/display.php:24
280
+ msgid "Search"
281
+ msgstr ""
282
+
283
+ #: includes/pages/display.php:27
284
+ msgid "If you select an option all the other will be excluded"
285
+ msgstr ""
286
+
287
+ #: includes/pages/display.php:48
288
+ #, php-format
289
+ msgid "Select for %s&hellip;"
290
+ msgstr ""
291
+
292
+ #: includes/pages/display.php:50
293
+ msgid "Archive"
294
+ msgstr ""
295
+
296
+ #: includes/pages/premium.php:4 includes/settings.php:25
297
+ #: includes/settings.php:62
298
+ msgid "Premium"
299
+ msgstr ""
300
+
301
+ #: includes/pages/premium.php:6
302
+ #, php-format
303
+ msgid ""
304
+ "Unlock the power of our premium %s plugin which allows you to include "
305
+ "unlimited agent accounts with their names and labels inside the box to "
306
+ "provide direct contact to the different support areas of your site."
307
+ msgstr ""
308
+
309
+ #: includes/pages/premium.php:9
310
+ msgid "Purchase Now"
311
+ msgstr ""
312
+
313
+ #: includes/pages/premium.php:10
314
+ msgid "Get Support"
315
+ msgstr ""
316
+
317
+ #: includes/pages/premium.php:14
318
+ msgid "Multiple agents"
319
+ msgstr ""
320
+
321
+ #: includes/pages/premium.php:16
322
+ #, php-format
323
+ msgid ""
324
+ "%s allows you to include unlimited agent accounts with their names and "
325
+ "labels inside the box to provide direct contact to the different support "
326
+ "areas of your site."
327
+ msgstr ""
328
+
329
+ #: includes/pages/premium.php:20
330
+ msgid "Customize colors"
331
+ msgstr ""
332
+
333
+ #: includes/pages/premium.php:22
334
+ msgid ""
335
+ "Customize the colors to match your site theme through the WordPress live "
336
+ "customizer interface."
337
+ msgstr ""
338
+
339
+ #: includes/pages/premium.php:26
340
+ msgid "Custom icons"
341
+ msgstr ""
342
+
343
+ #: includes/pages/premium.php:28
344
+ msgid ""
345
+ "Our plugin allows you to select between more than forty icons to include in "
346
+ "your Whatsapp button."
347
+ msgstr ""
348
+
349
+ #: includes/pages/premium.php:45
350
+ msgid "Chatbox interface"
351
+ msgstr ""
352
+
353
+ #: includes/pages/premium.php:47
354
+ msgid ""
355
+ "WhatsApp chat for WordPress allows you to include a chatbox for each agent "
356
+ "where your users can type their first message."
357
+ msgstr ""
358
+
359
+ #: includes/pages/premium.php:53
360
+ msgid "Custom agent message"
361
+ msgstr ""
362
+
363
+ #: includes/pages/premium.php:55
364
+ msgid ""
365
+ "Allow you to set a custom message for each agent that will be displayed on "
366
+ "the chatbox."
367
+ msgstr ""
368
+
369
+ #: includes/pages/premium.php:59
370
+ msgid "Custom user message"
371
+ msgstr ""
372
+
373
+ #: includes/pages/premium.php:61
374
+ msgid ""
375
+ "You can choose the predefined user message that will be sent to the agent "
376
+ "phone number."
377
+ msgstr ""
378
+
379
+ #: includes/pages/premium.php:65
380
+ msgid "Type user message"
381
+ msgstr ""
382
+
383
+ #: includes/pages/premium.php:67
384
+ msgid ""
385
+ "Allow your users to type their own messages before sending it to the agent "
386
+ "phone number."
387
+ msgstr ""
388
+
389
+ #: includes/pages/welcome.php:6
390
+ msgid ""
391
+ "Hello we're QuadLayers! We've recently acquired this plugin and this is the "
392
+ "first update. We have worked very much and very hard to release it, and we "
393
+ "will do our absolute best to support it and fix all the issues."
394
+ msgstr ""
395
+
396
+ #: includes/pages/welcome.php:11
397
+ msgid "Community"
398
+ msgstr ""
399
+
400
+ #: includes/pages/welcome.php:13
401
+ #, php-format
402
+ msgid ""
403
+ "If you want to get in touch with other %s users or be aware of our "
404
+ "promotional discounts join our community now."
405
+ msgstr ""
406
+
407
+ #: includes/pages/welcome.php:15
408
+ msgid "Join us"
409
+ msgstr ""
410
+
411
+ #: includes/pages/welcome.php:18
412
+ msgid "Demo"
413
+ msgstr ""
414
+
415
+ #: includes/pages/welcome.php:20
416
+ #, php-format
417
+ msgid ""
418
+ "Thank you for choosing our %s plugin for WordPress! Here you can see our "
419
+ "demo and a description about the features we offer in the premium version."
420
+ msgstr ""
421
+
422
+ #: includes/pages/welcome.php:22
423
+ msgid "View demo"
424
+ msgstr ""
425
+
426
+ #: includes/pages/welcome.php:27
427
+ #, php-format
428
+ msgid ""
429
+ "If you have any doubt or you find any issue don't hesitate to contact us "
430
+ "through our ticket system or join our community to meet other %s users."
431
+ msgstr ""
432
+
433
+ #: includes/pages/welcome.php:29
434
+ msgid "Submit ticket"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:27
438
+ msgid "Settings"
439
+ msgstr ""
440
+
441
+ #: includes/settings.php:57
442
+ msgid "Welcome"
443
+ msgstr ""
444
+
445
+ #: includes/settings.php:59
446
+ msgid "Box"
447
+ msgstr ""
448
+
449
+ #: includes/settings.php:60
450
+ msgid "Display"
451
+ msgstr ""
452
+
453
+ #: includes/settings.php:61
454
+ msgid "Colors"
455
+ msgstr ""
456
+
457
+ #: includes/settings.php:79
458
+ #, php-format
459
+ msgid ""
460
+ "Thanks for using %s! We will do our best to offer you the best and improved "
461
+ "communication experience with your users."
462
+ msgstr ""
463
+
464
+ #: includes/settings.php:82
465
+ msgid "Check out our demo"
466
+ msgstr ""
467
+
468
+ #: includes/settings.php:101
469
+ msgid "QuadLayers"
470
+ msgstr ""
471
+
472
+ #: includes/settings.php:246
473
+ msgid "Upload"
474
+ msgstr ""
475
+
476
+ #: includes/settings.php:254
477
+ msgid "Firstname"
478
+ msgstr ""
479
+
480
+ #: includes/settings.php:256
481
+ msgid "Lastname"
482
+ msgstr ""
483
+
484
+ #: includes/settings.php:274
485
+ msgid "Enabled"
486
+ msgstr ""
487
+
488
+ #: includes/settings.php:275
489
+ msgid "Disabled"
490
+ msgstr ""
491
+
492
+ #: includes/settings.php:297
493
+ msgid "Close media panel"
494
+ msgstr ""
495
+
496
+ #: includes/settings.php:306
497
+ msgid "Select icon"
498
+ msgstr ""
499
+
500
+ #: includes/settings.php:313
501
+ msgid "Featured Image"
502
+ msgstr ""
503
+
504
+ #: includes/settings.php:329
505
+ msgid "Deselect"
506
+ msgstr ""
507
+
508
+ #: includes/settings.php:340
509
+ msgid "Save"
510
+ msgstr ""
511
+
512
+ #: includes/settings.php:341
513
+ msgid "Remove"
514
+ msgstr ""
515
+
516
+ #: includes/settings.php:379
517
+ #, php-format
518
+ msgid "Hello! Thank you for choosing the %s plugin!"
519
+ msgstr ""
520
+
521
+ #: includes/settings.php:381
522
+ msgid ""
523
+ "Could you please give it a 5-star rating on WordPress? We know its a big "
524
+ "favor, but we've worked very much and very hard to release this great "
525
+ "product. Your feedback will boost our motivation and help us promote and "
526
+ "continue to improve this product."
527
+ msgstr ""
528
+
529
+ #: includes/settings.php:384
530
+ msgid "Yes, of course!"
531
+ msgstr ""
532
+
533
+ #: includes/settings.php:387
534
+ msgid "Report a bug"
535
+ msgstr ""
536
+
537
+ #: template/box.php:47
538
+ msgid "Powered by QuadLayers"
539
+ msgstr ""
540
+
541
+ #. Plugin Name of the plugin/theme
542
+ #. Author of the plugin/theme
543
+ msgid "WP Social Chat"
544
+ msgstr ""
545
+
546
+ #. Plugin URI of the plugin/theme
547
+ msgid "https://quadlayers.com/portfolio/wordpress-whatsapp-chat/"
548
+ msgstr ""
549
+
550
+ #. Description of the plugin/theme
551
+ msgid ""
552
+ "WP Social Chat allows your visitors to contact you or your team through "
553
+ "WhatsApp chat with a single click."
554
+ msgstr ""
555
+
556
+ #. Author URI of the plugin/theme
557
+ msgid "https://quadlayers.com"
558
+ msgstr ""
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
4
  Tags: whatsapp, whatsapp button, whatsapp chat, whatsapp support, contact, click to chat, directly message whatsapp, floating whatsapp, whatsapp business, messaging, help desk
5
  Requires at least: 4.6
6
  Tested up to: 5.2.2
7
- Stable tag: 4.3.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
4
  Tags: whatsapp, whatsapp button, whatsapp chat, whatsapp support, contact, click to chat, directly message whatsapp, floating whatsapp, whatsapp business, messaging, help desk
5
  Requires at least: 4.6
6
  Tested up to: 5.2.2
7
+ Stable tag: 4.4.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
wp-whatsapp-chat.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WhatsApp Chat
4
  * Plugin URI: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
5
  * Description: WhatsApp Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
- * Version: 4.3.8
7
  * Author: QuadLayers
8
  * Author URI: https://quadlayers.com
9
  * License: GPL-2.0+
@@ -18,7 +18,7 @@ if (!defined('QLWAPP_PLUGIN_NAME')) {
18
  define('QLWAPP_PLUGIN_NAME', 'WhatsApp Chat');
19
  }
20
  if (!defined('QLWAPP_PLUGIN_VERSION')) {
21
- define('QLWAPP_PLUGIN_VERSION', '4.3.8');
22
  }
23
  if (!defined('QLWAPP_PLUGIN_FILE')) {
24
  define('QLWAPP_PLUGIN_FILE', __FILE__);
@@ -124,6 +124,11 @@ if (!class_exists('QLWAPP')) {
124
  include_once('includes/settings.php');
125
  }
126
 
 
 
 
 
 
127
  function languages() {
128
  load_plugin_textdomain('wp-whatsapp-chat', false, dirname(plugin_basename(__FILE__)) . '/languages/');
129
  }
3
  * Plugin Name: WhatsApp Chat
4
  * Plugin URI: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
5
  * Description: WhatsApp Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
+ * Version: 4.4.0
7
  * Author: QuadLayers
8
  * Author URI: https://quadlayers.com
9
  * License: GPL-2.0+
18
  define('QLWAPP_PLUGIN_NAME', 'WhatsApp Chat');
19
  }
20
  if (!defined('QLWAPP_PLUGIN_VERSION')) {
21
+ define('QLWAPP_PLUGIN_VERSION', '4.4.0');
22
  }
23
  if (!defined('QLWAPP_PLUGIN_FILE')) {
24
  define('QLWAPP_PLUGIN_FILE', __FILE__);
124
  include_once('includes/settings.php');
125
  }
126
 
127
+ public static function is_min() {
128
+ if ( !defined( 'SCRIPT_DEBUG' ) || !SCRIPT_DEBUG ) {
129
+ return '.min';
130
+ }
131
+ }
132
  function languages() {
133
  load_plugin_textdomain('wp-whatsapp-chat', false, dirname(plugin_basename(__FILE__)) . '/languages/');
134
  }
wpml-config.xml CHANGED
@@ -1,27 +1,27 @@
1
- <wpml-config>
2
- <admin-texts>
3
- <key name="qlwapp">
4
- <key name="box">
5
- <key name="header"></key>
6
- <key name="footer"></key>
7
- </key>
8
- <key name="chat">
9
- <key name="response"></key>
10
- </key>
11
- <key name="button">
12
- <key name="text"></key>
13
- <key name="phone"></key>
14
- </key>
15
- <key name="user">
16
- <key name="message"></key>
17
- </key>
18
- <key name="contacts">
19
- <key name="*">
20
- <key name="label"></key>
21
- <key name="phone"></key>
22
- <key name="message"></key>
23
- </key>
24
- </key>
25
- </key>
26
- </admin-texts>
27
- </wpml-config>
1
+ <wpml-config>
2
+ <admin-texts>
3
+ <key name="qlwapp">
4
+ <key name="box">
5
+ <key name="header"></key>
6
+ <key name="footer"></key>
7
+ </key>
8
+ <key name="chat">
9
+ <key name="response"></key>
10
+ </key>
11
+ <key name="button">
12
+ <key name="text"></key>
13
+ <key name="phone"></key>
14
+ </key>
15
+ <key name="user">
16
+ <key name="message"></key>
17
+ </key>
18
+ <key name="contacts">
19
+ <key name="*">
20
+ <key name="label"></key>
21
+ <key name="phone"></key>
22
+ <key name="message"></key>
23
+ </key>
24
+ </key>
25
+ </key>
26
+ </admin-texts>
27
+ </wpml-config>