@subiz/widget-v4 4.1.69 → 4.1.71

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 (102) hide show
  1. package/compiled_src/chatbox/AgentsAvatar.js +102 -108
  2. package/compiled_src/chatbox/ButtonAttachments.js +16 -23
  3. package/compiled_src/chatbox/Buttons.js +36 -43
  4. package/compiled_src/chatbox/ChatButton.js +5 -1
  5. package/compiled_src/chatbox/Rating.js +1 -1
  6. package/compiled_src/chatbox/Widget.js +1 -1
  7. package/dist/132.js +2796 -0
  8. package/dist/18e74ca84ff.132.js +1 -0
  9. package/dist/18e74ca84ff.27.js +1 -0
  10. package/dist/18e74ca84ff.278.js +1 -0
  11. package/dist/18e74ca84ff.459.js +1 -0
  12. package/dist/18e74ca84ff.490.js +1 -0
  13. package/dist/18e74ca84ff.497.js +1 -0
  14. package/dist/18e74ca84ff.74.js +1 -0
  15. package/dist/18e74ca84ff.997.js +1 -0
  16. package/dist/18e74ca84ff.app.js +1 -0
  17. package/dist/18e74ca84ff.index.html +33 -0
  18. package/dist/18e74ca84ff.library.html +33 -0
  19. package/dist/18e74ca84ff.library.js +1 -0
  20. package/dist/18e74ca84ff.preview.html +759 -0
  21. package/dist/18e74ca84ff.preview.js +1 -0
  22. package/dist/18e74ca84ff.screenshoot.js +1 -0
  23. package/dist/18e74ca84ff.webview.js +1 -0
  24. package/dist/27.js +107 -0
  25. package/dist/278.js +406 -0
  26. package/dist/459.js +107 -0
  27. package/dist/490.js +304 -0
  28. package/dist/497.js +6721 -0
  29. package/dist/74.js +372 -0
  30. package/dist/997.js +107 -0
  31. package/dist/HASH +1 -0
  32. package/dist/assets/img/Facebook.64607ec.png +0 -0
  33. package/dist/assets/img/Zalo.6845707.png +0 -0
  34. package/dist/assets/img/award1a.1a58e10.png +0 -0
  35. package/dist/assets/img/award3a.3b74423.png +0 -0
  36. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  37. package/dist/assets/img/award5.39eb7ae.png +0 -0
  38. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  39. package/dist/assets/img/caret.998eb8f.svg +1 -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/done_green.b817fd4.svg +4 -0
  45. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  49. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  50. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  51. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  52. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  53. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  54. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  55. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  56. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  57. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  58. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  59. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  60. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  61. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  62. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  63. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  64. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  65. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  66. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  67. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  68. package/dist/assets/img/empty.29bed2d.svg +23 -0
  69. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  70. package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
  71. package/dist/assets/img/external-link.90577cc.svg +1 -0
  72. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  73. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  74. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  75. package/dist/assets/img/image_default.be0698b.png +0 -0
  76. package/dist/assets/img/info.ebce7ea.svg +1 -0
  77. package/dist/assets/img/loader.37000a7.svg +1 -0
  78. package/dist/assets/img/loading_static.a27f0ac.svg +10 -0
  79. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  80. package/dist/assets/img/main-service2.9b99549.png +0 -0
  81. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  82. package/dist/assets/img/package.8d37d0f.svg +5 -0
  83. package/dist/assets/img/package_fade.763c001.svg +1 -0
  84. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  85. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  86. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  87. package/dist/assets/img/search.f9705ff.svg +1 -0
  88. package/dist/assets/img/send.6db52a9.svg +3 -0
  89. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  90. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  91. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  92. package/dist/assets/img/x.26fdfa3.svg +5 -0
  93. package/dist/malicious-app.js +15 -0
  94. package/dist/screenshoot.html +7 -0
  95. package/dist/screenshoot.js +6354 -0
  96. package/package.json +1 -1
  97. package/src/chatbox/AgentsAvatar.js +118 -134
  98. package/src/chatbox/ButtonAttachments.js +13 -20
  99. package/src/chatbox/Buttons.js +29 -37
  100. package/src/chatbox/ChatButton.js +6 -1
  101. package/src/chatbox/Rating.js +1 -1
  102. package/src/chatbox/Widget.js +2 -1
