crmbonus-component-wake 2.1.31-ngrok → 2.1.33-ngrok

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 (62) hide show
  1. package/dist/cjs/{build.payload.helper-b93f7ea5.js → build.payload.helper-cfd3173e.js} +4 -1
  2. package/dist/cjs/build.payload.helper-cfd3173e.js.map +1 -0
  3. package/dist/cjs/crm-bonus-2.cjs.entry.js +6 -257
  4. package/dist/cjs/crm-bonus-2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/crm-bonus-note.cjs.entry.js +1 -1
  6. package/dist/cjs/crm-bonus.cjs.entry.js +257 -6
  7. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
  8. package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/components/crm-bonus/crm-bonus.js +1 -1
  11. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  12. package/dist/collection/components/crm-bonus/crmbonus.js +2 -2
  13. package/dist/collection/components/crm-bonus/crmbonus.js.map +1 -1
  14. package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
  15. package/dist/collection/helpers/build.payload.helper.js +3 -0
  16. package/dist/collection/helpers/build.payload.helper.js.map +1 -1
  17. package/dist/components/crm-bonus-2.js +10 -332
  18. package/dist/components/crm-bonus-2.js.map +1 -1
  19. package/dist/components/crm-bonus-note.js +2 -2
  20. package/dist/components/crm-bonus.js +332 -10
  21. package/dist/components/crm-bonus.js.map +1 -1
  22. package/dist/components/crm-giftback-form.js +1 -1
  23. package/dist/components/giftback-info.js +1 -1
  24. package/dist/components/{p-fedabc25.js → p-028f43a1.js} +2 -2
  25. package/dist/components/{p-fedabc25.js.map → p-028f43a1.js.map} +1 -1
  26. package/dist/components/{p-78fbe33d.js → p-0bb6b0e5.js} +3 -3
  27. package/dist/components/{p-78fbe33d.js.map → p-0bb6b0e5.js.map} +1 -1
  28. package/dist/components/{p-4c7e066c.js → p-b0ef2c0b.js} +4 -1
  29. package/dist/components/p-b0ef2c0b.js.map +1 -0
  30. package/dist/components/{p-0a5e4aca.js → p-c90ea2e9.js} +57 -57
  31. package/dist/components/p-c90ea2e9.js.map +1 -0
  32. package/dist/components/pedido-finalizado.js +1 -1
  33. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  34. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  35. package/dist/crmbonus-component-wake/{p-3e87e176.entry.js → p-22dc17d2.entry.js} +2 -2
  36. package/dist/crmbonus-component-wake/{p-b928333a.entry.js → p-4ed412c2.entry.js} +2 -2
  37. package/dist/crmbonus-component-wake/p-4ed412c2.entry.js.map +1 -0
  38. package/dist/crmbonus-component-wake/{p-c54d706c.entry.js → p-7d608b81.entry.js} +2 -2
  39. package/dist/crmbonus-component-wake/p-7d608b81.entry.js.map +1 -0
  40. package/dist/crmbonus-component-wake/p-b0ef2c0b.js +2 -0
  41. package/dist/crmbonus-component-wake/p-b0ef2c0b.js.map +1 -0
  42. package/dist/esm/{build.payload.helper-caf0a82b.js → build.payload.helper-699a48ca.js} +4 -1
  43. package/dist/esm/build.payload.helper-699a48ca.js.map +1 -0
  44. package/dist/esm/crm-bonus-2.entry.js +7 -258
  45. package/dist/esm/crm-bonus-2.entry.js.map +1 -1
  46. package/dist/esm/crm-bonus-note.entry.js +1 -1
  47. package/dist/esm/crm-bonus.entry.js +258 -7
  48. package/dist/esm/crm-bonus.entry.js.map +1 -1
  49. package/dist/esm/crmbonus-component-wake.js +1 -1
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/types/components.d.ts +4 -4
  52. package/dist/types/dto/validate.pin.bonus.d.ts +1 -0
  53. package/package.json +1 -1
  54. package/dist/cjs/build.payload.helper-b93f7ea5.js.map +0 -1
  55. package/dist/components/p-0a5e4aca.js.map +0 -1
  56. package/dist/components/p-4c7e066c.js.map +0 -1
  57. package/dist/crmbonus-component-wake/p-4c7e066c.js +0 -2
  58. package/dist/crmbonus-component-wake/p-4c7e066c.js.map +0 -1
  59. package/dist/crmbonus-component-wake/p-b928333a.entry.js.map +0 -1
  60. package/dist/crmbonus-component-wake/p-c54d706c.entry.js.map +0 -1
  61. package/dist/esm/build.payload.helper-caf0a82b.js.map +0 -1
  62. /package/dist/crmbonus-component-wake/{p-3e87e176.entry.js.map → p-22dc17d2.entry.js.map} +0 -0
@@ -1,5 +1,7 @@
1
1
  import { r as registerInstance, h } from './index-bdb70d5a.js';
2
- import { g as getCart } from './cart.helper-7101c047.js';
2
+ import { a as CrmBonusService, U as USED_KEY, g as getCart, b as getInfoBonusByCartIdAndStoreName, C as CartWake } from './cart.helper-7101c047.js';
3
+ import { d as defaultStyles, S as StepFormEnum, i as instance } from './i18n-7938fb86.js';
4
+ import { b as buildProductsByWake } from './build.payload.helper-699a48ca.js';
3
5
 
4
6
  const crmBonusCss = ".container-button{cursor:pointer;padding:5px 5px 5px 14px;}.section-crm{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm{margin-top:10px}.section-cart-crm p{padding:0;margin:0px 0px 0px 15px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;cursor:pointer;margin-left:10px;height:70px}.form-container{width:97%;display:flex;justify-content:space-around}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container .btnCrm{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert{color:#df4d4d;margin-top:5px}";
