@subiz/widget-v4 4.0.75 → 4.0.79

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 (134) hide show
  1. package/assets/less/message.less +11 -1
  2. package/compiled_src/chatbox/ButtonAttachments.js +2 -1
  3. package/compiled_src/chatbox/Buttons.js +3 -3
  4. package/compiled_src/chatbox/Event.js +6 -3
  5. package/compiled_src/chatbox/GenericTemplateAttachments.js +12 -6
  6. package/compiled_src/chatbox/ProductAttachments.js +4 -4
  7. package/compiled_src/lib.js +6 -0
  8. package/compiled_src/store/api.js +24 -18
  9. package/compiled_src/store/api_fake.js +0 -24
  10. package/compiled_src/store/store.js +21 -5
  11. package/dist/0b82fa7e5c3b07b40a44.png +1 -0
  12. package/dist/0f4af006e38ee8b93633.png +1 -0
  13. package/dist/132.js +6777 -0
  14. package/dist/178.js +573 -0
  15. package/dist/17f00e48d38.132.js +1 -0
  16. package/dist/17f00e48d38.178.js +1 -0
  17. package/dist/17f00e48d38.213.js +1 -0
  18. package/dist/17f00e48d38.335.js +1 -0
  19. package/dist/17f00e48d38.362.js +1 -0
  20. package/dist/17f00e48d38.441.js +1 -0
  21. package/dist/17f00e48d38.605.js +1 -0
  22. package/dist/17f00e48d38.678.js +1 -0
  23. package/dist/17f00e48d38.782.js +1 -0
  24. package/dist/17f00e48d38.app.js +1 -0
  25. package/dist/17f00e48d38.index.html +22 -0
  26. package/dist/17f00e48d38.library.html +22 -0
  27. package/dist/17f00e48d38.library.js +1 -0
  28. package/dist/17f00e48d38.preview.html +759 -0
  29. package/dist/17f00e48d38.preview.js +1 -0
  30. package/dist/17f00e48d38.screenshoot.js +1 -0
  31. package/dist/1ea1c6cd21d25176810c.png +1 -0
  32. package/dist/213.js +3188 -0
  33. package/dist/292d42404e1b03398f61.png +1 -0
  34. package/dist/312d376370831b7bea83.png +1 -0
  35. package/dist/313d1bfc1cf776d1aefe.png +1 -0
  36. package/dist/335.js +411 -0
  37. package/dist/362.js +157 -0
  38. package/dist/441.js +2732 -0
  39. package/dist/4aa58bb7a66bb44975aa.png +1 -0
  40. package/dist/56ce063bc6c81adb7322.png +1 -0
  41. package/dist/605.js +328 -0
  42. package/dist/678.js +157 -0
  43. package/dist/6a411166ef5cc79e0714.png +1 -0
  44. package/dist/6faf403782fefacc1649.png +1 -0
  45. package/dist/782.js +204 -0
  46. package/dist/79dca33c68fab79c067f.png +1 -0
  47. package/dist/82da1578fa84f9debaeb.png +1 -0
  48. package/dist/8b8e0f0824743974b282.png +1 -0
  49. package/dist/8d551390d81e39130a3c.png +1 -0
  50. package/dist/9fc61b9479877ebdb6c7.png +1 -0
  51. package/dist/HASH +1 -0
  52. package/dist/a165d31dcb3dc90f1057.png +1 -0
  53. package/dist/a98d4a5698812c4426b3.png +1 -0
  54. package/dist/assets/img/Facebook.64607ec.png +0 -0
  55. package/dist/assets/img/Zalo.6845707.png +0 -0
  56. package/dist/assets/img/award1a.1a58e10.png +0 -0
  57. package/dist/assets/img/award3a.3b74423.png +0 -0
  58. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  59. package/dist/assets/img/award5.39eb7ae.png +0 -0
  60. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  61. package/dist/assets/img/caret.998eb8f.svg +1 -0
  62. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  63. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  64. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  65. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  66. package/dist/assets/img/done_green.b817fd4.svg +4 -0
  67. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  68. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  69. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  70. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  71. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  72. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  73. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  74. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  75. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  76. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  77. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  78. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  79. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  80. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  81. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  82. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  83. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  84. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  85. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  86. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  87. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  88. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  89. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  90. package/dist/assets/img/empty.29bed2d.svg +23 -0
  91. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  92. package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
  93. package/dist/assets/img/external-link.90577cc.svg +1 -0
  94. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  95. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  96. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  97. package/dist/assets/img/image_default.be0698b.png +0 -0
  98. package/dist/assets/img/info.ebce7ea.svg +1 -0
  99. package/dist/assets/img/loader.37000a7.svg +1 -0
  100. package/dist/assets/img/loading_static.8f403ae.svg +10 -0
  101. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  102. package/dist/assets/img/main-service2.9b99549.png +0 -0
  103. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  104. package/dist/assets/img/package.8d37d0f.svg +5 -0
  105. package/dist/assets/img/package_fade.763c001.svg +1 -0
  106. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  107. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  108. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  109. package/dist/assets/img/search.f9705ff.svg +1 -0
  110. package/dist/assets/img/send.6db52a9.svg +3 -0
  111. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  112. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  113. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  114. package/dist/assets/img/x.26fdfa3.svg +5 -0
  115. package/dist/c41606bf9d1b604e46d5.png +1 -0
  116. package/dist/ce1f7450ce6c1aacd330.png +1 -0
  117. package/dist/cf8c01e88f4770a6e3e5.png +1 -0
  118. package/dist/dfbcfeab1d5622a737e2.png +1 -0
  119. package/dist/e4893ed8c2f7b8329919.png +1 -0
  120. package/dist/ec2ab4eb4ef73d186186.png +1 -0
  121. package/dist/malicious-app.js +13 -0
  122. package/dist/screenshoot.html +7 -0
  123. package/dist/screenshoot.js +5919 -0
  124. package/index.html +6 -2
  125. package/package.json +10 -10
  126. package/src/chatbox/ButtonAttachments.js +1 -1
  127. package/src/chatbox/Buttons.js +3 -3
  128. package/src/chatbox/Event.js +3 -3
  129. package/src/chatbox/GenericTemplateAttachments.js +30 -24
  130. package/src/chatbox/ProductAttachments.js +4 -4
  131. package/src/lib.js +5 -0
  132. package/src/store/api.js +16 -10
  133. package/src/store/api_fake.js +0 -16
  134. package/src/store/store.js +38 -4