@@ -3,142 +3,136 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = AgentsAvatar;
7
7
  var _index = _interopRequireDefault(require("../util/index.js"));
8
8
  var _common = require("../common.js");
9
9
  var _preact = require("preact");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- class AgentsAvatar extends _common.Com {
12
- constructor(props) {
13
- super(props);
11
+ function AgentsAvatar(props) {
12
+ let accountSetting = props.plugin.chatbox;
13
+ let acc = props.store.matchAccount() || {};
14
+ var tooltippos = props.tooltipPos || 'bottom';
15
+ var mode = props.mode || 'primary';
16
+ if (accountSetting && accountSetting.hide_agent_profile) {
17
+ return (0, _preact.h)("div", {
18
+ class: `group-avatar group-avatar--${mode}`
19
+ }, (0, _preact.h)("div", {
20
+ class: "d-inline-block pos-relative",
21
+ "data-tooltip": acc.name,
22
+ "data-tooltip-position": tooltippos
23
+ }, (0, _preact.h)("img", {
24
+ width: 35,
25
+ height: 35,
26
+ alt: "agent avatar left",
27
+ class: "avatar group-avatar--agent-left",
28
+ src: props.store.replaceFileUrl(acc.logo_url) || require('../../assets/img/image_default.png')
29
+ })));
14
30
  }
15
- render() {
16
- let accountSetting = this.props.plugin.chatbox;
17
- let acc = this.props.store.matchAccount() || {};
18
- var tooltippos = this.props.tooltipPos || 'bottom';
19
- var mode = this.props.mode || 'primary';
20
- if (accountSetting && accountSetting.hide_agent_profile) {
21
- return (0, _preact.h)("div", {
22
- class: `group-avatar group-avatar--${mode}`
23
- }, (0, _preact.h)("div", {
24
- class: "d-inline-block pos-relative",
25
- "data-tooltip": acc.name,
26
- "data-tooltip-position": tooltippos
27
- }, (0, _preact.h)("img", {
28
- width: 35,
29
- height: 35,
30
- alt: "agent avatar left",
31
- class: "avatar group-avatar--agent-left",
32
- src: this.props.store.replaceFileUrl(acc.logo_url) || require('../../assets/img/image_default.png')
33
- })));
34
- }
35
- let agentM = this.props.store.matchAgent('*');
36
- var agents = _index.default.map(this.props.agent_ids, id => agentM[id]);
37
- if (this.props.agent_ids === undefined || _index.default.size(this.props.agent_ids) === 0) {
38
- var agids = _index.default.get(accountSetting, 'header.agent_ids', []);
39
- agids = _index.default.filter(agids, id => !!agentM[id]);
40
- if (agids.length !== 0) {
41
- agents = _index.default.map(agids, id => agentM[id]);
42
- } else {
43
- agents = _index.default.filter(agentM, agent => agent.type === 'agent');
44
- }
45
- }
46
- agents = _index.default.filter(agents, ag => !!ag);
47
- if (agents.length === 0) {
48
- return (0, _preact.h)("div", {
49
- class: `group-avatar group-avatar--${mode}`
50
- }, (0, _preact.h)("div", {
51
- class: "d-inline-block pos-relative",
52
- "data-tooltip": acc.name,
53
- "data-tooltip-position": tooltippos
54
- }, (0, _preact.h)("img", {
55
- width: 35,
56
- height: 35,
57
- alt: "agent avatar left",
58
- class: "avatar group-avatar--agent-left",
59
- src: this.props.store.replaceFileUrl(acc.logo_url) || require('../../assets/img/image_default.png')
60
- })));
61
- }
62
- if (agents.length === 1) {
63
- var agent = agents[0];
64
- var groupClass = mode === 'primary' ? 'group-avatar--agent-middle' : 'group-avatar--agent-left';
65
- return (0, _preact.h)("div", {
66
- class: `group-avatar group-avatar--${mode}`
67
- }, (0, _preact.h)("div", {
68
- class: "d-inline-block pos-relative",
69
- "data-tooltip": agent.fullname || acc.name,
70
- "data-tooltip-position": tooltippos
71
- }, (0, _preact.h)("img", {
72
- width: 35,
73
- height: 35,
74
- class: `avatar ${groupClass}`,
75
- alt: "agent avatar",
76
- src: this.props.store.replaceFileUrl(agent.avatar_url) || require('../../assets/img/default_avatar.png')
77
- })));
78
- }
79
- if (agents.length === 2) {
80
- let leftAgent = agents[0];
81
- let rightAgent = agents[1];
82
- return (0, _preact.h)("div", {
83
- class: `group-avatar group-avatar--${mode}`
84
- }, (0, _preact.h)("div", {
85
- class: "d-inline-block pos-relative",
86
- "data-tooltip": leftAgent.fullname || acc.name,
87
- "data-tooltip-position": tooltippos
88
- }, (0, _preact.h)("img", {
89
- width: 35,
90
- height: 35,
91
- alt: "agent avatar left",
92
- class: "avatar group-avatar--agent-left",
93
- src: this.props.store.replaceFileUrl(leftAgent.avatar_url) || require('../../assets/img/default_avatar.png')
94
- })), (0, _preact.h)("div", {
95
- class: "d-inline-block pos-relative",
96
- "data-tooltip": rightAgent.fullname || acc.name,
97
- "data-tooltip-position": tooltippos
98
- }, (0, _preact.h)("img", {
99
- alt: "agent avatar right",
100
- width: 35,
101
- height: 35,
102
- class: "avatar group-avatar--agent-right",
103
- src: this.props.store.replaceFileUrl(rightAgent.avatar_url) || require('../../assets/img/default_avatar.png')
104
- })));
31
+ let agentM = props.store.matchAgent('*');
32
+ var agents = _index.default.map(props.agent_ids, id => agentM[id]);
33
+ if (props.agent_ids === undefined || _index.default.size(props.agent_ids) === 0) {
34
+ var agids = _index.default.get(accountSetting, 'header.agent_ids', []);
35
+ agids = _index.default.filter(agids, id => !!agentM[id]);
36
+ if (agids.length !== 0) {
37
+ agents = _index.default.map(agids, id => agentM[id]);
38
+ } else {
39
+ agents = _index.default.filter(agentM, agent => agent.type === 'agent');
105
40
  }
106
- let leftAgent = agents[0];
107
- let middleAgent = agents[1];
108
- let rightAgent = agents[2];
41
+ }
42
+ agents = _index.default.filter(agents, ag => !!ag);
43
+ if (agents.length === 0) {
109
44
  return (0, _preact.h)("div", {
110
45
  class: `group-avatar group-avatar--${mode}`
111
46
  }, (0, _preact.h)("div", {
112
47
  class: "d-inline-block pos-relative",
113
- "data-tooltip": leftAgent.fullname || acc.name,
48
+ "data-tooltip": acc.name,
114
49
  "data-tooltip-position": tooltippos
115
50
  }, (0, _preact.h)("img", {
116
51
  width: 35,
117
52
  height: 35,
118
53
  alt: "agent avatar left",
119
54
  class: "avatar group-avatar--agent-left",
120
- src: this.props.store.replaceFileUrl(leftAgent.avatar_url) || require('../../assets/img/default_avatar.png')
121
- })), (0, _preact.h)("div", {
55
+ src: props.store.replaceFileUrl(acc.logo_url) || require('../../assets/img/image_default.png')
56
+ })));
57
+ }
58
+ if (agents.length === 1) {
59
+ var agent = agents[0];
60
+ var groupClass = mode === 'primary' ? 'group-avatar--agent-middle' : 'group-avatar--agent-left';
61
+ return (0, _preact.h)("div", {
62
+ class: `group-avatar group-avatar--${mode}`
63
+ }, (0, _preact.h)("div", {
64
+ class: "d-inline-block pos-relative",
65
+ "data-tooltip": agent.fullname || acc.name,
66
+ "data-tooltip-position": tooltippos
67
+ }, (0, _preact.h)("img", {
68
+ width: 35,
69
+ height: 35,
70
+ class: `avatar ${groupClass}`,
71
+ alt: "agent avatar",
72
+ src: props.store.replaceFileUrl(agent.avatar_url) || require('../../assets/img/default_avatar.png')
73
+ })));
74
+ }
75
+ if (agents.length === 2) {
76
+ let leftAgent = agents[0];
77
+ let rightAgent = agents[1];
78
+ return (0, _preact.h)("div", {
79
+ class: `group-avatar group-avatar--${mode}`
80
+ }, (0, _preact.h)("div", {
122
81
  class: "d-inline-block pos-relative",
123
- "data-tooltip": middleAgent.fullname || acc.name,
82
+ "data-tooltip": leftAgent.fullname || acc.name,
124
83
  "data-tooltip-position": tooltippos
125
84
  }, (0, _preact.h)("img", {
126
- alt: "agent avatar middle",
127
85
  width: 35,
128
86
  height: 35,
129
- class: "avatar group-avatar--agent-middle",
130
- src: this.props.store.replaceFileUrl(middleAgent.avatar_url) || require('../../assets/img/default_avatar.png')
87
+ alt: "agent avatar left",
88
+ class: "avatar group-avatar--agent-left",
89
+ src: props.store.replaceFileUrl(leftAgent.avatar_url) || require('../../assets/img/default_avatar.png')
131
90
  })), (0, _preact.h)("div", {
132
91
  class: "d-inline-block pos-relative",
133
92
  "data-tooltip": rightAgent.fullname || acc.name,
134
93
  "data-tooltip-position": tooltippos
135
94
  }, (0, _preact.h)("img", {
95
+ alt: "agent avatar right",
136
96
  width: 35,
137
97
  height: 35,
138
- alt: "agent avatar right",
139
98
  class: "avatar group-avatar--agent-right",
140
- src: this.props.store.replaceFileUrl(rightAgent.avatar_url) || require('../../assets/img/default_avatar.png')
99
+ src: props.store.replaceFileUrl(rightAgent.avatar_url) || require('../../assets/img/default_avatar.png')
141
100
  })));
142
101
  }
143
- }
144
- exports.default = AgentsAvatar;
102
+ let leftAgent = agents[0];
103
+ let middleAgent = agents[1];
104
+ let rightAgent = agents[2];
105
+ return (0, _preact.h)("div", {
106
+ class: `group-avatar group-avatar--${mode}`
107
+ }, (0, _preact.h)("div", {
108
+ class: "d-inline-block pos-relative",
109
+ "data-tooltip": leftAgent.fullname || acc.name,
110
+ "data-tooltip-position": tooltippos
111
+ }, (0, _preact.h)("img", {
112
+ width: 35,
113
+ height: 35,
114
+ alt: "agent avatar left",
115
+ class: "avatar group-avatar--agent-left",
116
+ src: props.store.replaceFileUrl(leftAgent.avatar_url) || require('../../assets/img/default_avatar.png')
117
+ })), (0, _preact.h)("div", {
118
+ class: "d-inline-block pos-relative",
119
+ "data-tooltip": middleAgent.fullname || acc.name,
120
+ "data-tooltip-position": tooltippos
121
+ }, (0, _preact.h)("img", {
122
+ alt: "agent avatar middle",
123
+ width: 35,
124
+ height: 35,
125
+ class: "avatar group-avatar--agent-middle",
126
+ src: props.store.replaceFileUrl(middleAgent.avatar_url) || require('../../assets/img/default_avatar.png')
127
+ })), (0, _preact.h)("div", {
128
+ class: "d-inline-block pos-relative",
129
+ "data-tooltip": rightAgent.fullname || acc.name,
130
+ "data-tooltip-position": tooltippos
131
+ }, (0, _preact.h)("img", {
132
+ width: 35,
133
+ height: 35,
134
+ alt: "agent avatar right",
135
+ class: "avatar group-avatar--agent-right",
136
+ src: props.store.replaceFileUrl(rightAgent.avatar_url) || require('../../assets/img/default_avatar.png')
137
+ })));
138
+ }
@@ -3,30 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = ButtonAttachments;
7
7
  var _Buttons = _interopRequireDefault(require("./Buttons.js"));
8
8
  var _index = _interopRequireDefault(require("../util/index.js"));
9
- var _common = require("../common.js");
10
9
  var _preact = require("preact");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- class ButtonAttachments extends _common.Com {
13
- constructor(props) {
14
- super(props);
15
- }
16
- render() {
17
- let byType = _index.default.get(this.props.ev, 'by.type');
18
- if (byType === 'user') return null;
19
- let buttons = [];
20
- let attachments = _index.default.get(this.props.ev, 'data.message.attachments', []);
21
- _index.default.each(attachments, (att, i) => {
22
- if (!att || _index.default.get(att, 'type') !== 'button') return;
23
- _index.default.each(_index.default.get(att, 'buttons') || [], btn => buttons.push(btn));
24
- });
25
- return (0, _preact.h)(_Buttons.default, {
26
- store: this.props.store,
27
- buttons: buttons,
28
- t: this.props.t
29
- });
30
- }
31
- }
32
- exports.default = ButtonAttachments;
11
+ function ButtonAttachments(props) {
12
+ let byType = _index.default.get(props.ev, 'by.type');
13
+ if (byType === 'user') return null;
14
+ let buttons = [];
15
+ let attachments = _index.default.get(props.ev, 'data.message.attachments', []);
16
+ _index.default.each(attachments, (att, i) => {
17
+ if (!att || _index.default.get(att, 'type') !== 'button') return;
18
+ _index.default.each(_index.default.get(att, 'buttons') || [], btn => buttons.push(btn));
19
+ });
20
+ return (0, _preact.h)(_Buttons.default, {
21
+ store: props.store,
22
+ buttons: buttons,
23
+ t: props.t
24
+ });
25
+ }
@@ -3,49 +3,42 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = Buttons;
7
7
  var _index = _interopRequireDefault(require("../util/index.js"));
8
- var _common = require("../common.js");
9
8
  var _preact = require("preact");
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- class Buttons extends _common.Com {
12
- constructor(props) {
13
- super(props);
14
- }
15
- render() {
16
- if (_index.default.size(this.props.buttons) === 0) return null;
17
- var $buttons = _index.default.map(this.props.buttons, (button, index) => {
18
- if (button.type === 'call_button') {
19
- return (0, _preact.h)("a", {
20
- class: "url-button-attachment",
21
- href: 'tel:' + button.phone_number,
22
- key: index,
23
- title: button.title
24
- }, this.props.t.i18n(button.i18n_title) || button.title);
25
- }
26
- if (button.type === 'url_button') {
27
- return (0, _preact.h)("a", {
28
- class: "url-button-attachment",
29
- href: button.url,
30
- target: "_blank",
31
- key: index,
32
- title: button.title
33
- }, this.props.t.i18n(button.i18n_title) || button.title || button.url);
34
- }
35
- if (button.type === 'postback_button') {
36
- return (0, _preact.h)("a", {
37
- class: "url-button-attachment",
38
- href: "javascript:;",
39
- onClick: _ => this.props.onSelect(button)
40
- }, this.props.t.i18n(button.i18n_title) || button.title);
41
- }
42
- if (button.type === 'widget_ask_desktop_notify_button') return null;
43
- if (button.type === 'widget_ask_contact_info_button') return null;
44
- return null;
45
- });
46
- return (0, _preact.h)("div", {
47
- class: "button-attachments"
48
- }, $buttons);
49
- }
50
- }
51
- exports.default = Buttons;
10
+ function Buttons(props) {
11
+ if (_index.default.size(props.buttons) === 0) return null;
12
+ var $buttons = _index.default.map(props.buttons, (button, index) => {
13
+ if (button.type === 'call_button') {
14
+ return (0, _preact.h)("a", {
15
+ class: "url-button-attachment",
16
+ href: 'tel:' + button.phone_number,
17
+ key: index,
18
+ title: button.title
19
+ }, props.t.i18n(button.i18n_title) || button.title);
20
+ }
21
+ if (button.type === 'url_button') {
22
+ return (0, _preact.h)("a", {
23
+ class: "url-button-attachment",
24
+ href: button.url,
25
+ target: "_blank",
26
+ key: index,
27
+ title: button.title
28
+ }, props.t.i18n(button.i18n_title) || button.title || button.url);
29
+ }
30
+ if (button.type === 'postback_button') {
31
+ return (0, _preact.h)("a", {
32
+ class: "url-button-attachment",
33
+ href: "javascript:;",
34
+ onClick: _ => props.onSelect(button)
35
+ }, props.t.i18n(button.i18n_title) || button.title);
36
+ }
37
+ if (button.type === 'widget_ask_desktop_notify_button') return null;
38
+ if (button.type === 'widget_ask_contact_info_button') return null;
39
+ return null;
40
+ });
41
+ return (0, _preact.h)("div", {
42
+ class: "button-attachments"
43
+ }, $buttons);
44
+ }
@@ -117,7 +117,11 @@ class ChatButton extends _common.Com {
117
117
  if (new _index.default.Date().getTime() - this.props.store.matchClosePreviewAt() < Ms30Mins) return;
118
118
  let greeting = _index.default.get(accountSetting, 'greeting', {});
119
119
  let text = this.props.t.i18n(_index.default.get(greeting, 'greeting', {})) || greeting.message;
120
- if (!text || !greeting.enabled) {
120
+ let enabled = greeting.enabled;
121
+ if (this.props.store.isMobile()) {
122
+ enabled = enabled && !_index.default.get(greeting, 'mobile_disabled');
123
+ }
124
+ if (!text || !enabled) {
121
125
  this.setState({
122
126
  previewEvent: {}
123
127
  });
@@ -145,7 +145,7 @@ class Rating extends _common.Com {
145
145
  let foundUser = false;
146
146
  _index.default.map(this.props.store.listEvents(this.props.cid), ev => {
147
147
  if (!ev || !ev.by) return;
148
- if (ev.by.type == 'user') foundUser = true;
148
+ if (ev.by.type == 'user' && ev.type == 'message_sent') foundUser = true;
149
149
  if (ev.type === 'conversation_state_updated' && _index.default.get(ev, 'data.conversation.state') === 'ended') {
150
150
  ended = ev;
151
151
  }
@@ -43,7 +43,7 @@ class Widget extends _common.Com {
43
43
  this.setState({
44
44
  formData
45
45
  });
46
- if (!this.props.store.isMobile()) this.focusInput();
46
+ if (!this.props.store.isMobile() && !form._updated) this.focusInput();
47
47
  });
48
48
  _defineProperty(this, "sendMessage", async message => {
49
49
  let hasPostback = _index.default.find(message.attachments, att => att.type === 'postback');