@subiz/widget-v4 4.0.97 → 4.0.99

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 (78) hide show
  1. package/assets/less/chatbox.less +1 -1
  2. package/assets/less/notif.less +1 -1
  3. package/compiled_src/chatbox/ShadowDomRoot.js +1 -1
  4. package/compiled_src/chatbox/Widget.js +10 -18
  5. package/compiled_src/lib.js +2 -2
  6. package/compiled_src/store/store.js +20 -8
  7. package/dist/132.js +6645 -0
  8. package/dist/178.js +406 -0
  9. package/dist/213.js +2950 -0
  10. package/dist/335.js +376 -0
  11. package/dist/362.js +107 -0
  12. package/dist/441.js +2840 -0
  13. package/dist/605.js +297 -0
  14. package/dist/678.js +107 -0
  15. package/dist/782.js +107 -0
  16. package/dist/HASH +1 -0
  17. package/dist/assets/img/Facebook.64607ec.png +0 -0
  18. package/dist/assets/img/Zalo.6845707.png +0 -0
  19. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  20. package/dist/assets/img/caret.998eb8f.svg +1 -0
  21. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  22. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  23. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  24. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  25. package/dist/assets/img/done_green.b817fd4.svg +4 -0
  26. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  27. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  28. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  29. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  30. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  31. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  32. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  33. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  34. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  35. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  36. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  37. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  38. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  39. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  40. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  41. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  42. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  43. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  44. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  45. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  49. package/dist/assets/img/empty.29bed2d.svg +23 -0
  50. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  51. package/dist/assets/img/external-link.90577cc.svg +1 -0
  52. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  53. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  54. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  55. package/dist/assets/img/image_default.be0698b.png +0 -0
  56. package/dist/assets/img/info.ebce7ea.svg +1 -0
  57. package/dist/assets/img/loader.37000a7.svg +1 -0
  58. package/dist/assets/img/loading_static.8f403ae.svg +10 -0
  59. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  60. package/dist/assets/img/package.8d37d0f.svg +5 -0
  61. package/dist/assets/img/package_fade.763c001.svg +1 -0
  62. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  63. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  64. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  65. package/dist/assets/img/search.f9705ff.svg +1 -0
  66. package/dist/assets/img/send.6db52a9.svg +3 -0
  67. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  68. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  69. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  70. package/dist/assets/img/x.26fdfa3.svg +5 -0
  71. package/dist/malicious-app.js +13 -0
  72. package/dist/screenshoot.html +7 -0
  73. package/dist/screenshoot.js +5689 -0
  74. package/package.json +2 -2
  75. package/src/chatbox/ShadowDomRoot.js +1 -1
  76. package/src/chatbox/Widget.js +6 -10
  77. package/src/lib.js +2 -2
  78. package/src/store/store.js +20 -8
@@ -34,7 +34,7 @@
34
34
  @spacer3: @spacer; // 15px;
35
35
  @spacer4: @spacer * 1.5; // 22.5px
36
36
 
37
- @font-family-sans-serif: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, 'Noto Sans',
37
+ @font-family-sans-serif: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
38
38
  sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
39
39
 
40
40
  @font-size-base: 15px; // Assumes the browser default, typically `16px`
@@ -43,7 +43,7 @@ body div#sbz92 {
43
43
 