@@ -452,6 +452,7 @@ a.message_error {
452
452
  .generic-attachment--element-img {
453
453
  width: 100%;
454
454
  height: 150px;
455
+ object-fit: cover;
455
456
  }
456
457
 
457
458
  .url-button-attachment:first-child {
@@ -479,6 +480,7 @@ a.message_error {
479
480
  font-weight: 500;
480
481
  font-size: 16px;
481
482
  line-height: 20px;
483
+ white-space: normal;
482
484
  }
483
485
 
484
486
  .generic-attachment--element-subtitle {
@@ -688,13 +690,21 @@ a.product_attachment__title {
688
690
  font-weight: 500;
689
691
  .color(@black);
690
692
 
691
- word-break: break-all;
693
+ word-break: break-word;
694
+ margin-bottom: 5px;
692
695
  }
693
696
 
694
697
  .product_attachment__subtitle {
698
+ white-space: pre-wrap;
699
+ display: -webkit-box;
700
+ -webkit-line-clamp: 3;
701
+ -webkit-box-orient: vertical;
702
+ overflow: hidden;
695
703
  padding: 5px 10px;
696
704
  .color(#aaa);
697
705
  padding-top: 0;
706
+ padding-bottom: 0;
707
+ margin-bottom: 5px;
698
708
  }
699
709
 
700
710
  .product_attachment__btn_external_link {
@@ -36,7 +36,8 @@ class ButtonAttachments extends _common.Com {
36
36
 
37
37
  return (0, _preact.h)(_Buttons.default, {
38
38
  store: this.props.store,
39
- buttons: buttons
39
+ buttons: buttons,
40
+ t: this.props.t
40
41
  });
41
42
  }
42
43
 
@@ -28,7 +28,7 @@ class Buttons extends _common.Com {
28
28
  href: 'tel:' + button.phone_number,
29
29
  key: index,
30
30
  title: button.title
31
- }, button.title);
31
+ }, this.props.t.i18n(button.i18n_title) || button.title);
32
32
  }
33
33
 
34
34
  if (button.type === 'url_button') {
@@ -38,7 +38,7 @@ class Buttons extends _common.Com {
38
38
  target: "_blank",
39
39
  key: index,
40
40
  title: button.title
41
- }, button.title || button.url);
41
+ }, this.props.t.i18n(button.i18n_title) || button.title || button.url);
42
42
  }
