@subiz/widget-v4 4.0.59 → 4.0.64
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.
- package/assets/img/caret.svg +1 -0
- package/assets/img/done_green.svg +4 -0
- package/assets/img/empty_1.svg +11 -0
- package/assets/img/ghn.svg +17 -0
- package/assets/img/ghtk.svg +18 -0
- package/assets/img/home.svg +1 -0
- package/assets/img/info.svg +1 -0
- package/assets/img/loader.svg +1 -0
- package/assets/img/map-pin.svg +1 -0
- package/assets/img/not_found_search.png +0 -0
- package/assets/img/package.svg +5 -0
- package/assets/img/package_fade.svg +1 -0
- package/assets/img/phone.svg +1 -0
- package/assets/img/search.svg +1 -0
- package/assets/img/shop.svg +1 -0
- package/assets/img/shop_faded.svg +1 -0
- package/assets/img/user.svg +1 -0
- package/assets/img/x.svg +5 -0
- package/assets/less/chatbox.less +35 -0
- package/assets/less/dropdown_select.less +130 -0
- package/assets/less/form.less +7 -20
- package/assets/less/order.less +489 -0
- package/assets/less/rating.less +3 -8
- package/babel.config.js +2 -4
- package/compiled_src/bot.js +7 -1
- package/compiled_src/chatbox/DropdownSelect.js +248 -0
- package/compiled_src/chatbox/Event.js +4 -2
- package/compiled_src/chatbox/Events.js +1 -0
- package/compiled_src/chatbox/Order.js +285 -0
- package/compiled_src/chatbox/OrderAttachments.js +2 -1
- package/compiled_src/chatbox/TextMessage.js +9 -2
- package/compiled_src/chatbox/Widget.js +44 -3
- package/compiled_src/chatbox/main.js +2 -1
- package/compiled_src/chatbox/spinner.js +1 -1
- package/compiled_src/chatbox/time.js +3 -1
- package/compiled_src/common.js +40 -1
- package/compiled_src/contact/contact.js +1 -3
- package/compiled_src/order/address_picker.js +249 -0
- package/compiled_src/order/icon.js +62 -0
- package/compiled_src/order/index.js +113 -0
- package/compiled_src/order/order.js +1234 -0
- package/compiled_src/plugin.js +9 -42
- package/compiled_src/popup/popup.js +2 -2
- package/compiled_src/store/api.js +20 -0
- package/compiled_src/store/store.js +42 -0
- package/compiled_src/util/common.js +36 -2
- package/dist/0b82fa7e5c3b07b40a44.png +1 -0
- package/dist/0f4af006e38ee8b93633.png +1 -0
- package/dist/{74.js → 132.js} +2322 -279
- package/dist/178.js +341 -174
- package/dist/17ee31b89ac.132.js +1 -0
- package/dist/17ee31b89ac.178.js +1 -0
- package/dist/17ee31b89ac.213.js +1 -0
- package/dist/17ee31b89ac.335.js +1 -0
- package/dist/17ee31b89ac.362.js +1 -0
- package/dist/17ee31b89ac.441.js +1 -0
- package/dist/17ee31b89ac.605.js +1 -0
- package/dist/17ee31b89ac.678.js +1 -0
- package/dist/17ee31b89ac.782.js +1 -0
- package/dist/17ee31b89ac.app.js +1 -0
- package/dist/{17d939953e0.index.html → 17ee31b89ac.index.html} +3 -18
- package/dist/{17d939953e0.library.html → 17ee31b89ac.library.html} +3 -18
- package/dist/17ee31b89ac.library.js +1 -0
- package/dist/{17d939953e0.preview.html → 17ee31b89ac.preview.html} +1 -1
- package/dist/17ee31b89ac.preview.js +1 -0
- package/dist/17ee31b89ac.screenshoot.js +1 -0
- package/dist/1ea1c6cd21d25176810c.png +1 -0
- package/dist/213.js +35 -70
- package/dist/292d42404e1b03398f61.png +1 -0
- package/dist/312d376370831b7bea83.png +1 -0
- package/dist/313d1bfc1cf776d1aefe.png +1 -0
- package/dist/335.js +411 -0
- package/dist/362.js +71 -21
- package/dist/441.js +70 -44
- package/dist/4aa58bb7a66bb44975aa.png +1 -0
- package/dist/56ce063bc6c81adb7322.png +1 -0
- package/dist/605.js +1 -64
- package/dist/678.js +70 -20
- package/dist/6a411166ef5cc79e0714.png +1 -0
- package/dist/6faf403782fefacc1649.png +1 -0
- package/dist/782.js +118 -21
- package/dist/79dca33c68fab79c067f.png +1 -0
- package/dist/82da1578fa84f9debaeb.png +1 -0
- package/dist/8b8e0f0824743974b282.png +1 -0
- package/dist/8d551390d81e39130a3c.png +1 -0
- package/dist/9fc61b9479877ebdb6c7.png +1 -0
- package/dist/HASH +1 -1
- package/dist/a165d31dcb3dc90f1057.png +1 -0
- package/dist/a98d4a5698812c4426b3.png +1 -0
- package/dist/assets/img/caret.998eb8f.svg +1 -0
- package/dist/assets/img/done_green.b817fd4.svg +4 -0
- package/dist/assets/img/empty_1.0b98af0.svg +11 -0
- package/dist/assets/img/ghn.070f8e3.svg +17 -0
- package/dist/assets/img/ghtk.326eac1.svg +18 -0
- package/dist/assets/img/info.ebce7ea.svg +1 -0
- package/dist/assets/img/loader.37000a7.svg +1 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +5 -0
- package/dist/assets/img/package_fade.763c001.svg +1 -0
- package/dist/assets/img/search.f9705ff.svg +1 -0
- package/dist/assets/img/shop.f7dc7d8.svg +1 -0
- package/dist/assets/img/shop_faded.df7845a.svg +1 -0
- package/dist/assets/img/x.26fdfa3.svg +5 -0
- package/dist/c41606bf9d1b604e46d5.png +1 -0
- package/dist/ce1f7450ce6c1aacd330.png +1 -0
- package/dist/cf8c01e88f4770a6e3e5.png +1 -0
- package/dist/dfbcfeab1d5622a737e2.png +1 -0
- package/dist/e4893ed8c2f7b8329919.png +1 -0
- package/dist/ec2ab4eb4ef73d186186.png +1 -0
- package/dist/screenshoot.html +1 -1
- package/dist/screenshoot.js +211 -48
- package/index.html +3 -18
- package/order.html +32 -0
- package/package.json +14 -15
- package/src/bot.js +2 -1
- package/src/chatbox/DropdownSelect.js +229 -0
- package/src/chatbox/Event.js +2 -2
- package/src/chatbox/Events.js +43 -42
- package/src/chatbox/Order.js +232 -0
- package/src/chatbox/OrderAttachments.js +2 -1
- package/src/chatbox/TextMessage.js +21 -12
- package/src/chatbox/Widget.js +34 -4
- package/src/chatbox/main.js +2 -2
- package/src/chatbox/spinner.js +1 -1
- package/src/chatbox/time.js +1 -1
- package/src/common.js +52 -8
- package/src/contact/contact.js +1 -1
- package/src/order/address_picker.js +235 -0
- package/src/order/icon.js +32 -0
- package/src/order/index.js +86 -0
- package/src/order/order.js +1157 -0
- package/src/order/scratch +211 -0
- package/src/plugin.js +7 -52
- package/src/popup/popup.js +2 -2
- package/src/store/api.js +26 -1
- package/src/store/store.js +46 -9
- package/src/util/common.js +48 -2
- package/webpack.dev.js +2 -0
- package/dist/17d939953e0.178.js +0 -1
- package/dist/17d939953e0.213.js +0 -1
- package/dist/17d939953e0.362.js +0 -1
- package/dist/17d939953e0.441.js +0 -1
- package/dist/17d939953e0.605.js +0 -1
- package/dist/17d939953e0.619.js +0 -1
- package/dist/17d939953e0.678.js +0 -1
- package/dist/17d939953e0.74.js +0 -1
- package/dist/17d939953e0.782.js +0 -1
- package/dist/17d939953e0.app.js +0 -1
- package/dist/17d939953e0.library.js +0 -1
- package/dist/17d939953e0.preview.js +0 -1
- package/dist/17d939953e0.screenshoot.js +0 -1
- package/dist/619.js +0 -777
|
@@ -23,7 +23,7 @@ class Spinner extends _common.Com {
|
|
|
23
23
|
border-bottom-color: ${borderColor} !important;border-right-color: ${mainColor} !important;`;
|
|
24
24
|
|
|
25
25
|
if (this.props.static) {
|
|
26
|
-
let style = `width: ${size}px;height: ${size}px;`;
|
|
26
|
+
let style = `width: ${size}px !important;height: ${size}px !important;`;
|
|
27
27
|
if (size < 40) return (0, _preact.h)(LoaderIcon, {
|
|
28
28
|
size: size + '',
|
|
29
29
|
style: `stroke:${mainColor}`
|
package/compiled_src/common.js
CHANGED
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Com = exports.Clickaway = void 0;
|
|
7
|
+
exports.downloadLanguage = downloadLanguage;
|
|
8
|
+
exports.langMessages = exports.getLocale = void 0;
|
|
7
9
|
|
|
8
10
|
var _preact = require("preact");
|
|
9
11
|
|
|
@@ -64,4 +66,41 @@ class Clickaway extends Com {
|
|
|
64
66
|
|
|
65
67
|
}
|
|
66
68
|
|
|
67
|
-
exports.Clickaway = Clickaway;
|
|
69
|
+
exports.Clickaway = Clickaway;
|
|
70
|
+
|
|
71
|
+
const getLocale = (plugin, loc) => {
|
|
72
|
+
if (!loc) loc = '';
|
|
73
|
+
|
|
74
|
+
let found = _index.default.find(plugin.locales, l => l.toLowerCase().trim() === loc.toLowerCase().trim());
|
|
75
|
+
|
|
76
|
+
if (found) return found;
|
|
77
|
+
found = _index.default.find(plugin.locales, l => {
|
|
78
|
+
l = l.replace('-', '_').split('_')[0].trim().toLowerCase();
|
|
79
|
+
let compareloc = loc.replace('-', '_').split('_')[0].trim().toLowerCase();
|
|
80
|
+
return l == compareloc;
|
|
81
|
+
});
|
|
82
|
+
if (found) return found;
|
|
83
|
+
return plugin.locale || 'en-US';
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
exports.getLocale = getLocale;
|
|
87
|
+
let langMessages = {};
|
|
88
|
+
exports.langMessages = langMessages;
|
|
89
|
+
let downloadLock = false;
|
|
90
|
+
|
|
91
|
+
function downloadLanguage(store, locale, force) {
|
|
92
|
+
if (downloadLock) return new Promise(resolve => setTimeout(() => downloadLanguage(store, locale, force).then(resolve), 100));
|
|
93
|
+
downloadLock = true;
|
|
94
|
+
let messages;
|
|
95
|
+
|
|
96
|
+
if (locale === 'debug' || langMessages[locale] && !force) {
|
|
97
|
+
downloadLock = false;
|
|
98
|
+
return Promise.resolve();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return store.getLocaleContent(locale).then(res => {
|
|
102
|
+
downloadLock = false;
|
|
103
|
+
messages = _index.default.get(res, 'body.messages', []);
|
|
104
|
+
langMessages[locale] = messages;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
@@ -12,8 +12,6 @@ var _preact = require("preact");
|
|
|
12
12
|
|
|
13
13
|
var _common = require("../common.js");
|
|
14
14
|
|
|
15
|
-
var _jsApiLoader = require("@googlemaps/js-api-loader");
|
|
16
|
-
|
|
17
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
16
|
|
|
19
17
|
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; }
|
|
@@ -44,7 +42,7 @@ class Contact extends _common.Com {
|
|
|
44
42
|
map_initialized: true,
|
|
45
43
|
map_loading: true
|
|
46
44
|
});
|
|
47
|
-
await new
|
|
45
|
+
await new Loader({
|
|
48
46
|
apiKey: 'YOUR_API_KEY',
|
|
49
47
|
version: 'weekly'
|
|
50
48
|
}).load();
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
9
|
+
|
|
10
|
+
var _common = require("../common.js");
|
|
11
|
+
|
|
12
|
+
var _preact = require("preact");
|
|
13
|
+
|
|
14
|
+
var _spinner = _interopRequireDefault(require("../chatbox/spinner.js"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
class AddressPicker extends _common.Com {
|
|
21
|
+
constructor(props) {
|
|
22
|
+
super(props);
|
|
23
|
+
|
|
24
|
+
_defineProperty(this, "state", {
|
|
25
|
+
show: false,
|
|
26
|
+
searchValue: '',
|
|
27
|
+
addresses: []
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
_defineProperty(this, "filterRef", (0, _preact.createRef)());
|
|
31
|
+
|
|
32
|
+
_defineProperty(this, "overlayRef", (0, _preact.createRef)());
|
|
33
|
+
|
|
34
|
+
_defineProperty(this, "onTouchMove", e => {
|
|
35
|
+
if (e.target === this.overlayRef.current) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
e.stopPropagation();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
_defineProperty(this, "hideDropdown", () => {
|
|
42
|
+
this.setState({
|
|
43
|
+
show: false,
|
|
44
|
+
searchValue: ''
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
_defineProperty(this, "onKeydown", e => {
|
|
49
|
+
if (e.key === 'Escape') {
|
|
50
|
+
if (!this.state.show) return;
|
|
51
|
+
if (this.state.searchValue) this.setState({
|
|
52
|
+
searchValue: ''
|
|
53
|
+
});else this.hideDropdown();
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
e.stopPropagation();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (e.key == 'Enter') {}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
_defineProperty(this, "doSearch", _index.default.throttle(async () => {
|
|
62
|
+
let requestId = Date.now();
|
|
63
|
+
this.requestId = requestId;
|
|
64
|
+
let res = await this.props.store.suggest_addresses(this.state.searchValue);
|
|
65
|
+
if (this.requestId !== requestId) return;
|
|
66
|
+
this.setState({
|
|
67
|
+
addresses: _index.default.get(res, 'body.addresses', [])
|
|
68
|
+
});
|
|
69
|
+
}, 100));
|
|
70
|
+
|
|
71
|
+
_defineProperty(this, "onChangeSearchValue", e => {
|
|
72
|
+
this.setState({
|
|
73
|
+
searchValue: e.target.value
|
|
74
|
+
});
|
|
75
|
+
this.props.onChangeAddress(e.target.value);
|
|
76
|
+
this.doSearch();
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
_defineProperty(this, "toogleDropdown", async () => {
|
|
80
|
+
await this.setState({
|
|
81
|
+
show: true,
|
|
82
|
+
searchValue: this.props.initAddress || ''
|
|
83
|
+
});
|
|
84
|
+
this.focusFilter();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
_defineProperty(this, "onSelect", item => {
|
|
88
|
+
this.props.onSelect(item);
|
|
89
|
+
this.hideDropdown();
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
_defineProperty(this, "onBackgroundScroll", e => {
|
|
93
|
+
console.log('EEEEEEE', e);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
document.addEventListener('touchmove', function (e) {});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
componentDidMount() {
|
|
100
|
+
window.addEventListener('keydown', this.onKeydown);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
componentWillUnmount() {
|
|
104
|
+
window.removeEventListener('keydown', this.onKeydown);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
renderEmpty() {
|
|
108
|
+
return (0, _preact.h)("div", {
|
|
109
|
+
class: "dropdown_select_filter__empty"
|
|
110
|
+
}, (0, _preact.h)("img", {
|
|
111
|
+
class: "dropdown_select_filter__empty_img",
|
|
112
|
+
src: require('../../assets/img/not_found_search.png')
|
|
113
|
+
}), (0, _preact.h)("div", {
|
|
114
|
+
class: "muted",
|
|
115
|
+
style: "text-align: center !important;"
|
|
116
|
+
}, "Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3"));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
renderLoading() {
|
|
120
|
+
return (0, _preact.h)("div", {
|
|
121
|
+
class: "dropdown_select_filter__empty pt-3"
|
|
122
|
+
}, (0, _preact.h)(_spinner.default, {
|
|
123
|
+
size: "40",
|
|
124
|
+
static: true
|
|
125
|
+
}), (0, _preact.h)("div", {
|
|
126
|
+
class: "muted mt-2",
|
|
127
|
+
style: "text-align: center !important;"
|
|
128
|
+
}, "\u0110ang t\u1EA3i d\u1EEF li\u1EC7u"));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
focusFilter() {
|
|
132
|
+
if (!this.filterRef.current) return;
|
|
133
|
+
this.filterRef.current.focus();
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
if (!this.filterRef.current) return;
|
|
136
|
+
this.filterRef.current.focus();
|
|
137
|
+
}, 100);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
renderDropdown() {
|
|
141
|
+
if (!this.state.show) return null;
|
|
142
|
+
|
|
143
|
+
let $items = _index.default.map(this.state.addresses, (addr, i) => {
|
|
144
|
+
let label = [((addr.address || '') + ' ' + normalize(addr.street)).trim()].join(', ');
|
|
145
|
+
let desc = [normalize(addr.ward), normalize(addr.district), normalize(addr.province)].join(', ');
|
|
146
|
+
return (0, _preact.h)("div", {
|
|
147
|
+
class: "dropdown_select__item",
|
|
148
|
+
onClick: _ => this.onSelect(addr),
|
|
149
|
+
key: i
|
|
150
|
+
}, (0, _preact.h)("div", null, (0, _preact.h)("b", null, label)), (0, _preact.h)("div", {
|
|
151
|
+
style: "opacity: 0.7 !important;"
|
|
152
|
+
}, desc));
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
let $filter = null;
|
|
156
|
+
let $img = (0, _preact.h)("img", {
|
|
157
|
+
class: "dropdown_select_filter__icon",
|
|
158
|
+
src: require('../../assets/img/search.svg')
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
if (this.props.loading) {
|
|
162
|
+
$img = (0, _preact.h)("img", {
|
|
163
|
+
class: "dropdown_select_filter__icon",
|
|
164
|
+
src: require('../../assets/img/loader.svg')
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
$filter = (0, _preact.h)("div", {
|
|
169
|
+
class: "dropdown_select_filter"
|
|
170
|
+
}, $img, (0, _preact.h)("input", {
|
|
171
|
+
ref: this.filterRef,
|
|
172
|
+
value: this.state.searchValue,
|
|
173
|
+
onInput: this.onChangeSearchValue,
|
|
174
|
+
type: "text",
|
|
175
|
+
class: "dropdown_select_filter_input "
|
|
176
|
+
}));
|
|
177
|
+
if ($items.length == 0) $items = this.renderEmpty();
|
|
178
|
+
if (this.props.loading) $items = this.renderLoading();
|
|
179
|
+
let style = `width: ${this.props.width || '150px'} !important;`;
|
|
180
|
+
|
|
181
|
+
if (this.props.full) {
|
|
182
|
+
style = ` top: 20px !important; left: 20px !important; right: 20px !important; width: unset !important; `;
|
|
183
|
+
return (0, _preact.h)("div", {
|
|
184
|
+
class: "dropdown_select__overlay",
|
|
185
|
+
ref: this.overlayRef,
|
|
186
|
+
onClick: this.hideDropdown,
|
|
187
|
+
onTouchMove: this.onTouchMove
|
|
188
|
+
}, (0, _preact.h)("div", {
|
|
189
|
+
class: "dropdown_select",
|
|
190
|
+
style: style,
|
|
191
|
+
onClick: e => {
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
e.stopPropagation();
|
|
194
|
+
}
|
|
195
|
+
}, $filter, (0, _preact.h)("div", {
|
|
196
|
+
class: "dropdown_select__items"
|
|
197
|
+
}, $items)));
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return (0, _preact.h)("div", {
|
|
201
|
+
class: "dropdown_select",
|
|
202
|
+
style: style
|
|
203
|
+
}, $filter, (0, _preact.h)("div", {
|
|
204
|
+
class: "dropdown_select__items"
|
|
205
|
+
}, $items));
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
render() {
|
|
209
|
+
let $name = (0, _preact.h)("div", {
|
|
210
|
+
class: "text-truncate",
|
|
211
|
+
style: "flex: 1 !important;"
|
|
212
|
+
}, this.props.initAddress);
|
|
213
|
+
let style = 'position: relative !important;';
|
|
214
|
+
|
|
215
|
+
if (this.props.full) {
|
|
216
|
+
style = '';
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return (0, _preact.h)("div", {
|
|
220
|
+
style: style
|
|
221
|
+
}, (0, _preact.h)(_common.Clickaway, {
|
|
222
|
+
onClickaway: this.hideDropdown
|
|
223
|
+
}, (0, _preact.h)("div", {
|
|
224
|
+
type: "text",
|
|
225
|
+
class: 'dropdown_select_input ' + this.props.extra_cls,
|
|
226
|
+
onClick: this.toogleDropdown
|
|
227
|
+
}, $name), this.renderDropdown()));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
exports.default = AddressPicker;
|
|
233
|
+
|
|
234
|
+
function normalize(s) {
|
|
235
|
+
let ls = (s + '').toLowerCase();
|
|
236
|
+
if (ls.startsWith('tp ')) return s.substr(3);
|
|
237
|
+
if (ls.startsWith('thanh pho ')) return s.substr('thanh pho '.length);
|
|
238
|
+
if (ls.startsWith('thành phố ')) return s.substr('thành phố '.length);
|
|
239
|
+
if (ls.startsWith('tỉnh ')) return s.substr('tỉnh '.length);
|
|
240
|
+
if (ls.startsWith('huyện ')) return s.substr('huyện '.length);
|
|
241
|
+
if (ls.startsWith('tỉnh ')) return s.substr('tỉnh '.length);
|
|
242
|
+
if (ls.startsWith('xã ')) return s.substr('xã '.length);
|
|
243
|
+
if (ls.startsWith('thị trấn ')) return s.substr('thị trấn '.length);
|
|
244
|
+
if (ls.startsWith('thị xã ')) return s.substr('thị xã '.length);
|
|
245
|
+
if (ls.startsWith('đường ') && (s[7] < '0' || s[7] > '9')) return s.substr('đường '.length);
|
|
246
|
+
if (ls.startsWith('phường ') && (s[7] < '0' || s[7] > '9')) return s.substr('phường '.length);
|
|
247
|
+
if (ls.startsWith('quận ') && (s[7] < '0' || s[7] > '9')) return s.substr('quận '.length);
|
|
248
|
+
return s;
|
|
249
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
9
|
+
|
|
10
|
+
var _time = _interopRequireDefault(require("../chatbox/time.js"));
|
|
11
|
+
|
|
12
|
+
var common = _interopRequireWildcard(require("../common.js"));
|
|
13
|
+
|
|
14
|
+
var _DropdownSelect = _interopRequireDefault(require("../chatbox/DropdownSelect.js"));
|
|
15
|
+
|
|
16
|
+
var _preact = require("preact");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
let promiseMainCSS = (() => Promise.resolve().then(() => _interopRequireWildcard(require('../chatbox/css.js'))))();
|
|
25
|
+
|
|
26
|
+
var $link = document.createElement('link');
|
|
27
|
+
$link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
|
|
28
|
+
$link.rel = 'stylesheet';
|
|
29
|
+
document.head.append($link);
|
|
30
|
+
|
|
31
|
+
_index.default.preloadWebfonts(['Roboto'], [400, 500]);
|
|
32
|
+
|
|
33
|
+
let defaultAvatar = require('../../assets/img/default_avatar.png');
|
|
34
|
+
|
|
35
|
+
class Icon extends common.Com {
|
|
36
|
+
render() {
|
|
37
|
+
if (this.props.name == 'package') {
|
|
38
|
+
if (this.props.active) return (0, _preact.h)("img", {
|
|
39
|
+
style: "width: 18px !important;",
|
|
40
|
+
src: require('../../assets/img/package.svg')
|
|
41
|
+
});
|
|
42
|
+
return (0, _preact.h)("img", {
|
|
43
|
+
style: "width: 18px !important;",
|
|
44
|
+
src: require('../../assets/img/package_fade.svg')
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (this.props.name === 'shop') {
|
|
49
|
+
if (this.props.active) return (0, _preact.h)("img", {
|
|
50
|
+
style: "width: 18px !important;",
|
|
51
|
+
src: require('../../assets/img/shop.svg')
|
|
52
|
+
});
|
|
53
|
+
return (0, _preact.h)("img", {
|
|
54
|
+
style: "width: 18px !important;",
|
|
55
|
+
src: require('../../assets/img/shop_faded.svg')
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.default = Icon;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _store = _interopRequireDefault(require("../store/store.js"));
|
|
4
|
+
|
|
5
|
+
var common = _interopRequireWildcard(require("../common.js"));
|
|
6
|
+
|
|
7
|
+
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
8
|
+
|
|
9
|
+
var _preact = require("preact");
|
|
10
|
+
|
|
11
|
+
var _order = _interopRequireDefault(require("./order.js"));
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
|
|
19
|
+
let promiseMainCSS = (() => Promise.resolve().then(() => _interopRequireWildcard(require('../chatbox/css.js'))))();
|
|
20
|
+
|
|
21
|
+
var config = require('../../config.js');
|
|
22
|
+
|
|
23
|
+
function findChatbox(store) {
|
|
24
|
+
var pluginM = store.matchPlugin();
|
|
25
|
+
|
|
26
|
+
let chatboxs = _index.default.filter(pluginM, plugin => plugin.type === 'chatbox');
|
|
27
|
+
|
|
28
|
+
if (_index.default.size(chatboxs) === 0) {
|
|
29
|
+
console.error('no chatbox found.');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return chatboxs[0];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function getUrlParameter(name) {
|
|
37
|
+
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
38
|
+
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
|
|
39
|
+
var results = regex.exec(location.search);
|
|
40
|
+
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var $link = document.createElement('link');
|
|
44
|
+
$link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
|
|
45
|
+
$link.rel = 'stylesheet';
|
|
46
|
+
document.head.append($link);
|
|
47
|
+
|
|
48
|
+
_index.default.preloadWebfonts(['Roboto'], [400, 500]);
|
|
49
|
+
|
|
50
|
+
async function load() {
|
|
51
|
+
let store = new _store.default(config.ApiURL, config.FileURL, config.RealtimeURL, true);
|
|
52
|
+
let signkey = getUrlParameter('x-signed-key');
|
|
53
|
+
let {
|
|
54
|
+
body,
|
|
55
|
+
error
|
|
56
|
+
} = await store.lookupOrder(signkey);
|
|
57
|
+
let order = body;
|
|
58
|
+
|
|
59
|
+
let accid = _index.default.get(order, 'ctx.credential.account_id');
|
|
60
|
+
|
|
61
|
+
let user_id = _index.default.get(order, 'ctx.credential.issuer');
|
|
62
|
+
|
|
63
|
+
let mask = accid + '@' + user_id;
|
|
64
|
+
await store.init(accid, mask);
|
|
65
|
+
window.store = store;
|
|
66
|
+
|
|
67
|
+
let t = key => {
|
|
68
|
+
if (_locale === 'debug') return `{{${key}}}`;
|
|
69
|
+
|
|
70
|
+
let messages = _index.default.get(common.langMessages, _locale, []);
|
|
71
|
+
|
|
72
|
+
let message = _index.default.find(messages, message => message.key === key);
|
|
73
|
+
|
|
74
|
+
return _index.default.get(message, 'message', key);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
let acc = store.matchAccount();
|
|
78
|
+
let plugin = findChatbox(store);
|
|
79
|
+
let css = (await promiseMainCSS).default.default.toString();
|
|
80
|
+
|
|
81
|
+
var outcss = _index.default.replaceCssVariable(css, plugin.chatbox);
|
|
82
|
+
|
|
83
|
+
let $cssStyleDiv = document.createElement('style');
|
|
84
|
+
document.head.appendChild($cssStyleDiv);
|
|
85
|
+
$cssStyleDiv.type = 'text/css';
|
|
86
|
+
$cssStyleDiv.id = 'subiz-style-for-order';
|
|
87
|
+
|
|
88
|
+
_index.default.setCss('order', $cssStyleDiv, outcss);
|
|
89
|
+
|
|
90
|
+
let _locale = plugin.locale || acc.locale || 'vi-VN';
|
|
91
|
+
|
|
92
|
+
t.i18n = i18nText => {
|
|
93
|
+
if (!i18nText) return '';
|
|
94
|
+
let fallbackLocale = plugin.locale || acc.locale || 'vi-VN';
|
|
95
|
+
fallbackLocale = fallbackLocale.replace('-', '_');
|
|
96
|
+
|
|
97
|
+
let locale = _locale.replace('-', '_');
|
|
98
|
+
|
|
99
|
+
return i18nText[locale] || i18nText[fallbackLocale];
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
t.locale = () => _locale;
|
|
103
|
+
|
|
104
|
+
common.downloadLanguage(store, _locale).then(() => {
|
|
105
|
+
(0, _preact.render)((0, _preact.h)(_order.default, {
|
|
106
|
+
store: store,
|
|
107
|
+
t: t,
|
|
108
|
+
order_id: order.id
|
|
109
|
+
}), document.getElementById('order'));
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
load();
|