44
44
  .notif {
45
45
  cursor: pointer;
46
- font-family: roboto;
46
+ font-family: Inter;
47
47
  font-size: 14px;
48
48
  position: absolute;
49
49
  user-select: none;
@@ -19,7 +19,7 @@ class ShadowDomRoot extends _common.Com {
19
19
  }
20
20
  update(html) {
21
21
  this.shadowRoot.innerHTML = `<style type="text/css">
22
- body { font-family: 'Roboto', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
22
+ body { font-family: 'Inter', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
23
23
  h{ font-size: 14/18px!important; }
24
24
  a { text-decoration: none;}
25
25
  img { max-width: 100%; display: block; margin: 10px auto; }
@@ -790,8 +790,7 @@ class Widget extends _common.Com {
790
790
  _index.default.each(formData, field => {
791
791
  if (field.value) isAllFiledEmpty = false;
792
792
  });
793
- if (isAllFiledEmpty) return true;
794
-
793
+ if (isAllFiledEmpty && !this.userHasSent(this.props.cid)) return true;
795
794
  return !!_index.default.find(formData, field => field.is_required && (field.value == null || field.value === ''));
796
795
  }
797
796
  renderConvoSummary(convo) {
@@ -811,23 +810,11 @@ class Widget extends _common.Com {
811
810
  if (!name) name = this.props.t('agent');
812
811
  var $you = null;
813
812
  if (convo.lastSenderType === 'user') {
814
- $you = (0, _preact.h)("span", {
815
- class: "yourmessage"
816
- }, this.props.t('you'), ":");
813
+ $you = (0, _preact.h)("span", null, this.props.t('you'), ":");
817
814
  }
818
815
  let seen = _index.default.isConvoSeen(convo, this.props.store.matchUser().id);
819
- var lastmsg = this.renderMessagePreview(convo.last_message_sent || {
820
- data: {
821
- message: _index.default.get(convo, 'last_message')
822
- }
823
- });
824
- var time = _index.default.getMs(_index.default.get(convo, 'last_message_sent.created')) || _index.default.getMs(_index.default.get(convo, 'last_sent.created')) || _index.default.getMs(convo.created);
825
- var $tim = (0, _preact.h)(_time.default, {
826
- ago: true,
827
- time: time,
828
- key: time,
829
- short: true
830
- });
816
+ var lastmsg = this.renderMessagePreview(convo.last_message_sent);
817
+ var time = _index.default.getMs(_index.default.get(convo, 'last_message_sent.created')) || _index.default.getMs(convo.created);
831
818
  let $unread = seen ? null : (0, _preact.h)("div", {
832
819
  class: "convo-list--item-unread"
833
820
  });
@@ -847,7 +834,12 @@ class Widget extends _common.Com {
847
834
  class: "convo-list--convo-name"
848
835
  }, name), (0, _preact.h)("div", {
849
836
  class: "convo-list--convo-time"
850
- }, $tim)), (0, _preact.h)("div", {
837
+ }, (0, _preact.h)(_time.default, {
838
+ ago: true,
839
+ time: time,
840
+ key: time,
841
+ short: true
842
+ }))), (0, _preact.h)("div", {
851
843
  class: "d-flex flex-row"
852
844
  }, (0, _preact.h)("div", {
853
845
  class: "convo-list--convo-last-message"
@@ -10,10 +10,10 @@ var _plugin = _interopRequireDefault(require("./plugin.js"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
12
  var $link = document.createElement('link');
13
- $link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
13
+ $link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap';
14
14
  $link.rel = 'stylesheet';
15
15
  document.head.append($link);
16
- _index.default.preloadWebfonts(['Roboto'], [400, 500]);
16
+ _index.default.preloadWebfonts(['Inter'], [400, 500, 600]);
17
17
  class Widget {
18
18
  constructor(ApiURL, FileURL, RealtimeURL, inmem, fake) {
19
19
  _defineProperty(this, "version", () => '4.5');
@@ -109,6 +109,7 @@ class Store {
109
109
  _defineProperty(this, "readyGate", new _index.default.Gate());
110
110
  _defineProperty(this, "convoGate", new _index.default.Gate(true));
111
111
  _defineProperty(this, "reconnectGate", new _index.default.Gate(true));
112
+ _defineProperty(this, "wsGate", new _index.default.Gate(true));
112
113
  _defineProperty(this, "matchLastview", () => this.kv.match('lastview') || {});
113
114
  _defineProperty(this, "matchIsOpen", () => !!this.kv.match('isopen'));
114
115
  _defineProperty(this, "matchHasManuallyClosed", () => !!this.kv.match('hasManuallyClosed'));
@@ -538,6 +539,12 @@ class Store {
538
539
  if (traffic_source) this.kv.put('traffic_source', traffic_source);
539
540
  }
540
541
  async onWs(ev) {
542
+ await this.wsGate.entry();
543
+ this.wsGate.close();
544
+ await this._onWs(ev);
545
+ this.wsGate.open();
546
+ }
547
+ async _onWs(ev) {
541
548
  if (!ev || !ev.type) return;
542
549
  ev.created = _index.default.getMs(ev.created);
543
550
  if (ev.type === 'user_info_updated') {
@@ -551,8 +558,9 @@ class Store {
551
558
  let user = this.kv.match('user') || {};
552
559
  let cid = _index.default.convoOfEv(ev);
553
560
  let convo;
561
+ let alreadyFetched = false;
554
562
  if (cid) {
555
- convo = this.matchConvo(cid);
563
+ convo = this.cache.match('convo_' + cid);
556
564
  if (!convo || !convo.id) {
557
565
  let {
558
566
  body: apiconvo,
@@ -560,6 +568,8 @@ class Store {
560
568
  } = await this.api.getConversation(cid);
561
569
  if (!apiconvo) return;
562
570
  convo = apiconvo;
571
+ alreadyFetched = true;
572
+ this._setConvo(convo);
563
573
  }
564
574
  }
565
575
  if (!convo) return;
@@ -574,14 +584,16 @@ class Store {
574
584
  if (me) {
575
585
  await this.chain.reload(cid, (type, anchor, limit) => this.listmessageapi(type, anchor, limit));
576
586
  this.markSync('events' + cid);
577
- let {
578
- body: apiconvo
579
- } = await this.api.getConversation(cid);
580
- if (apiconvo) {
581
- convo = apiconvo;
582
- this._setConvo(convo);
587
+ if (!alreadyFetched) {
588
+ let {
589
+ body: apiconvo
590
+ } = await this.api.getConversation(cid);
591
+ if (apiconvo) {
592
+ convo = apiconvo;
593
+ this._setConvo(convo);
594
+ }
595
+ this.pubsub.publish('account');
583
596
  }
584
- this.pubsub.publish('account');
585
597
  }
586
598
  }
587
599
  if (ev.type === 'message_sent') {