43
43
 
44
44
  if (button.type === 'postback_button') {
@@ -46,7 +46,7 @@ class Buttons extends _common.Com {
46
46
  class: "url-button-attachment",
47
47
  href: "javascript:;",
48
48
  onClick: _ => this.props.onSelect(button)
49
- }, button.title);
49
+ }, this.props.t.i18n(button.i18n_title) || button.title);
50
50
  }
51
51
 
52
52
  if (button.type === 'widget_ask_desktop_notify_button') return null;
@@ -183,7 +183,8 @@ class Event extends _common.Com {
183
183
  ev: ev
184
184
  }), (0, _preact.h)(_ButtonAttachments.default, {
185
185
  store: this.props.store,
186
- ev: ev
186
+ ev: ev,
187
+ t: this.props.t
187
188
  }), (0, _preact.h)(_FormAttachments.default, {
188
189
  store: this.props.store,
189
190
  onSubmit: this.props.onFormSubmit,
@@ -197,7 +198,8 @@ class Event extends _common.Com {
197
198
  }), (0, _preact.h)(_GenericTemplateAttachments.default, {
198
199
  store: this.props.store,
199
200
  ev: ev,
200
- onSelect: e => this.choosePostbackBtn(e)
201
+ onSelect: e => this.choosePostbackBtn(e),
202
+ t: this.props.t
201
203
  }), (0, _preact.h)(_ProductAttachments.default, {
202
204
  t: this.props.t,
203
205
  onPostback: e => this.choosePostbackBtn(e),
@@ -272,7 +274,8 @@ class Event extends _common.Com {
272
274
  ev: ev
273
275
  }), (0, _preact.h)(_ButtonAttachments.default, {
274
276
  store: this.props.store,
275
- ev: ev
277
+ ev: ev,
278
+ t: this.props.t
276
279
  }), (0, _preact.h)(_FormAttachments.default, {
277
280
  store: this.props.store,
278
281
  onSubmit: this.props.onFormSubmit,
@@ -34,7 +34,10 @@ class GenericTemplateAttachments extends _common.Com {
34
34
  this.setState({
35
35
  focusing: eleindex
36
36
  });
37
- this.galleryRef.current.scrollLeft = 190 * eleindex - 20;
37
+ this.galleryRef.current.scrollTo({
38
+ left: 220 * eleindex,
39
+ behavior: 'smooth'
40
+ });
38
41
  }
39
42
 
40
43
  render() {
@@ -50,12 +53,14 @@ class GenericTemplateAttachments extends _common.Com {
50
53
 
51
54
  var $generics = _index.default.map(generics, (gen, index) => {
52
55
  var $eles = _index.default.map(gen.elements, ele => {
53
- let $title = ele.title ? (0, _preact.h)("div", {
56
+ let title = this.props.t.i18n(ele.i18n_title) || ele.title;
57
+ let subtitle = this.props.t.i18n(ele.i18n_subtitle) || ele.subtitle;
58
+ let $title = title ? (0, _preact.h)("div", {
54
59
  class: "generic-attachment--element-title"
55
- }, ele.title) : null;
56
- let $subtitle = ele.subtitle ? (0, _preact.h)("div", {
60
+ }, title) : null;
61
+ let $subtitle = subtitle ? (0, _preact.h)("div", {
57
62
  class: "generic-attachment--element-subtitle"
58
- }, ele.subtitle) : null;
63
+ }, subtitle) : null;
59
64
  return (0, _preact.h)("div", {
60
65
  class: "generic-attachment--element swiper-slide"
61
66
  }, (0, _preact.h)("div", null, (0, _preact.h)("img", {
@@ -64,7 +69,8 @@ class GenericTemplateAttachments extends _common.Com {
64
69
  src: this.props.store.replaceFileUrl(ele.image_url)
65
70
  })), $title, $subtitle, (0, _preact.h)(_Buttons.default, {
66
71
  buttons: ele.buttons,
67
- onSelect: button => this.props.onSelect(button)
72
+ onSelect: button => this.props.onSelect(button),
73
+ t: this.props.t
68
74
  }));
69
75
  });
70
76
 
@@ -40,7 +40,7 @@ class ProductAttachments extends _common.Com {
40
40
  src: require('../../assets/img/external-link.svg'),
41
41
  class: "product_attachment__btn_external_link"
42
42
  })));
43
- console.log("P", product);
43
+ console.log('P', product);
44
44
 
45
45
  if (_index.default.size(product.buttons) > 0) {
46
46
  $detailbtns = $detailbtns.concat(_index.default.map(product.buttons, (button, index) => {
@@ -50,7 +50,7 @@ class ProductAttachments extends _common.Com {
50
50
  href: 'tel:' + button.phone_number,
51
51
  key: index,
52
52
  title: button.title
53
- }, button.title);
53
+ }, this.props.t.i18n(button.i18n_title) || button.title);
54
54
  }
55
55
 
56
56
  if (button.type === 'url_button') {
@@ -60,7 +60,7 @@ class ProductAttachments extends _common.Com {
60
60
  target: "_blank",
61
61
  key: index,
62
62
  title: button.title
63
- }, button.title || this.props.t('detail'), ' ', (0, _preact.h)("img", {
63
+ }, this.props.t.i18n(button.i18n_title) || button.title || this.props.t('detail'), ' ', (0, _preact.h)("img", {
64
64
  src: require('../../assets/img/external-link.svg'),
65
65
  class: "product_attachment__btn_external_link"
66
66
  }));
@@ -71,7 +71,7 @@ class ProductAttachments extends _common.Com {
71
71
  class: "product_attachment__btn",
72
72
  href: "javascript:;",
73
73
  onClick: _ => this.props.onPostback(button)
74
- }, button.title);
74
+ }, this.props.t.i18n(button.i18n_title) || button.title);
75
75
  }
76
76
  }));