5
7
  const CrmBonusStyle0 = crmBonusCss;
@@ -7,18 +9,267 @@ const CrmBonusStyle0 = crmBonusCss;
7
9
  const CrmBonus = class {
8
10
  constructor(hostRef) {
9
11
  registerInstance(this, hostRef);
10
- this.loading = false;
12
+ this.crmBonusService = CrmBonusService.getInstance();
13
+ this.cart = undefined;
14
+ this.canhidden = false;
15
+ this.showModal = false;
11
16
  this.cartWake = undefined;
17
+ this.customer = {
18
+ birthDate: "",
19
+ document: "",
20
+ name: "",
21
+ phone: ""
22
+ };
23
+ this.loading = false;
24
+ this.message = undefined;
25
+ this.phone = undefined;
26
+ this.canCancel = false;
27
+ this.amountCancel = undefined;
28
+ this.sent = undefined;
29
+ this.session = undefined;
30
+ this.loading_reprocess = false;
31
+ this.styles = defaultStyles;
32
+ this.reservedInfo = undefined;
33
+ }
34
+ async resetBonus() {
35
+ console.log('[START RESET BONUS]!!!!!');
36
+ try {
37
+ await this.crmBonusRef.processBonus(this.buildProducts(), true);
38
+ console.log('[BONUS RESETADO]!!!!!');
39
+ }
40
+ catch (err) {
41
+ this.loading = false;
42
+ console.log('[error ao reprocessar bonous]');
43
+ await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);
44
+ }
45
+ finally {
46
+ this.loading = false;
47
+ }
48
+ }
49
+ async setloading() {
50
+ this.loading_reprocess = !this.loading_reprocess;
51
+ }
52
+ async reprocess() {
53
+ console.log("[CRMBONUS] - reprocess");
54
+ this.loading_reprocess = true;
55
+ try {
56
+ const isUse = localStorage.getItem(USED_KEY);
57
+ if (!isUse)
58
+ return;
59
+ this.cartWake = await getCart();
60
+ await this.resetBonus();
61
+ }
62
+ catch (err) {
63
+ console.debug('[watchProducts]', err.message);
64
+ }
65
+ finally {
66
+ this.loading_reprocess = false;
67
+ }
68
+ }
69
+ async componentWillLoad() {
70
+ window.addEventListener('productRemovedFromCart', async () => {
71
+ console.log('[CRMBONUS] - productRemovedFromCart');
72
+ await this.reprocess();
73
+ });
74
+ window.addEventListener('productAddedToCart', async () => {
75
+ console.log('[CRMBONUS] - productAddedToCart');
76
+ await this.reprocess();
77
+ });
78
+ document.querySelectorAll('form').forEach((el) => {
79
+ el.addEventListener("submit", () => {
80
+ console.log("[CRMBONUS] - Formulário está sendo submetido!");
81
+ // você pode marcar como "em submissão" aqui
82
+ setTimeout(async () => {
83
+ await this.reprocess();
84
+ });
85
+ });
86
+ });
87
+ await this.observerHandle();
88
+ instance.changeLanguage(instance.language);
89
+ await this.loadSession();
90
+ this.handleLoad();
91
+ await this.loadConfigStore();
12
92
  }
