@subiz/widget-v4 4.0.53 → 4.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/cloudflare_worker.js +1 -1
  2. package/compiled_src/chatbox/Header.js +2 -0
  3. package/compiled_src/lib.js +9 -2
  4. package/compiled_src/notif/notif.js +7 -3
  5. package/compiled_src/store/store.js +7 -5
  6. package/compiled_src/util/campaign.js +7 -2
  7. package/dist/178.js +406 -0
  8. package/dist/17d938a5acb.178.js +1 -0
  9. package/dist/17d938a5acb.213.js +1 -0
  10. package/dist/17d938a5acb.362.js +1 -0
  11. package/dist/17d938a5acb.441.js +1 -0
  12. package/dist/17d938a5acb.605.js +1 -0
  13. package/dist/17d938a5acb.619.js +1 -0
  14. package/dist/17d938a5acb.678.js +1 -0
  15. package/dist/17d938a5acb.74.js +1 -0
  16. package/dist/17d938a5acb.782.js +1 -0
  17. package/dist/17d938a5acb.app.js +1 -0
  18. package/dist/17d938a5acb.index.html +37 -0
  19. package/dist/17d938a5acb.library.html +37 -0
  20. package/dist/17d938a5acb.library.js +1 -0
  21. package/dist/17d938a5acb.preview.html +759 -0
  22. package/dist/17d938a5acb.preview.js +1 -0
  23. package/dist/17d938a5acb.screenshoot.js +1 -0
  24. package/dist/213.js +3223 -0
  25. package/dist/362.js +107 -0
  26. package/dist/441.js +2706 -0
  27. package/dist/605.js +391 -0
  28. package/dist/619.js +777 -0
  29. package/dist/678.js +107 -0
  30. package/dist/74.js +4734 -0
  31. package/dist/782.js +107 -0
  32. package/dist/HASH +1 -1
  33. package/dist/assets/img/Facebook.64607ec.png +0 -0
  34. package/dist/assets/img/Zalo.6845707.png +0 -0
  35. package/dist/assets/img/award1a.1a58e10.png +0 -0
  36. package/dist/assets/img/award3a.3b74423.png +0 -0
  37. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  38. package/dist/assets/img/award5.39eb7ae.png +0 -0
  39. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  40. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  41. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  42. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  43. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  44. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  45. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  49. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  50. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  51. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  52. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  53. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  54. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  55. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  56. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  57. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  58. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  59. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  60. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  61. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  62. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  63. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  64. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  65. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  66. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  67. package/dist/assets/img/empty.29bed2d.svg +23 -0
  68. package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
  69. package/dist/assets/img/external-link.90577cc.svg +1 -0
  70. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  71. package/dist/assets/img/image_default.be0698b.png +0 -0
  72. package/dist/assets/img/loading_static.8f403ae.svg +10 -0
  73. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  74. package/dist/assets/img/main-service2.9b99549.png +0 -0
  75. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  76. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  77. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  78. package/dist/assets/img/send.6db52a9.svg +3 -0
  79. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  80. package/dist/screenshoot.html +7 -0
  81. package/dist/screenshoot.js +5757 -0
  82. package/index.html +18 -2
  83. package/package.json +10 -9
  84. package/screenshoot.html +15 -0
  85. package/screenshoot.js +59 -0
  86. package/src/chatbox/Header.js +42 -34
  87. package/src/lib.js +8 -3
  88. package/src/notif/notif.js +37 -28
  89. package/src/plugin.js +11 -4
  90. package/src/store/store.js +9 -5
  91. package/src/util/campaign.js +16 -12
  92. package/take.js +36 -0
  93. package/webpack.dev.js +7 -0
  94. package/webpack.prod.js +12 -2
  95. package/webpack.screenshoot.js +20 -0