77
77
  }
@@ -36,6 +36,12 @@ class Widget {
36
36
 
37
37
  _defineProperty(this, "getUser", () => _index.default.parseJSON(_index.default.stringify(this.store.matchUser())));
38
38
 
39
+ _defineProperty(this, "setViewingProduct", p => this.store.linkProduct(p));
40
+
41
+ _defineProperty(this, "getViewingProduct", () => this.store.getLinkedProduct());
42
+
43
+ _defineProperty(this, "track", () => this.store.track());
44
+
39
45
  this.domGate = new _index.default.Gate();
40
46
  this.store = new _store.default(ApiURL, FileURL, RealtimeURL, inmem, fake, agenttoken);
41
47
  window.sbz_store = this.store;
@@ -61,6 +61,23 @@ class _default {
61
61
 
62
62
  _defineProperty(this, "sendTyping", cid => this.apireq.post(`/conversations/${cid}/typing`));
63
63
 
64
+ _defineProperty(this, "sendPresence", (device, is_focused, productid, source_id, sku) => this.sendEvent({
65
+ by: {
66
+ id: this.uid,
67
+ device: device
68
+ },
69
+ type: 'presence_updated',
70
+ data: {
71
+ presence: {
72
+ viewing_product_sku: sku,
73
+ viewing_product_source_id: source_id,
74
+ viewing_product_id: productid,
75
+ pinged: _index.default.Date.now(),
76
+ is_focused
77
+ }
78
+ }
79
+ }));
80
+
64
81
  _defineProperty(this, "uploadToS3", async file => {
65
82
  let {
66
83
  body: signed,
@@ -151,23 +168,9 @@ class _default {
151
168
  this.uid = obj.uid;
152
169
  }
153
170
 
154
- sendPresence(device, is_focused) {
155
- return this.sendEvent({
156
- by: {
157
- id: this.uid,
158
- device: device
159
- },
160
- type: 'presence_updated',
161
- data: {
162
- presence: {
163
- pinged: _index.default.Date.now(),
164
- is_focused
165
- }
166
- }
167
- });
168
- }
169
-
170
- sendContent(device, pageUrl, pageTitle) {
171
+ sendContentView(device, pageUrl, pageTitle, id, source_id, sku) {
172
+ if (!id) id = undefined;
173
+ if (!source_id) source_id = undefined;
171
174
  return this.sendEvent({
172
175
  by: {
173
176
  id: this.uid,
@@ -176,9 +179,12 @@ class _default {
176
179
  type: 'content_viewed',
177
180
  data: {
178
181
  product: {
182
+ id: id,
183
+ source_id: source_id,
179
184
  url: pageUrl,
180
185
  name: pageTitle,
181
- title: pageTitle
186
+ title: pageTitle,
187
+ sku: sku
182
188
  }
183
189
  }
184
190
  });
@@ -162,30 +162,6 @@ function makeFakeConvo(accid, convoid, userid, agentid) {
162
162
  id: inteid
163
163
  },
164
164
  actived: 1610453070259,
165
- last_event: {
166
- id: 'evqyiykaoizbwnkaecwphttwk',
167
- account_id: accid,
168
- created: 1616213311830,
169
- type: 'message_sent',
170
- by: {
171
- id: userid,
172
- client_id: 'clsubizapi',
173
- type: 'user'
174
- },
175
- data: {
176
- message: {
177
- conversation_id: convoid,
178
- text: 'ok cám ơn!',
179
- format: 'plaintext',
180
- integration_id: inteid,
181
- pongs: [{
182
- member_id: userid,
183
- type: 'seen',
184
- created: 1616213312110
185
- }]
186
- }
187
- }
188
- },
189
165
  last_message_sent: {
190
166
  id: 'evqyiykaoizbwnkaecwphttwk',
191
167
  account_id: accid,
@@ -38,6 +38,8 @@ class Store {
38
38
 
39
39
  _defineProperty(this, "cookie", cookie);
40
40
 
41
+ _defineProperty(this, "_currentViewingProduct", {});
42
+
41
43
  _defineProperty(this, "new_visitor", true);
42
44
 
43
45
  _defineProperty(this, "matchUser", () => {
@@ -163,7 +165,7 @@ class Store {
163
165
  await this.readyGate.entry();
164
166
  if (!_index.default.get(this.kv.match('user'), 'id')) return;
165
167
  if (_index.default.isUserBanned(this.kv.match('user'))) return;
166
- return this.api.sendPresence(this.device, this.browserVisibility === 'visible' && document.hasFocus());
168
+ return this.api.sendPresence(this.device, this.browserVisibility === 'visible' && document.hasFocus(), this._currentViewingProduct.id, this._currentViewingProduct.source_id, this._currentViewingProduct.sku);
167
169
  }, 1000));
168
170
 
169
171
  _defineProperty(this, "now", () => _index.default.Date.now() + this.timeDiff);
@@ -231,7 +233,8 @@ class Store {
231
233
  this.g_haveSentSeenM = {};
232
234
  window.addEventListener('blur', () => this.sendPresence());
233
235
  window.addEventListener('focus', () => this.sendPresence());
234
- setInterval(() => this.sendPresence(), 30000);
236
+ setInterval(() => this.browserVisibility === 'visible' && document.hasFocus() && this.sendPresence(), 20000);
237
+ setInterval(() => (this.browserVisibility !== 'visible' || document.hasFocus()) && this.sendPresence(), 60000);
235
238
  onVisibilityChange(val => {
236
239
  this.browserVisibility = val;
237
240
  this.sendPresence();
@@ -260,6 +263,21 @@ class Store {
260
263
  }, 2000);
261
264
  }
262
265
 
266
+ linkProduct(p) {
267
+ if (!p) {
268
+ this._currentViewingProduct = {};
269
+ return;
270
+ }
271
+
272
+ if (p.id) this._currentViewingProduct.id = (p.id + '').trim();
273
+ if (p.source_id) this._currentViewingProduct.source_id = (p.source_id + '').trim();
274
+ if (p.sku) this._currentViewingProduct.sku = (p.sku + '').trim();
275
+ }
276
+
277
+ getLinkedProduct() {
278
+ return _index.default.cloneDeep(this._currentViewingProduct);
279
+ }
280
+
263
281
  isInsync(key) {
264
282
  return _index.default.Date.now() - (this.g_sync[key] || 0) < 300000;
265
283
  }
@@ -619,7 +637,7 @@ class Store {
619
637
 
620
638
  async track() {
621
639
  let user = this.kv.match('user') || {};
622
- await this.api.sendContent(this.device, location.href, document.title);
640
+ await this.api.sendContentView(this.device, location.href, document.title, this._currentViewingProduct.id, this._currentViewingProduct.source_id, this._currentViewingProduct.sku);
623
641
  this.sendPresence();
624
642
  }
625
643
 
@@ -765,8 +783,6 @@ class Store {
765
783
  this.chain.put(cid, ev.id, _index.default.getMs(ev.created), ev);
766
784
  }
767
785
 
768
- convo.last_event = ev;
769
-
770
786
  this._setConvo(convo);
771
787
 
772
788
  this.pubsub.publish('account');
@@ -0,0 +1 @@
1
+ module.exports = __webpack_public_path__ + "assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png";
@@ -0,0 +1 @@
1
+ module.exports = __webpack_public_path__ + "assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png";