13
93
  async componentDidLoad() {
14
- await this.loadCheckout();
94
+ console.log('[did load]');
95
+ }
96
+ async observerHandle() {
97
+ const elements = document.getElementsByTagName('a');
98
+ //@ts-ignore
99
+ for (let el of elements) {
100
+ console.log('[el.href]', el.href);
101
+ if (el.href.includes('Produto/Delete')) {
102
+ el.addEventListener('click', async () => {
103
+ console.log('[CRMBONUS] - Produto removido do carrinho');
104
+ setTimeout(async () => {
105
+ await this.reprocess();
106
+ this.observerHandle();
107
+ }, 2000);
108
+ });
109
+ }
110
+ if (el.href.includes('Produto/Add')) {
111
+ el.addEventListener('click', async () => {
112
+ console.log('[CRMBONUS] - Produto adicionado ao carrinho');
113
+ setTimeout(async () => {
114
+ await this.reprocess();
115
+ this.observerHandle();
116
+ }, 2000);
117
+ });
118
+ }
119
+ }
120
+ }
121
+ async loadConfigStore() {
122
+ const [customization, infoBonus] = await Promise.all([
123
+ this.crmBonusService.getCustomization(this.cartWake.store.name),
124
+ getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name)
125
+ ]);
126
+ console.log('[infoBonus]', infoBonus);
127
+ this.reservedInfo = infoBonus;
128
+ if (customization.keepStoreFrontStyle) {
129
+ console.log('[bc:usar estilo da loja]');
130
+ this.styles = null;
131
+ }
132
+ }
133
+ async fetchCustomer(userId, storeName) {
134
+ try {
135
+ return await this.crmBonusService.getCustomer(userId, storeName);
136
+ }
137
+ catch (error) {
138
+ console.error('[fetchCustomer] Error fetching customer:', error);
139
+ return null;
140
+ }
141
+ }
142
+ async handleLoad() {
143
+ try {
144
+ if (this.cartWake.user.id) {
145
+ this.fetchCustomer(this.cartWake.user.id, this.cartWake.store.name).then((customer) => {
146
+ console.log('[bc:loading customer]');
147
+ if (customer) {
148
+ this.customer = customer;
149
+ console.log('customer', this.customer);
150
+ }
151
+ });
152
+ }
153
+ const amount = localStorage.getItem(this.cartWake.id);
154
+ if (amount) {
155
+ this.canCancel = true;
156
+ this.amountCancel = amount;
157
+ }
158
+ await this.buildAndGetProducts(this.cartWake.products);
159
+ }
160
+ catch (error) {
161
+ console.log('info customer');
162
+ }
163
+ }
164
+ async loadSession() {
165
+ this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();
166
+ console.log('[bc:carregou carrinho]');
167
+ this.session = await this.crmBonusService.getToken(this.cartWake.store.name);
168
+ console.log('[bc:carregou session]');
169
+ setTimeout(() => {
170
+ this.loadSession();
171
+ }, 1500000);
172
+ }
173
+ async buildAndGetProducts(productsWake) {
174
+ console.log();
175
+ const key = `bc-products:${this.cartWake.id}`;
176
+ const productsString = JSON.stringify(productsWake);
177
+ localStorage.setItem(key, productsString);
178
+ const products_in_cache = JSON.parse(localStorage.getItem(key));
179
+ const products = [];
180
+ for (const product_cart of productsWake) {
181
+ const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId);
182
+ //const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === "Formula")
183
+ if (pro) {
184
+ products.push(Object.assign(Object.assign({}, product_cart), { PrecoPor: pro.PrecoPor, PrecoDe: pro.PrecoDe, Quantidade: pro.Quantidade, Ajustes: pro.Ajustes }));
185
+ }
186
+ else {
187
+ products.push(product_cart);
188
+ }
189
+ }
190
+ this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);
191
+ }
192
+ async sendPin(phone) {
193
+ var _a, _b;
194
+ this.loading = true;
195
+ this.message = "";
196
+ try {
197
+ const _phone = phone.replace(/\D/g, '');
198
+ this.phone = Number(_phone);
199
+ this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
200
+ await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);
201
+ this.showModal = true;
202
+ }
203
+ catch (error) {
204
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
205
+ }
206
+ finally {
207
+ this.loading = false;
208
+ }
209
+ }
210
+ async sendPinName(customerName) {
211
+ var _a, _b;
212
+ this.loading = true;
213
+ this.message = "";
214
+ try {
215
+ this.customer.name = customerName;
216
+ this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
217
+ await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);
218
+ this.showModal = true;
219
+ }
220
+ catch (error) {
221
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
222
+ }
223
+ finally {
224
+ this.loading = false;
225
+ }
226
+ }
227
+ buildProducts() {
228
+ return buildProductsByWake(this.cartWake.products);
229
+ }
230
+ handleCloseModal() {
231
+ this.showModal = false;
232
+ }
233
+ save(amount) {
234
+ localStorage.setItem(this.cartWake.id, amount.toString());
235
+ this.canCancel = true;
236
+ this.amountCancel = amount.toString();
237
+ }
238
+ async cancel() {
239
+ this.message = "";
240
+ this.loading = true;
241
+ try {
242
+ await this.crmBonusService.cancel(this.cartWake.id);
243
+ this.canCancel = false;
244
+ localStorage.removeItem(this.cartWake.id);
245
+ }
246
+ catch (error) {
247
+ this.message = "Não consegui cancelar o bônus, tente novamente!";
248
+ }
249
+ finally {
250
+ this.loading = false;
251
+ }
15
252
  }
16
- async loadCheckout() {
17
- this.cartWake = await getCart();
253
+ async handleSendPin(phone) {
254
+ this.message = "";
255
+ if (!phone) {
256
+ this.message = "Informe seu telefone";
257
+ return;
258
+ }
259
+ this.customer.phone = phone;
260
+ const _phone = phone.replace(/\D/g, '');
261
+ this.phone = Number(_phone);
262
+ if (this.customer.name) {
263
+ return this.sendPin(phone);
264
+ }
265
+ await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);
266
+ this.showModal = true;
18
267
  }
19
268
  render() {
20
- console.log('this.cartWake', this.cartWake);
21
- return (h("div", { key: '160366af01c0d75173e38af9b31e415870b6f90f' }, h("loading-container", { key: '2da1fee71ed793c134f4191e05f961bfae4fc042', loading: this.loading }, h("h3", { key: '90f2c25ddf736df8ad27c65bc3cd270844f7f3c9' }, "CARREGANDO...")), this.cartWake && (h("div", { key: '2e2d8b3dec7c33dc4119baed54907372572c5287' }, this.cartWake.id))));
269
+ if (this.canhidden) {
270
+ return null;
271
+ }
272
+ return (h("loading-container", { loading: this.loading_reprocess }, h("crm-giftback-form", { customStyles: this.styles, style: { position: "relative" }, ref: ref => this.crmBonusRef = ref, storeName: this.cartWake.store.name, products: this.buildProducts(), cartId: this.cartWake.id, customer: this.customer, loadProducts: () => this.buildProducts(), loadAll: () => this.handleLoad(), reservedInfo: this.reservedInfo })));
22
273
  }
23
274
  static get assetsDirs() { return ["assets"]; }
24
275
  };