@@ -16,7 +16,7 @@ document.body.appendChild(tag)`
16
16
 
17
17
  return new Response(body, {
18
18
  headers: {
19
- 'Cache-Control': 'public, max-age=3600, must-revalidate, s-maxage=300, no-transform',
19
+ 'Cache-Control': 'public, max-age=300, must-revalidate, s-maxage=300, no-transform',
20
20
  'Content-Type': 'text/javascript',
21
21
  },
22
22
  status: 200,
@@ -219,6 +219,8 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
219
219
  }
220
220
 
221
221
  renderCloseButton() {
222
+ let accSetting = this.props.plugin.chatbox || {};
223
+ if (accSetting.hide_close_button) return null;
222
224
  return (0, _preact.h)("div", {
223
225
  class: "widget-header--button widget-header--button-close",
224
226
  "data-tooltip": this.props.t('close'),
@@ -57,8 +57,13 @@ class Widget {
57
57
  xhttp.send();
58
58
  }
59
59
 
60
- async setAccount(id, $container) {
61
- await this.store.init(id);
60
+ async waitReady(cb) {
61
+ await this.store.readyGate.entry();
62
+ cb();
63
+ }
64
+
65
+ async setAccount(id, $container, mask, cb) {
66
+ let outmask = await this.store.init(id, mask);
62
67
  if (!$container) $container = document.body;
63
68
  this.pluginMgr = new _plugin.default(this, $container);
64
69
  let clean = setInterval(() => {
@@ -67,6 +72,8 @@ class Widget {
67
72
  clearInterval(clean);
68
73
  }, 1000);
69
74
  this.domGate.open();
75
+ cb && cb(outmask);
76
+ return outmask;
70
77
  }
71
78
 
72
79
  _setAccount(id, $con) {
@@ -132,7 +132,7 @@ class Notif extends _common.Com {
132
132
 
133
133
  let profiles = _index.default.get(this.props, 'plugin.notification.profiles', []);
134
134
 
135
- let user = profiles[Math.floor(Math.random() * _index.default.size(profiles))];
135
+ let user = profiles[Math.floor(Math.random() * _index.default.size(profiles))] || {};
136
136
 
137
137
  if (user.avatar_url && user.avatar_url.startsWith('http')) {
138
138
  await _index.default.preloadImg(user.avatar_url);
@@ -154,6 +154,10 @@ class Notif extends _common.Com {
154
154
 
155
155
  let i18n_message = i18n_messages[Math.floor(Math.random() * _index.default.size(i18n_messages))];
156
156
 
157
+ let fallbackmsgs = _index.default.get(this.props, 'plugin.notification.message_quill_deltas', []);
158
+
159
+ let fallbackmessage = fallbackmsgs[Math.floor(Math.random() * _index.default.size(fallbackmsgs))];
160
+
157
161
  let i18n_title = _index.default.get(this.props, 'plugin.notification.i18n_title_quill_delta');
158
162
 
159
163
  return this.setState({
@@ -161,8 +165,8 @@ class Notif extends _common.Com {
161
165
  last_show: _index.default.Date.now(),
162
166
  timestamp: timestamp,
163
167
  user: user,
164
- title: this.props.t.i18n(i18n_title),
165
- message: this.props.t.i18n(i18n_message)
168
+ title: this.props.t.i18n(i18n_title) || _index.default.get(this.props, 'plugin.notification.title_quill_delta'),
169
+ message: this.props.t.i18n(i18n_message) || fallbackmessage
166
170
  });
167
171
  }
168
172
 
@@ -331,18 +331,19 @@ class Store {
331
331
  if (!this.isInsync('account')) this.reconnect();
332
332
  }
333
333
 
334
- async init(accid) {
334
+ async init(accid, mask) {
335
335
  this.readyGate.close();
336
336
  accid = (accid || '').trim();
337
337
  this.api.setAuth({
338
338
  accid: accid
339
339
  });
340
340
  this.g_sync = {};
341
- let mask = '';
342
341
 
343
- try {
344
- mask = this.cookie.get('__sbmask', '');
345
- } catch (e) {}
342
+ if (!mask) {
343
+ try {
344
+ mask = this.cookie.get('__sbmask', '');
345
+ } catch (e) {}
346
+ }
346
347
 
347
348
  let localstorageMask = this.kv.match('mask');
348
349
  if (!mask && localstorageMask) mask = localstorageMask;
@@ -385,6 +386,7 @@ class Store {
385
386
  await this.reconnect();
386
387
  this.readyGate.open();
387
388
  this.reconnectWs(accid, userId);
389
+ return mask;
388
390
  }
389
391
 
390
392
  seenLoop() {
@@ -26,7 +26,7 @@ function trackScrollingPercentage(percent, cb) {
26
26
  let scrollTop = e.srcElement.scrollingElement ? e.srcElement.scrollingElement.scrollTop : e.srcElement.scrollTop;
27
27
  let scrollHeight = e.srcElement.scrollingElement ? e.srcElement.scrollingElement.scrollHeight : e.srcElement.scrollHeight;
28
28
 
29
- if (scrollTop > 0 && scrollHeight > 0 && scrollTop / scrollHeight >= percent) {
29
+ if (scrollTop > 0 && scrollHeight > 0 && (scrollTop + window.innerHeight) / scrollHeight >= percent) {
30
30
  if (cb) cb();
31
31
  window.removeEventListener('scroll', handleScroll, false);
32
32
  }
@@ -41,7 +41,12 @@ function trackAreaClicked(selector, cb) {
41
41
  common.map(selector.split('\n'), selector => {
42
42
  selector = common.trim(selector);
43
43
  if (!selector) return;
44
- let doms = document.querySelectorAll(selector);
44
+ let doms = [];
45
+
46
+ try {
47
+ doms = document.querySelectorAll(selector);
48
+ } catch (e) {}
49
+
45
50
  common.map(doms, dom => {
46
51
  if (!dom) return;
47
52
  dom.addEventListener('click', cb, false);