@@ -1 +1 @@
1
- {"file":"crm-bonus.entry.js","mappings":";;;AAAA,MAAM,WAAW,GAAG,o8BAAo8B,CAAC;AACz9B,uBAAe,WAAW;;MCUb,QAAQ;;;uBAEE,KAAK;;;IAIxB,MAAM,gBAAgB;QAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;KAC5B;IAED,MAAM,YAAY;QACd,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;KACnC;IAED,MAAM;QAEF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE3C,QACI,8DACI,0EAAmB,OAAO,EAAE,IAAI,CAAC,OAAO,IACpC,6EAAsB,CACN,EAEhB,IAAI,CAAC,QAAQ,KACT,8DACK,IAAI,CAAC,QAAQ,CAAC,EAAE,CACf,CACT,CAEH,EAET;KACJ;;;;;;;","names":[],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crmbonus.tsx"],"sourcesContent":["\r\n.container-button {\r\n /* max-width: 100%; */\r\n cursor: pointer;\r\n padding: 5px 5px 5px 14px;\r\n /* display: flex; */\r\n}\r\n\r\n/* padding: 0 15px 15px;\r\nborder: 1px solid #ddd;\r\nmargin-bottom: 20px; */\r\n\r\n.section-crm {\r\n border: 1px solid #dbd4d4;\r\n /* min-height: 50px; */\r\n text-align: -webkit-center;\r\n margin-bottom: 20px;\r\n}\r\n\r\n.section-cart-crm {\r\n margin-top: 10px;\r\n}\r\n\r\n.section-cart-crm p {\r\n padding: 0;\r\n margin: 0px 0px 0px 15px;\r\n}\r\n\r\n.button {\r\n top: 50%;\r\n background-color: #6c6c7e;\r\n color: #fff;\r\n border: none;\r\n /* border-radius: 10px; */\r\n padding: 15px;\r\n min-height: 30px;\r\n min-width: 120px;\r\n /* font-size: 20px; */\r\n cursor: pointer;\r\n margin-left: 10px;\r\n height: 70px;\r\n}\r\n\r\n.form-container {\r\n width: 97%;\r\n display: flex;\r\n justify-content: space-around;\r\n}\r\n\r\n\r\n.btn {\r\n display: inline-block;\r\n padding: 6px 12px;\r\n margin-bottom: 0;\r\n /* font-size: 14px; */\r\n font-weight: 400;\r\n line-height: 1.42857143;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n -ms-touch-action: manipulation;\r\n touch-action: manipulation;\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n background-image: none;\r\n border: 1px solid transparent;\r\n border-radius: 0px;\r\n}\r\n\r\n.form-container .btnCrm {\r\n background: #00162e;\r\n border-color: #00162e;\r\n width: 30%;\r\n color: #fff;\r\n}\r\n\r\n.message-alert {\r\n color: #df4d4d;\r\n margin-top: 5px;\r\n}","import { Component, h, State } from \"@stencil/core\";\r\nimport { CartWake } from \"../../objectvalues/cart.wake\";\r\nimport { getCart } from \"../../helpers/cart.helper\";\r\n\r\n@Component({\r\n tag: 'crm-bonus',\r\n styleUrl: 'crm-bonus.css',\r\n assetsDirs: ['assets'],\r\n // scoped: true\r\n shadow: true\r\n})\r\nexport class CrmBonus {\r\n\r\n @State() loading = false;\r\n\r\n @State() cartWake: CartWake;\r\n\r\n async componentDidLoad() {\r\n await this.loadCheckout()\r\n }\r\n\r\n async loadCheckout() {\r\n this.cartWake = await getCart();\r\n }\r\n\r\n render() {\r\n\r\n console.log('this.cartWake', this.cartWake)\r\n\r\n return (\r\n <div>\r\n <loading-container loading={this.loading}>\r\n <h3>CARREGANDO...</h3>\r\n </loading-container>\r\n {\r\n this.cartWake && (\r\n <div>\r\n {this.cartWake.id}\r\n </div>\r\n )\r\n }\r\n </div>\r\n\r\n )\r\n }\r\n}"],"version":3}
1
+ {"file":"crm-bonus.entry.js","mappings":"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","names":["i18next"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\r\n.container-button {\r\n /* max-width: 100%; */\r\n cursor: pointer;\r\n padding: 5px 5px 5px 14px;\r\n /* display: flex; */\r\n}\r\n\r\n/* padding: 0 15px 15px;\r\nborder: 1px solid #ddd;\r\nmargin-bottom: 20px; */\r\n\r\n.section-crm {\r\n border: 1px solid #dbd4d4;\r\n /* min-height: 50px; */\r\n text-align: -webkit-center;\r\n margin-bottom: 20px;\r\n}\r\n\r\n.section-cart-crm {\r\n margin-top: 10px;\r\n}\r\n\r\n.section-cart-crm p {\r\n padding: 0;\r\n margin: 0px 0px 0px 15px;\r\n}\r\n\r\n.button {\r\n top: 50%;\r\n background-color: #6c6c7e;\r\n color: #fff;\r\n border: none;\r\n /* border-radius: 10px; */\r\n padding: 15px;\r\n min-height: 30px;\r\n min-width: 120px;\r\n /* font-size: 20px; */\r\n cursor: pointer;\r\n margin-left: 10px;\r\n height: 70px;\r\n}\r\n\r\n.form-container {\r\n width: 97%;\r\n display: flex;\r\n justify-content: space-around;\r\n}\r\n\r\n\r\n.btn {\r\n display: inline-block;\r\n padding: 6px 12px;\r\n margin-bottom: 0;\r\n /* font-size: 14px; */\r\n font-weight: 400;\r\n line-height: 1.42857143;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n -ms-touch-action: manipulation;\r\n touch-action: manipulation;\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n background-image: none;\r\n border: 1px solid transparent;\r\n border-radius: 0px;\r\n}\r\n\r\n.form-container .btnCrm {\r\n background: #00162e;\r\n border-color: #00162e;\r\n width: 30%;\r\n color: #fff;\r\n}\r\n\r\n.message-alert {\r\n color: #df4d4d;\r\n margin-top: 5px;\r\n}","import { Component, Method, Prop, State, h } from '@stencil/core';\r\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\r\nimport { CrmBonusService } from '../../services/crmbonus.service';\r\nimport { IPinSent } from '../../components';\r\nimport { defaultStyles, StepFormEnum } from '../../contants';\r\n\r\nimport i18next from '../../i18n/i18n'\r\nimport { buildProductsByWake } from '../../helpers/build.payload.helper';\r\nimport { getCart, getInfoBonusByCartIdAndStoreName } from '../../helpers/cart.helper';\r\nimport { CartWake } from '../../objectvalues/cart.wake';\r\nimport { USED_KEY } from '../../utils/keys.storage';\r\nimport { ReservedInfoDTO } from '../../dto/reserved-info.dto';\r\n\r\n@Component({\r\n tag: 'crm-bonus',\r\n styleUrl: 'crm-bonus.css',\r\n assetsDirs: ['assets'],\r\n // scoped: true\r\n shadow: true\r\n})\r\nexport class CrmBonus {\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n private crmBonusRef: HTMLCrmGiftbackFormElement;\r\n\r\n @Prop() cart;\r\n @Prop() canhidden: boolean = false;\r\n\r\n @State() showModal: boolean = false;\r\n\r\n @State() cartWake: CartWake;\r\n\r\n @State() customer: ICustomer = {\r\n birthDate: \"\",\r\n document: \"\",\r\n name: \"\",\r\n phone: \"\"\r\n };\r\n\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: number;\r\n @State() canCancel: boolean = false;\r\n @State() amountCancel: string;\r\n @State() sent: IPinSent;\r\n\r\n @State() session: string;\r\n @State() loading_reprocess = false;\r\n @State() styles = defaultStyles;\r\n @State() reservedInfo: ReservedInfoDTO;\r\n\r\n @Method()\r\n async resetBonus() {\r\n console.log('[START RESET BONUS]!!!!!');\r\n\r\n try {\r\n await this.crmBonusRef.processBonus(this.buildProducts(), true);\r\n console.log('[BONUS RESETADO]!!!!!');\r\n } catch (err) {\r\n\r\n this.loading = false;\r\n console.log('[error ao reprocessar bonous]');\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n @Method()\r\n async setloading() {\r\n this.loading_reprocess = !this.loading_reprocess;\r\n }\r\n\r\n @Method()\r\n async reprocess() {\r\n console.log(\"[CRMBONUS] - reprocess\")\r\n this.loading_reprocess = true\r\n\r\n try {\r\n\r\n const isUse = localStorage.getItem(USED_KEY);\r\n\r\n if (!isUse) return;\r\n\r\n this.cartWake = await getCart();\r\n await this.resetBonus();\r\n } catch (err) {\r\n console.debug('[watchProducts]', err.message);\r\n } finally {\r\n this.loading_reprocess = false\r\n }\r\n }\r\n\r\n async componentWillLoad() {\r\n\r\n window.addEventListener('productRemovedFromCart', async () => {\r\n console.log('[CRMBONUS] - productRemovedFromCart');\r\n await this.reprocess()\r\n });\r\n\r\n window.addEventListener('productAddedToCart', async () => {\r\n console.log('[CRMBONUS] - productAddedToCart');\r\n await this.reprocess();\r\n });\r\n\r\n document.querySelectorAll('form').forEach((el) => {\r\n el.addEventListener(\"submit\", () => {\r\n console.log(\"[CRMBONUS] - Formulário está sendo submetido!\");\r\n // você pode marcar como \"em submissão\" aqui\r\n setTimeout(async () => {\r\n await this.reprocess();\r\n })\r\n });\r\n });\r\n\r\n await this.observerHandle();\r\n\r\n i18next.changeLanguage(i18next.language);\r\n\r\n await this.loadSession();\r\n\r\n this.handleLoad();\r\n await this.loadConfigStore()\r\n }\r\n\r\n async componentDidLoad() {\r\n console.log('[did load]');\r\n \r\n }\r\n\r\n private async observerHandle() {\r\n const elements = document.getElementsByTagName('a');\r\n\r\n //@ts-ignore\r\n for (let el of elements) {\r\n console.log('[el.href]', el.href);\r\n if (el.href.includes('Produto/Delete')) {\r\n el.addEventListener('click', async () => {\r\n console.log('[CRMBONUS] - Produto removido do carrinho');\r\n\r\n setTimeout(async () => {\r\n await this.reprocess();\r\n this.observerHandle();\r\n }, 2000);\r\n\r\n });\r\n }\r\n\r\n if (el.href.includes('Produto/Add')) {\r\n el.addEventListener('click', async () => {\r\n console.log('[CRMBONUS] - Produto adicionado ao carrinho');\r\n setTimeout(async () => {\r\n await this.reprocess();\r\n this.observerHandle();\r\n }, 2000);\r\n });\r\n }\r\n }\r\n }\r\n\r\n async loadConfigStore() {\r\n\r\n const [customization, infoBonus] = await Promise.all([\r\n this.crmBonusService.getCustomization(this.cartWake.store.name),\r\n getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name)\r\n ]);\r\n\r\n console.log('[infoBonus]', infoBonus);\r\n\r\n this.reservedInfo = infoBonus;\r\n\r\n if (customization.keepStoreFrontStyle) {\r\n console.log('[bc:usar estilo da loja]');\r\n this.styles = null;\r\n }\r\n }\r\n\r\n async fetchCustomer(userId: number, storeName: string) {\r\n try {\r\n return await this.crmBonusService.getCustomer(userId, storeName);\r\n } catch (error) {\r\n console.error('[fetchCustomer] Error fetching customer:', error);\r\n return null;\r\n }\r\n }\r\n\r\n async handleLoad() {\r\n try {\r\n if (this.cartWake.user.id) {\r\n this.fetchCustomer(this.cartWake.user.id, this.cartWake.store.name).then((customer) => {\r\n console.log('[bc:loading customer]');\r\n if (customer) {\r\n this.customer = customer;\r\n console.log('customer', this.customer);\r\n }\r\n });\r\n }\r\n\r\n const amount = localStorage.getItem(this.cartWake.id);\r\n\r\n if (amount) {\r\n this.canCancel = true;\r\n this.amountCancel = amount;\r\n }\r\n\r\n await this.buildAndGetProducts(this.cartWake.products);\r\n } catch (error) {\r\n console.log('info customer')\r\n }\r\n }\r\n\r\n async loadSession() {\r\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\r\n console.log('[bc:carregou carrinho]');\r\n\r\n this.session = await this.crmBonusService.getToken(this.cartWake.store.name);\r\n console.log('[bc:carregou session]');\r\n setTimeout(() => {\r\n this.loadSession()\r\n }, 1500000)\r\n }\r\n\r\n async buildAndGetProducts(productsWake: IProductWake[]) {\r\n console.log()\r\n\r\n const key = `bc-products:${this.cartWake.id}`;\r\n\r\n const productsString = JSON.stringify(productsWake)\r\n\r\n localStorage.setItem(key, productsString);\r\n\r\n const products_in_cache = JSON.parse(localStorage.getItem(key));\r\n\r\n const products: Array<IProductWake> = []\r\n\r\n for (const product_cart of productsWake) {\r\n\r\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\r\n\r\n //const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === \"Formula\")\r\n\r\n if (pro) {\r\n products.push({\r\n ...product_cart,\r\n PrecoPor: pro.PrecoPor,\r\n PrecoDe: pro.PrecoDe,\r\n Quantidade: pro.Quantidade,\r\n Ajustes: pro.Ajustes\r\n })\r\n } else {\r\n products.push(product_cart)\r\n }\r\n\r\n }\r\n\r\n this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\r\n\r\n }\r\n\r\n public async sendPin(phone: string) {\r\n this.loading = true;\r\n this.message = \"\";\r\n\r\n try {\r\n\r\n const _phone = phone.replace(/\\D/g, '');\r\n this.phone = Number(_phone);\r\n\r\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);;\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\r\n\r\n this.showModal = true;\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n public async sendPinName(customerName: string) {\r\n this.loading = true;\r\n this.message = \"\";\r\n\r\n try {\r\n this.customer.name = customerName;\r\n\r\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\r\n\r\n this.showModal = true;\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n buildProducts(): IProduct[] {\r\n return buildProductsByWake(this.cartWake.products);\r\n }\r\n\r\n handleCloseModal() {\r\n this.showModal = false;\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartWake.id, amount.toString());\r\n this.canCancel = true;\r\n this.amountCancel = amount.toString()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartWake.id);\r\n this.canCancel = false;\r\n\r\n localStorage.removeItem(this.cartWake.id);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.customer.phone = phone;\r\n const _phone = phone.replace(/\\D/g, '');\r\n this.phone = Number(_phone);\r\n\r\n if (this.customer.name) {\r\n return this.sendPin(phone)\r\n }\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\r\n this.showModal = true;\r\n }\r\n\r\n render() {\r\n\r\n if (this.canhidden) {\r\n return null;\r\n }\r\n\r\n return (\r\n <loading-container loading={this.loading_reprocess} >\r\n <crm-giftback-form\r\n customStyles={this.styles}\r\n style={{ position: \"relative\" }}\r\n ref={ref => this.crmBonusRef = ref}\r\n storeName={this.cartWake.store.name}\r\n products={this.buildProducts()}\r\n cartId={this.cartWake.id}\r\n customer={this.customer}\r\n loadProducts={() => this.buildProducts()}\r\n loadAll={() => this.handleLoad()}\r\n reservedInfo={this.reservedInfo}\r\n />\r\n </loading-container>\r\n )\r\n }\r\n}\r\n"],"version":3}
@@ -16,7 +16,7 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["crm-bonus-2",[[1,"crm-bonus-2",{"cart":[8],"canhidden":[4],"showModal":[32],"cartWake":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"styles":[32],"reservedInfo":[32],"resetBonus":[64],"setloading":[64],"reprocess":[64]}]]],["crm-bonus",[[1,"crm-bonus",{"loading":[32],"cartWake":[32]}]]],["crm-bonus-note",[[0,"crm-bonus-note",{"cart":[8],"cartWake":[32],"url":[32],"config":[32],"bonus":[32],"showEdit":[32],"styles":[32],"infoBonus":[32],"loading":[32],"info":[32]}]]],["app-modal",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["countdown-timer-v2",[[1,"countdown-timer-v2",{"downtime":[16],"reload":[4],"dates":[16],"seconds":[32],"minutes":[32]}]]],["crm-bonus-tray",[[0,"crm-bonus-tray"]]],["pedido-finalizado",[[0,"pedido-finalizado",{"cart":[8]}]]],["loading-container",[[4,"loading-container",{"loading":[4]}]]],["loading-spinner",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_2",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}],[0,"countdown-timer",{"downtime":[16],"dataCriacao":[1,"data-criacao"],"minutos":[2],"segundos":[2],"tempoRestante":[32]}]]],["crm-tooltip_5",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"cartId":[8,"cart-id"],"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"config":[16],"infoBonus":[16],"storeName":[1,"store-name"],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32],"sliderValuePosition":[32],"loadingTime":[32]},null,{"bonus":["changedBonus"]}],[0,"crm-tooltip",{"text":[1],"identity":[1]}],[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["crm-giftback-form",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"loadProducts":[16],"loadAll":[16],"customStyles":[8,"custom-styles"],"reservedInfo":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32],"loadingAllComponent":[32],"setStep":[64],"processBonus":[64]}]]]], options);
19
+ return bootstrapLazy([["crm-bonus",[[1,"crm-bonus",{"cart":[8],"canhidden":[4],"showModal":[32],"cartWake":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"styles":[32],"reservedInfo":[32],"resetBonus":[64],"setloading":[64],"reprocess":[64]}]]],["crm-bonus-2",[[1,"crm-bonus-2",{"loading":[32],"cartWake":[32]}]]],["crm-bonus-note",[[0,"crm-bonus-note",{"cart":[8],"cartWake":[32],"url":[32],"config":[32],"bonus":[32],"showEdit":[32],"styles":[32],"infoBonus":[32],"loading":[32],"info":[32]}]]],["app-modal",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["countdown-timer-v2",[[1,"countdown-timer-v2",{"downtime":[16],"reload":[4],"dates":[16],"seconds":[32],"minutes":[32]}]]],["crm-bonus-tray",[[0,"crm-bonus-tray"]]],["pedido-finalizado",[[0,"pedido-finalizado",{"cart":[8]}]]],["loading-container",[[4,"loading-container",{"loading":[4]}]]],["loading-spinner",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_2",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}],[0,"countdown-timer",{"downtime":[16],"dataCriacao":[1,"data-criacao"],"minutos":[2],"segundos":[2],"tempoRestante":[32]}]]],["crm-tooltip_5",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"cartId":[8,"cart-id"],"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"config":[16],"infoBonus":[16],"storeName":[1,"store-name"],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32],"sliderValuePosition":[32],"loadingTime":[32]},null,{"bonus":["changedBonus"]}],[0,"crm-tooltip",{"text":[1],"identity":[1]}],[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["crm-giftback-form",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"loadProducts":[16],"loadAll":[16],"customStyles":[8,"custom-styles"],"reservedInfo":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32],"loadingAllComponent":[32],"setStep":[64],"processBonus":[64]}]]]], options);
20
20
  });
21
21
 
22
22
  //# sourceMappingURL=crmbonus-component-wake.js.map
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["crm-bonus-2",[[1,"crm-bonus-2",{"cart":[8],"canhidden":[4],"showModal":[32],"cartWake":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"styles":[32],"reservedInfo":[32],"resetBonus":[64],"setloading":[64],"reprocess":[64]}]]],["crm-bonus",[[1,"crm-bonus",{"loading":[32],"cartWake":[32]}]]],["crm-bonus-note",[[0,"crm-bonus-note",{"cart":[8],"cartWake":[32],"url":[32],"config":[32],"bonus":[32],"showEdit":[32],"styles":[32],"infoBonus":[32],"loading":[32],"info":[32]}]]],["app-modal",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["countdown-timer-v2",[[1,"countdown-timer-v2",{"downtime":[16],"reload":[4],"dates":[16],"seconds":[32],"minutes":[32]}]]],["crm-bonus-tray",[[0,"crm-bonus-tray"]]],["pedido-finalizado",[[0,"pedido-finalizado",{"cart":[8]}]]],["loading-container",[[4,"loading-container",{"loading":[4]}]]],["loading-spinner",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_2",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}],[0,"countdown-timer",{"downtime":[16],"dataCriacao":[1,"data-criacao"],"minutos":[2],"segundos":[2],"tempoRestante":[32]}]]],["crm-tooltip_5",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"cartId":[8,"cart-id"],"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"config":[16],"infoBonus":[16],"storeName":[1,"store-name"],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32],"sliderValuePosition":[32],"loadingTime":[32]},null,{"bonus":["changedBonus"]}],[0,"crm-tooltip",{"text":[1],"identity":[1]}],[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["crm-giftback-form",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"loadProducts":[16],"loadAll":[16],"customStyles":[8,"custom-styles"],"reservedInfo":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32],"loadingAllComponent":[32],"setStep":[64],"processBonus":[64]}]]]], options);
8
+ return bootstrapLazy([["crm-bonus",[[1,"crm-bonus",{"cart":[8],"canhidden":[4],"showModal":[32],"cartWake":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"styles":[32],"reservedInfo":[32],"resetBonus":[64],"setloading":[64],"reprocess":[64]}]]],["crm-bonus-2",[[1,"crm-bonus-2",{"loading":[32],"cartWake":[32]}]]],["crm-bonus-note",[[0,"crm-bonus-note",{"cart":[8],"cartWake":[32],"url":[32],"config":[32],"bonus":[32],"showEdit":[32],"styles":[32],"infoBonus":[32],"loading":[32],"info":[32]}]]],["app-modal",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["countdown-timer-v2",[[1,"countdown-timer-v2",{"downtime":[16],"reload":[4],"dates":[16],"seconds":[32],"minutes":[32]}]]],["crm-bonus-tray",[[0,"crm-bonus-tray"]]],["pedido-finalizado",[[0,"pedido-finalizado",{"cart":[8]}]]],["loading-container",[[4,"loading-container",{"loading":[4]}]]],["loading-spinner",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_2",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}],[0,"countdown-timer",{"downtime":[16],"dataCriacao":[1,"data-criacao"],"minutos":[2],"segundos":[2],"tempoRestante":[32]}]]],["crm-tooltip_5",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"cartId":[8,"cart-id"],"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"config":[16],"infoBonus":[16],"storeName":[1,"store-name"],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32],"sliderValuePosition":[32],"loadingTime":[32]},null,{"bonus":["changedBonus"]}],[0,"crm-tooltip",{"text":[1],"identity":[1]}],[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["crm-giftback-form",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"loadProducts":[16],"loadAll":[16],"customStyles":[8,"custom-styles"],"reservedInfo":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32],"loadingAllComponent":[32],"setStep":[64],"processBonus":[64]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -32,14 +32,14 @@ export namespace Components {
32
32
  "reload": boolean;
33
33
  }
34
34
  interface CrmBonus {
35
- }
36
- interface CrmBonus2 {
37
35
  "canhidden": boolean;
38
36
  "cart": any;
39
37
  "reprocess": () => Promise<void>;
40
38
  "resetBonus": () => Promise<void>;
41
39
  "setloading": () => Promise<void>;
42
40
  }
41
+ interface CrmBonus2 {
42
+ }
43
43
  interface CrmBonusNote {
44
44
  "cart": any;
45
45
  }
@@ -263,11 +263,11 @@ declare namespace LocalJSX {
263
263
  "reload"?: boolean;
264
264
  }
265
265
  interface CrmBonus {
266
- }
267
- interface CrmBonus2 {
268
266
  "canhidden"?: boolean;
269
267
  "cart"?: any;
270
268
  }
269
+ interface CrmBonus2 {
270
+ }
271
271
  interface CrmBonusNote {
272
272
  "cart"?: any;
273
273
  }
@@ -5,6 +5,7 @@ export interface IProduct {
5
5
  originalValue: number;
6
6
  quantity: number;
7
7
  discount: number;
8
+ promotion_product: boolean;
8
9
  }
9
10
  export declare enum AjustesTipoEnum {
10
11
  P = "Promocao",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crmbonus-component-wake",
3
- "version": "2.1.31-ngrok",
3
+ "version": "2.1.33-ngrok",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"file":"build.payload.helper-b93f7ea5.js","mappings":";;AASA,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,iCAAc,CAAA;IACd,uCAAoB,CAAA;IACpB,yCAAsB,CAAA;IACtB,gCAAa,CAAA;AACjB,CAAC,EALW,eAAe,KAAf,eAAe;;SCPX,mBAAmB,CAAC,eAAoC,EAAE;IAEtE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAM,MAAM,EAAE,IAAI,YAAY,EAAG;QAC7B,IAAI,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;;QAGvC,IAAI,KAAK,IAAI,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,aAAa,IAAI,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,eAAe,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtC,QAAQ,CAAC,IAAI,CACT;YACI,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,aAAa;YAC5B,gBAAgB,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YACjD,QAAQ,EAAE,EAAE,CAAC,UAAU;YACvB,QAAQ,EAAE,KAAK,GAAG,eAAe,GAAG,KAAK,GAAG,eAAe;SAC9D,CACJ,CAAA;KACJ;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,UAAsB,EAAE;IAEzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAI,MAAM,QAAQ,IAAI,OAAO,EAAE;QAC3B,IAAG,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACpF,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC;SAC/B;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;","names":[],"sources":["src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts"],"sourcesContent":["export interface IProduct {\r\n productVariantId: string;\r\n sku: string;\r\n value: number;\r\n originalValue: number;\r\n quantity: number;\r\n discount: number;\r\n}\r\n\r\nexport enum AjustesTipoEnum {\r\n P = \"Promocao\",\r\n CC = \"ContaCorrente\",\r\n PP = \"PromocaoProduto\",\r\n F = \"Formula\"\r\n}\r\n\r\nexport interface IAjustes {\r\n Tipo: AjustesTipoEnum;\r\n Valor: number;\r\n}\r\n\r\nexport interface IUser {\r\n id: number;\r\n}\r\n\r\nexport interface IStore {\r\n name: string;\r\n}\r\n\r\nexport interface IProductWake {\r\n ProdutoVarianteId: number;\r\n SKU: string;\r\n PrecoPor: number;\r\n PrecoDe: number;\r\n Quantidade: number;\r\n Ajustes: IAjustes[];\r\n}\r\n\r\nexport interface ICustomer {\r\n birthDate: string;\r\n document: string;\r\n name: string;\r\n phone: string;\r\n}\r\n\r\nexport interface IProccesPinBonusDto {\r\n storeName: string;\r\n name: string;\r\n checkoutId: string;\r\n checkoutProducts: Array<IProduct>;\r\n storeId: string;\r\n userId: string;\r\n cellphone: number;\r\n pin: string;\r\n\r\n}\r\n\r\nexport interface IBonus {\r\n hasBonus: boolean;\r\n bonusBalance: number;\r\n totalBonus: number;\r\n minimumPurchase: number;\r\n bonusIds: string;\r\n firstValidityDate: string\r\n history: [\r\n {\r\n validityStart: string;\r\n validityEnd: string;\r\n value: number\r\n },\r\n {\r\n validityStart: string;\r\n validityEnd: string\r\n value: number\r\n }\r\n ]\r\n storeId: number;\r\n userId: number;\r\n cartId: string\r\n calculatedValue: number;\r\n totalValue: number\r\n}\r\n\r\n\r\nexport interface IReserveDTO {\r\n storeName: string;\r\n cartId: string;\r\n grossValue: number;\r\n redeemedBonus: number;\r\n ticket: string;\r\n storeId: string;\r\n userId: number;\r\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\r\n\r\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\r\n\r\n const products: Array<IProduct> = [];\r\n\r\n for ( const pw of productsWake ) {\r\n let discounts = getDiscount(pw.Ajustes)\r\n // let discounts_formula = getDiscountFormula(pw.Ajustes);\r\n\r\n var value = (pw.PrecoDe * pw.Quantidade);\r\n var originalValue = (pw.PrecoDe * pw.Quantidade);\r\n\r\n var discounts_value = (discounts * -1)\r\n\r\n products.push(\r\n {\r\n sku: pw.SKU,\r\n value: value,\r\n originalValue: originalValue,\r\n productVariantId: pw.ProdutoVarianteId.toString(),\r\n quantity: pw.Quantidade,\r\n discount: value < discounts_value ? value : discounts_value,\r\n }\r\n )\r\n }\r\n\r\n return products;\r\n}\r\n\r\nfunction getDiscount(ajustes: IAjustes[] = []) {\r\n \r\n let discounts = 0;\r\n \r\n for(const discount of ajustes) {\r\n if([AjustesTipoEnum.P, AjustesTipoEnum.CC, AjustesTipoEnum.PP].includes(discount.Tipo)) {\r\n discounts += discount.Valor;\r\n }\r\n }\r\n\r\n return discounts;\r\n}\r\n\r\n// function getDiscountFormula(ajustes: IAjustes[] = []) {\r\n \r\n// let discounts = 0;\r\n \r\n// for(const discount of ajustes) {\r\n// if([AjustesTipoEnum.F].includes(discount.Tipo)) {\r\n// discounts += (discount.Valor * -1);\r\n// }\r\n// }\r\n\r\n// return discounts;\r\n// }"],"version":3}