crmbonus-component-wake 2.1.34 → 2.1.36-homolog

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 (196) hide show
  1. package/dist/cjs/app-modal.cjs.entry.js +1 -1
  2. package/dist/cjs/{cart.helper-701ea6b2.js → cart.helper-abdd9916.js} +3 -3
  3. package/dist/cjs/{cart.helper-701ea6b2.js.map → cart.helper-abdd9916.js.map} +1 -1
  4. package/dist/cjs/container-empty.cjs.entry.js +19 -0
  5. package/dist/cjs/container-empty.cjs.entry.js.map +1 -0
  6. package/dist/cjs/countdown-timer_11.cjs.entry.js +979 -0
  7. package/dist/cjs/countdown-timer_11.cjs.entry.js.map +1 -0
  8. package/dist/cjs/crm-bonus-note.cjs.entry.js +44 -69
  9. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  10. package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
  11. package/dist/cjs/{i18n-1ce6cb94.js → info.config.helper-d4b1291b.js} +14 -1
  12. package/dist/cjs/info.config.helper-d4b1291b.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/pedido-finalizado.cjs.entry.js +2 -2
  15. package/dist/collection/collection-manifest.json +2 -3
  16. package/dist/collection/components/crm-bonus/crm-bonus.js +13 -15
  17. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  18. package/dist/collection/components/giftback-form/giftback-form.js +10 -12
  19. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  20. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +5 -5
  21. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  22. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  23. package/dist/collection/components/loading-container/container-empty.js +9 -0
  24. package/dist/collection/components/loading-container/container-empty.js.map +1 -0
  25. package/dist/collection/components/loading-container/loading-container.css +9 -2
  26. package/dist/collection/components/loading-container/loading-container.js +20 -1
  27. package/dist/collection/components/loading-container/loading-container.js.map +1 -1
  28. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  29. package/dist/collection/components/modal/app-modal.js +1 -1
  30. package/dist/collection/components/note/crm-bonus-note.js +26 -64
  31. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  32. package/dist/collection/components/pedido/pedido.js +1 -1
  33. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  34. package/dist/collection/components/tooltip/tooltip.js +1 -1
  35. package/dist/collection/utils/retry.utils.js +13 -0
  36. package/dist/collection/utils/retry.utils.js.map +1 -0
  37. package/dist/components/app-modal.js +1 -1
  38. package/dist/components/{crm-bonus-2.d.ts → container-empty.d.ts} +4 -4
  39. package/dist/components/container-empty.js +33 -0
  40. package/dist/components/container-empty.js.map +1 -0
  41. package/dist/components/crm-bonus-note.js +40 -64
  42. package/dist/components/crm-bonus-note.js.map +1 -1
  43. package/dist/components/crm-bonus.js +72 -26
  44. package/dist/components/crm-bonus.js.map +1 -1
  45. package/dist/components/crm-button.js +1 -1
  46. package/dist/components/crm-giftback-form.js +1 -1
  47. package/dist/components/crm-tooltip.js +1 -1
  48. package/dist/components/giftback-info.js +1 -1
  49. package/dist/components/loading-container.js +1 -1
  50. package/dist/components/loading-spinner.js +1 -1
  51. package/dist/components/{p-8fda6382.js → p-0a7ccd8c.js} +4 -4
  52. package/dist/components/{p-8fda6382.js.map → p-0a7ccd8c.js.map} +1 -1
  53. package/dist/components/{p-c5be72a0.js → p-2cece106.js} +6 -4
  54. package/dist/components/p-2cece106.js.map +1 -0
  55. package/dist/components/{p-f1823a52.js → p-786485b2.js} +2 -2
  56. package/dist/components/{p-f1823a52.js.map → p-786485b2.js.map} +1 -1
  57. package/dist/components/{p-890dc5d5.js → p-8274e2c4.js} +2 -2
  58. package/dist/components/{p-890dc5d5.js.map → p-8274e2c4.js.map} +1 -1
  59. package/dist/components/{p-ce77a841.js → p-9b5c07d8.js} +2 -2
  60. package/dist/components/{p-ce77a841.js.map → p-9b5c07d8.js.map} +1 -1
  61. package/dist/components/{p-e2a6a4cf.js → p-a7d4e578.js} +19 -21
  62. package/dist/components/p-a7d4e578.js.map +1 -0
  63. package/dist/components/{p-417b4f7f.js → p-bea5a5c2.js} +3 -3
  64. package/dist/components/{p-417b4f7f.js.map → p-bea5a5c2.js.map} +1 -1
  65. package/dist/components/{p-bc930dfe.js → p-c250687d.js} +2 -2
  66. package/dist/components/{p-bc930dfe.js.map → p-c250687d.js.map} +1 -1
  67. package/dist/components/{p-488a119c.js → p-d49313cb.js} +8 -8
  68. package/dist/components/{p-488a119c.js.map → p-d49313cb.js.map} +1 -1
  69. package/dist/components/{p-ee1c025b.js → p-e6863cf5.js} +5 -5
  70. package/dist/components/{p-ee1c025b.js.map → p-e6863cf5.js.map} +1 -1
  71. package/dist/components/pedido-finalizado.js +2 -2
  72. package/dist/components/phone-form.js +1 -1
  73. package/dist/components/phone-input-mask.js +1 -1
  74. package/dist/components/pin-form.js +1 -1
  75. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  76. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  77. package/dist/crmbonus-component-wake/p-1644deef.entry.js +2 -0
  78. package/dist/crmbonus-component-wake/p-1644deef.entry.js.map +1 -0
  79. package/dist/crmbonus-component-wake/p-4bfd518e.entry.js +2 -0
  80. package/dist/crmbonus-component-wake/p-4bfd518e.entry.js.map +1 -0
  81. package/dist/crmbonus-component-wake/p-5d014ac9.entry.js +2 -0
  82. package/dist/crmbonus-component-wake/p-5d014ac9.entry.js.map +1 -0
  83. package/dist/crmbonus-component-wake/p-622d5644.entry.js +2 -0
  84. package/dist/crmbonus-component-wake/p-7e52727e.entry.js +2 -0
  85. package/dist/crmbonus-component-wake/{p-702d5a6f.js → p-b4f52f79.js} +2 -2
  86. package/dist/crmbonus-component-wake/p-b4f52f79.js.map +1 -0
  87. package/dist/crmbonus-component-wake/{p-b5da6ce1.js → p-bea5a5c2.js} +2 -2
  88. package/dist/crmbonus-component-wake/{p-b5da6ce1.js.map → p-bea5a5c2.js.map} +1 -1
  89. package/dist/env.js +2 -2
  90. package/dist/env.js.map +1 -1
  91. package/dist/esm/app-modal.entry.js +1 -1
  92. package/dist/esm/{cart.helper-4f1913ce.js → cart.helper-89391005.js} +4 -4
  93. package/dist/esm/{cart.helper-4f1913ce.js.map → cart.helper-89391005.js.map} +1 -1
  94. package/dist/esm/container-empty.entry.js +15 -0
  95. package/dist/esm/container-empty.entry.js.map +1 -0
  96. package/dist/esm/countdown-timer_11.entry.js +965 -0
  97. package/dist/esm/countdown-timer_11.entry.js.map +1 -0
  98. package/dist/esm/crm-bonus-note.entry.js +40 -65
  99. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  100. package/dist/esm/crmbonus-component-wake.js +1 -1
  101. package/dist/esm/{i18n-7938fb86.js → info.config.helper-e4b8c478.js} +14 -2
  102. package/dist/esm/info.config.helper-e4b8c478.js.map +1 -0
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/pedido-finalizado.entry.js +2 -2
  105. package/dist/types/Users/Darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +1 -1
  106. package/dist/types/components/giftback-form/giftback-form.d.ts +0 -1
  107. package/dist/types/components/loading-container/container-empty.d.ts +3 -0
  108. package/dist/types/components/loading-container/loading-container.d.ts +1 -0
  109. package/dist/types/components/note/crm-bonus-note.d.ts +1 -3
  110. package/dist/types/components.d.ts +15 -26
  111. package/dist/types/utils/retry.utils.d.ts +1 -0
  112. package/package.json +1 -1
  113. package/dist/cjs/build.payload.helper-cfd3173e.js +0 -54
  114. package/dist/cjs/build.payload.helper-cfd3173e.js.map +0 -1
  115. package/dist/cjs/countdown-timer_2.cjs.entry.js +0 -74
  116. package/dist/cjs/countdown-timer_2.cjs.entry.js.map +0 -1
  117. package/dist/cjs/crm-bonus-2.cjs.entry.js +0 -33
  118. package/dist/cjs/crm-bonus-2.cjs.entry.js.map +0 -1
  119. package/dist/cjs/crm-bonus-tray.cjs.entry.js +0 -18
  120. package/dist/cjs/crm-bonus-tray.cjs.entry.js.map +0 -1
  121. package/dist/cjs/crm-bonus.cjs.entry.js +0 -284
  122. package/dist/cjs/crm-bonus.cjs.entry.js.map +0 -1
  123. package/dist/cjs/crm-giftback-form.cjs.entry.js +0 -282
  124. package/dist/cjs/crm-giftback-form.cjs.entry.js.map +0 -1
  125. package/dist/cjs/crm-tooltip_5.cjs.entry.js +0 -292
  126. package/dist/cjs/crm-tooltip_5.cjs.entry.js.map +0 -1
  127. package/dist/cjs/i18n-1ce6cb94.js.map +0 -1
  128. package/dist/cjs/info.config.helper-e35e6e20.js +0 -17
  129. package/dist/cjs/info.config.helper-e35e6e20.js.map +0 -1
  130. package/dist/cjs/loading-container.cjs.entry.js +0 -23
  131. package/dist/cjs/loading-container.cjs.entry.js.map +0 -1
  132. package/dist/cjs/loading-spinner.cjs.entry.js +0 -24
  133. package/dist/cjs/loading-spinner.cjs.entry.js.map +0 -1
  134. package/dist/collection/components/crm-bonus/crmbonus.js +0 -38
  135. package/dist/collection/components/crm-bonus/crmbonus.js.map +0 -1
  136. package/dist/collection/tray-ecommerce/crm-bonus-tray.js +0 -8
  137. package/dist/collection/tray-ecommerce/crm-bonus-tray.js.map +0 -1
  138. package/dist/components/crm-bonus-2.js +0 -57
  139. package/dist/components/crm-bonus-2.js.map +0 -1
  140. package/dist/components/crm-bonus-tray.d.ts +0 -11
  141. package/dist/components/crm-bonus-tray.js +0 -32
  142. package/dist/components/crm-bonus-tray.js.map +0 -1
  143. package/dist/components/p-b0ef2c0b.js +0 -52
  144. package/dist/components/p-b0ef2c0b.js.map +0 -1
  145. package/dist/components/p-c5be72a0.js.map +0 -1
  146. package/dist/components/p-e2a6a4cf.js.map +0 -1
  147. package/dist/crmbonus-component-wake/p-17b97fd2.entry.js +0 -2
  148. package/dist/crmbonus-component-wake/p-1b441909.js +0 -2
  149. package/dist/crmbonus-component-wake/p-1b441909.js.map +0 -1
  150. package/dist/crmbonus-component-wake/p-3a4d7622.entry.js +0 -2
  151. package/dist/crmbonus-component-wake/p-3a4d7622.entry.js.map +0 -1
  152. package/dist/crmbonus-component-wake/p-54b8f32b.entry.js +0 -2
  153. package/dist/crmbonus-component-wake/p-54b8f32b.entry.js.map +0 -1
  154. package/dist/crmbonus-component-wake/p-59033825.entry.js +0 -2
  155. package/dist/crmbonus-component-wake/p-59033825.entry.js.map +0 -1
  156. package/dist/crmbonus-component-wake/p-61ea41c9.entry.js +0 -2
  157. package/dist/crmbonus-component-wake/p-6532623f.entry.js +0 -2
  158. package/dist/crmbonus-component-wake/p-6532623f.entry.js.map +0 -1
  159. package/dist/crmbonus-component-wake/p-702d5a6f.js.map +0 -1
  160. package/dist/crmbonus-component-wake/p-87cb8341.entry.js +0 -2
  161. package/dist/crmbonus-component-wake/p-87cb8341.entry.js.map +0 -1
  162. package/dist/crmbonus-component-wake/p-9d926857.entry.js +0 -2
  163. package/dist/crmbonus-component-wake/p-9d926857.entry.js.map +0 -1
  164. package/dist/crmbonus-component-wake/p-b0ef2c0b.js +0 -2
  165. package/dist/crmbonus-component-wake/p-b0ef2c0b.js.map +0 -1
  166. package/dist/crmbonus-component-wake/p-ce2819cc.entry.js +0 -2
  167. package/dist/crmbonus-component-wake/p-ce2819cc.entry.js.map +0 -1
  168. package/dist/crmbonus-component-wake/p-e992d997.entry.js +0 -2
  169. package/dist/crmbonus-component-wake/p-e992d997.entry.js.map +0 -1
  170. package/dist/crmbonus-component-wake/p-eace8d0e.entry.js +0 -2
  171. package/dist/crmbonus-component-wake/p-eace8d0e.entry.js.map +0 -1
  172. package/dist/esm/build.payload.helper-699a48ca.js +0 -52
  173. package/dist/esm/build.payload.helper-699a48ca.js.map +0 -1
  174. package/dist/esm/countdown-timer_2.entry.js +0 -69
  175. package/dist/esm/countdown-timer_2.entry.js.map +0 -1
  176. package/dist/esm/crm-bonus-2.entry.js +0 -29
  177. package/dist/esm/crm-bonus-2.entry.js.map +0 -1
  178. package/dist/esm/crm-bonus-tray.entry.js +0 -14
  179. package/dist/esm/crm-bonus-tray.entry.js.map +0 -1
  180. package/dist/esm/crm-bonus.entry.js +0 -280
  181. package/dist/esm/crm-bonus.entry.js.map +0 -1
  182. package/dist/esm/crm-giftback-form.entry.js +0 -278
  183. package/dist/esm/crm-giftback-form.entry.js.map +0 -1
  184. package/dist/esm/crm-tooltip_5.entry.js +0 -284
  185. package/dist/esm/crm-tooltip_5.entry.js.map +0 -1
  186. package/dist/esm/i18n-7938fb86.js.map +0 -1
  187. package/dist/esm/info.config.helper-7cad7a9c.js +0 -15
  188. package/dist/esm/info.config.helper-7cad7a9c.js.map +0 -1
  189. package/dist/esm/loading-container.entry.js +0 -19
  190. package/dist/esm/loading-container.entry.js.map +0 -1
  191. package/dist/esm/loading-spinner.entry.js +0 -20
  192. package/dist/esm/loading-spinner.entry.js.map +0 -1
  193. package/dist/types/components/crm-bonus/crmbonus.d.ts +0 -8
  194. package/dist/types/tray-ecommerce/crm-bonus-tray.d.ts +0 -3
  195. /package/dist/crmbonus-component-wake/{p-17b97fd2.entry.js.map → p-622d5644.entry.js.map} +0 -0
  196. /package/dist/crmbonus-component-wake/{p-61ea41c9.entry.js.map → p-7e52727e.entry.js.map} +0 -0
@@ -1,278 +0,0 @@
1
- import { r as registerInstance, h } from './index-bdb70d5a.js';
2
- import { a as CrmBonusService, c as getKeyReserveByCartId, U as USED_KEY, p as persisteMetadata } from './cart.helper-4f1913ce.js';
3
- import { S as StepFormEnum, i as instance } from './i18n-7938fb86.js';
4
- import { g as getInfoCustomization } from './info.config.helper-7cad7a9c.js';
5
-
6
- const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{font-weight:400;line-height:var(--crmline-heightbodymd);letter-spacing:var(--crmletter-spacingtitle-md);text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.crm-container-form{display:flex;flex-direction:column;justify-content:space-around;height:auto;padding:20px 24px 20px 24px;border:1px solid #CCCC;writing-mode:horizontal-tb;gap:16px;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.crm-phone-form{display:flex;flex-direction:column;height:100%;gap:16px}.crm-subtitle{font-size:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
7
- const CrmGiftbackFormStyle0 = giftbackFormCss;
8
-
9
- const CrmBonus = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- // private phoneInputMask: HTMLPhoneFormElement;
13
- this.crmBonusService = CrmBonusService.getInstance();
14
- this.storeName = undefined;
15
- this.cartId = undefined;
16
- this.products = undefined;
17
- this.customer = undefined;
18
- this.loadProducts = undefined;
19
- this.loadAll = undefined;
20
- this.customStyles = undefined;
21
- this.reservedInfo = undefined;
22
- this.value = undefined;
23
- this.loading = false;
24
- this.message = undefined;
25
- this.phone = undefined;
26
- this.pinInfo = undefined;
27
- this.step = StepFormEnum.STEP_RESERVE;
28
- this.bonus = undefined;
29
- this.sucess = "";
30
- this.error = "";
31
- this.config = undefined;
32
- this.hasApplyBonus = false;
33
- this.loadingAllComponent = false;
34
- }
35
- async setStep(step) {
36
- this.step = step;
37
- }
38
- async processBonus(products = [], hasNewProduct = false) {
39
- await this.loadProducts();
40
- this.sucess = "";
41
- console.log('processBonus', []);
42
- if (hasNewProduct) {
43
- this.products = products;
44
- }
45
- const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));
46
- if (_bonus) {
47
- const bonus = JSON.parse(_bonus);
48
- this.bonus = bonus;
49
- this.phone = bonus.phone;
50
- this.pinInfo = {
51
- storeId: bonus.storeId,
52
- userId: bonus.userId
53
- };
54
- await this.validateBonus("2018");
55
- //this.step = StepFormEnum.STEP_RESERVE;
56
- }
57
- }
58
- async handleSendPin(phone) {
59
- await this.loadAll();
60
- this.message = "";
61
- if (!phone) {
62
- this.message = "Informe seu telefone";
63
- return;
64
- }
65
- this.phone = phone;
66
- this.sendPin();
67
- }
68
- async componentWillLoad() {
69
- this.sucess = "";
70
- this.error = "";
71
- this.config = getInfoCustomization(this.storeName);
72
- const phoneAgain = this.getPhoneNumberAgain();
73
- if (phoneAgain) {
74
- this.step = StepFormEnum.STEP_PHONE;
75
- return;
76
- }
77
- await this.processBonus();
78
- }
79
- getPhoneNumberAgain() {
80
- const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));
81
- if (!consulta_bonus)
82
- return true;
83
- const bonus = JSON.parse(consulta_bonus);
84
- return !bonus.hasBonus;
85
- }
86
- convertStringToNumber() {
87
- var _a;
88
- const _phone = (_a = this.phone) === null || _a === void 0 ? void 0 : _a.replace(/\D/g, '');
89
- return Number(_phone);
90
- }
91
- async sendPin() {
92
- var _a, _b, _c;
93
- this.loading = true;
94
- this.message = "";
95
- this.sucess = "";
96
- this.error = "";
97
- try {
98
- const _phone = this.convertStringToNumber();
99
- const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);
100
- if (!pinInfoCache) {
101
- this.pinInfo = await this.crmBonusService.sendPin(_phone, (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name, this.storeName);
102
- }
103
- if (pinInfoCache) {
104
- const bonus = JSON.parse(pinInfoCache);
105
- this.pinInfo = {
106
- storeId: bonus.storeId,
107
- userId: bonus.userId
108
- };
109
- await this.validateBonus("2018");
110
- // this.step = StepFormEnum.STEP_RESERVE;
111
- }
112
- else {
113
- this.step = StepFormEnum.STEP_PIN;
114
- }
115
- }
116
- catch (error) {
117
- this.message = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
118
- }
119
- finally {
120
- this.loading = false;
121
- }
122
- }
123
- changePhone() {
124
- this.sucess = "";
125
- this.error = "";
126
- this.step = StepFormEnum.STEP_PHONE;
127
- }
128
- async validateBonus(pin) {
129
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
130
- this.loadingAllComponent = true;
131
- await this.loadProducts();
132
- const used_or_no = localStorage.getItem(USED_KEY);
133
- if (used_or_no == "dontUse") {
134
- this.step = StepFormEnum.STEP_RESERVE;
135
- return;
136
- }
137
- this.loading = true;
138
- this.sucess = "";
139
- this.error = "";
140
- const storeId = ((_a = this.pinInfo) === null || _a === void 0 ? void 0 : _a.storeId) || ((_c = (_b = this.reservedInfo) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.storeId);
141
- const userId = ((_d = this.pinInfo) === null || _d === void 0 ? void 0 : _d.userId) || ((_f = (_e = this.reservedInfo) === null || _e === void 0 ? void 0 : _e.metadata) === null || _f === void 0 ? void 0 : _f.userId);
142
- const cellphone = (_h = (_g = this.reservedInfo) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.cellphone;
143
- const payload = {
144
- pin: pin,
145
- cellphone: cellphone || this.convertStringToNumber(),
146
- storeId: storeId.toString(),
147
- userId: userId.toString(),
148
- checkoutId: this.cartId,
149
- checkoutProducts: this.products,
150
- name: (_j = this.customer) === null || _j === void 0 ? void 0 : _j.name,
151
- storeName: this.storeName
152
- };
153
- try {
154
- this.bonus = await this.crmBonusService.validatePinBonus(payload);
155
- if (!this.bonus.hasBonus) {
156
- localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
157
- this.loading = false;
158
- this.step = StepFormEnum.STEP_NO_BONUS;
159
- return;
160
- }
161
- this.sucess = "Código validado com sucesso!";
162
- localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
163
- localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));
164
- localStorage.setItem(USED_KEY, "use");
165
- localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());
166
- this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);
167
- console.log('RESERVE', this.bonus);
168
- this.step = StepFormEnum.STEP_RESERVE;
169
- }
170
- catch (error) {
171
- const _error = (_l = (_k = error === null || error === void 0 ? void 0 : error.response) === null || _k === void 0 ? void 0 : _k.data) === null || _l === void 0 ? void 0 : _l.response;
172
- const response = (_m = error === null || error === void 0 ? void 0 : error.response) === null || _m === void 0 ? void 0 : _m.data;
173
- if (_error && _error.includes("Pin")) {
174
- this.error = "Código inválido!";
175
- }
176
- else if ([403, 500].includes(response.statusCode)) {
177
- this.error = "ocorreu um error, atualize a pagina e tente novamente!";
178
- }
179
- else {
180
- this.error = _error;
181
- this.step = StepFormEnum.STEP_NO_BONUS;
182
- }
183
- }
184
- finally {
185
- this.loading = false;
186
- this.loadingAllComponent = false;
187
- }
188
- }
189
- async updateMetadata(pinInfo, cellphone) {
190
- try {
191
- if (this.reservedInfo.isExpired()) {
192
- console.log('[CRM:updateMetadata]');
193
- await persisteMetadata(this.storeName, this.cartId, {
194
- createdAt: Date.now(),
195
- url: window.location.href,
196
- storeId: pinInfo.storeId,
197
- userId: pinInfo.userId,
198
- cellphone: cellphone,
199
- });
200
- localStorage.removeItem("bc:time");
201
- }
202
- else {
203
- await persisteMetadata(this.storeName, this.cartId, {
204
- url: window.location.href,
205
- storeId: pinInfo.storeId,
206
- userId: pinInfo.userId,
207
- cellphone: cellphone,
208
- });
209
- }
210
- }
211
- catch (error) {
212
- console.error('[CRMBONUS:updateMetadata]: ', error);
213
- }
214
- }
215
- handleCancel() {
216
- // this.step = StepFormEnum.STEP_PHONE;
217
- this.cancel();
218
- }
219
- async cancel() {
220
- this.message = "";
221
- this.loading = true;
222
- try {
223
- await this.crmBonusService.cancel(this.cartId);
224
- localStorage.setItem(USED_KEY, "dontUse");
225
- this.save(0);
226
- await this.updateMetadata({ storeId: null, userId: null }, null);
227
- }
228
- catch (error) {
229
- this.message = "Não consegui cancelar o bônus, tente novamente!";
230
- }
231
- finally {
232
- this.loading = false;
233
- }
234
- }
235
- async reserveApply(amount) {
236
- this.loading = true;
237
- this.message = "";
238
- try {
239
- await this.reserve(amount);
240
- this.save(amount);
241
- }
242
- catch (error) {
243
- this.message = "ocorreu um error ao solicitar a aplicação do bonus! tente novamente";
244
- this.step = StepFormEnum.STEP_NO_BONUS;
245
- localStorage.removeItem(this.cartId);
246
- }
247
- finally {
248
- this.loading = false;
249
- }
250
- }
251
- save(amount) {
252
- localStorage.setItem(this.cartId, amount.toString());
253
- }
254
- async reserve(amount) {
255
- await this.crmBonusService.reserve({
256
- redeemedBonus: amount,
257
- cartId: this.cartId,
258
- ticket: this.cartId,
259
- grossValue: Number(this.bonus.totalValue),
260
- storeName: this.storeName,
261
- storeId: this.bonus.storeId.toString(),
262
- userId: this.bonus.userId
263
- });
264
- }
265
- render() {
266
- console.log("cartId", this.cartId);
267
- return (h("div", { key: 'ec6f957d4b375fd6abe2c11eeae23fa69dfa2ac8', class: "crm-container-form fbits-responsive-carrinho-desconto", style: this.customStyles }, h("label", { key: 'a743c2f5565c5403f6daba01f45a1dc665fde99d', class: "crm-title" }, this.config.giftbackTitle), this.error && (h("label", { key: 'e5dcc4b20685bac97fc12c6153d68939e0f88956', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_PHONE &&
268
- h("phone-form", { key: '1f2bc519ec31f4293c75d5284c9fa4fa593187f2', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
269
- h("pin-form", { key: '7ff43b9a51a638feafda8dbefd8f641546037fa4', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && h("p", { key: 'ff486afaf126a8cbeeabc6a11d9647e9cf5b22dd', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: '444f7fdfd86a05884086eff15e9aa3b4fface993', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
270
- h("giftback-info", { key: 'cbeb32249da8c5fa088b43e6c2c94eb427fea6a4', storeName: this.storeName, infoBonus: this.reservedInfo, config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus(), cartId: this.cartId }), this.step === StepFormEnum.STEP_NO_BONUS &&
271
- (h("div", { key: '3d1c697af1c4b495f928b493f9c056bb7b84042a', class: "container-message" }, instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
272
- }
273
- };
274
- CrmBonus.style = CrmGiftbackFormStyle0;
275
-
276
- export { CrmBonus as crm_giftback_form };
277
-
278
- //# sourceMappingURL=crm-giftback-form.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"crm-giftback-form.entry.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,k3BAAk3B,CAAC;AAC34B,8BAAe,eAAe;;MCgBjB,QAAQ;;;;QAGX,oBAAe,GAAoB,eAAe,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;uBAa7C,KAAK;;;;oBAIH,YAAY,CAAC,YAAY;;sBAG7B,EAAE;qBACH,EAAE;;6BAEF,KAAK;mCAEC,KAAK;;IAGpC,MAAM,OAAO,CAAC,IAAkB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;IAGD,MAAM,YAAY,CAAC,WAAuB,EAAE,EAAE,aAAa,GAAG,KAAK;QACjE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC/B,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YAEV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAA;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;SAGlC;KACF;IAED,MAAM,aAAa,CAAC,KAAa;QAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;YACtC,OAAO;SACR;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE9C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;YACpC,OAAM;SACP;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;KAE3B;IAED,mBAAmB;QACjB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;KACxB;IAEO,qBAAqB;;QAC3B,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IAEM,MAAM,OAAO;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,IAAI;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAChG;YAED,IAAI,YAAY,EAAE;gBAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,CAAC,OAAO,GAAG;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAA;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;aAElC;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;aACnC;SAEF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAA;SAC9C;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACrB;KACF;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;KACrC;IAEM,MAAM,aAAa,CAAC,GAAW;;QACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,UAAU,IAAI,SAAS,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;YACtC,OAAM;SACP;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,MAAM,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,MAAI,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,0CAAE,OAAO,CAAA,CAAC;QAC9E,MAAM,MAAM,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,MAAI,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,0CAAE,MAAM,CAAA,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,0CAAE,SAAS,CAAC;QAEzD,MAAM,OAAO,GAAwB;YACnC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,qBAAqB,EAAE;YACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,IAAI,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;QAED,IAAI;YACF,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAElE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAExB,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;gBAE/G,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;gBACvC,OAAM;aACP;YAED,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC,CAAC;YAC/G,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAErE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEtE,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAE7F,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAClC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;SAEvC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,MAAM,GAAW,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,CAAC;YAEvC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAA;aAChC;iBAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACnD,IAAI,CAAC,KAAK,GAAG,wDAAwD,CAAA;aACtE;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;aACxC;SACF;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;KACF;IAEO,MAAM,cAAc,CAAC,OAAiB,EAAE,SAAiB;QAC/D,IAAI;YACF,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;gBACnC,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;oBAClD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;gBAEH,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;oBAClD,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;SACrD;KACF;IAEM,YAAY;;QAEjB,IAAI,CAAC,MAAM,EAAE,CAAA;KACd;IAED,MAAM,MAAM;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;SAClE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAA;SACjE;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAEM,MAAM,YAAY,CAAC,MAAc;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAEnB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,qEAAqE,CAAA;YAEpF,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC;YACvC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,IAAI,CAAC,MAAc;QACjB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;KACtD;IAEM,MAAM,OAAO,CAAC,MAAc;QAEjC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YACjC,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC1B,CAAC,CAAC;KACJ;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnC,QACE,4DAAK,KAAK,EAAC,uDAAuD,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,IAIzF,8DAAO,KAAK,EAAC,WAAW,IAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,EAG1D,IAAI,CAAC,KAAK,KAAK,8DAAO,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAS,CAAC,EAGtE,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU;YACpC,mEACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GACnD,EAEF,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ;YACnC,iEACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAChC,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC5B,QAAQ,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,MAAM,IAAI,0DAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,MAAM,CAAK,EAC5D,IAAI,CAAC,KAAK,IAAI,0DAAG,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAK,CAEnD,EAIX,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY;YACvC,sEACE,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAClC,MAAM,EAAE,IAAI,CAAC,MAAM,GACnB,EAIF,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa;aAEtC,4DAAK,KAAK,EAAC,mBAAmB,IAC3BA,QAAO,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAC9D,CACP,CAGC,EACP;KACF;;;;;;","names":["i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:host {\r\n --crmfont-sizebodymd: 14px;\r\n --crmline-heightbodymd: 20px;\r\n --crmletter-spacingtitle-md: 0px\r\n}\r\n\r\n.container-message {\r\n /* font-size: var(--crmfont-sizebodymd); */\r\n font-weight: 400;\r\n line-height: var(--crmline-heightbodymd);\r\n letter-spacing: var(--crmletter-spacingtitle-md);\r\n text-align: left;\r\n text-underline-position: from-font;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\n.crm-container-form {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\r\n height: auto;\r\n padding: 20px 24px 20px 24px;\r\n border: 1px solid #CCCC;\r\n writing-mode: horizontal-tb;\r\n gap: 16px;\r\n border-top: 1px solid #ccc !important;\r\n border-bottom: 1px solid #ccc !important;\r\n}\r\n\r\n/* .fbits-responsive-carrinho-desconto {\r\n overflow: hidden;\r\n border: 1px solid #ccc;\r\n border-top: 0;\r\n border-bottom: 0;\r\n} */\r\n\r\n.crm-phone-form {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n /* justify-content: space-around; */\r\n gap: 16px;\r\n}\r\n\r\n.crm-subtitle {\r\n /* font-size: 14px; */\r\n font-size: .875rem;\r\n line-height: 1.25rem;\r\n \r\n}\r\n\r\n.crm-title {\r\n font-weight: 700;\r\n line-height: 20px;\r\n color: #262626;\r\n /* font-size: 16px; */\r\n}\r\n\r\n.crm-message-info {\r\n color: #619013;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}\r\n\r\n.crm-message-error {\r\n color: #E11D48;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @State() loadingAllComponent = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\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.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\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 changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n this.loadingAllComponent = true;\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n this.loadingAllComponent = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\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.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\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 public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId);\r\n\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n \r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"],"version":3}
@@ -1,284 +0,0 @@
1
- import { r as registerInstance, h, H as Host } from './index-bdb70d5a.js';
2
- import { i as instance, M as MESSAGE_ERROR_INVALID_NUMBER } from './i18n-7938fb86.js';
3
- import { U as USED_KEY, p as persisteMetadata } from './cart.helper-4f1913ce.js';
4
- import { d as defineLimit, a as formatDateToBr } from './utils-dec6df66.js';
5
-
6
- const infoCircleSvgrepoComSvg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMiAxNy43NUMxMi40MTQyIDE3Ljc1IDEyLjc1IDE3LjQxNDIgMTIuNzUgMTdWMTFDMTIuNzUgMTAuNTg1OCAxMi40MTQyIDEwLjI1IDEyIDEwLjI1QzExLjU4NTggMTAuMjUgMTEuMjUgMTAuNTg1OCAxMS4yNSAxMVYxN0MxMS4yNSAxNy40MTQyIDExLjU4NTggMTcuNzUgMTIgMTcuNzVaIiBmaWxsPSIjMUMyNzRDIi8+DQo8cGF0aCBkPSJNMTIgN0MxMi41NTIzIDcgMTMgNy40NDc3MiAxMyA4QzEzIDguNTUyMjggMTIuNTUyMyA5IDEyIDlDMTEuNDQ3NyA5IDExIDguNTUyMjggMTEgOEMxMSA3LjQ0NzcyIDExLjQ0NzcgNyAxMiA3WiIgZmlsbD0iIzFDMjc0QyIvPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjI1IDEyQzEuMjUgNi4wNjI5NCA2LjA2Mjk0IDEuMjUgMTIgMS4yNUMxNy45MzcxIDEuMjUgMjIuNzUgNi4wNjI5NCAyMi43NSAxMkMyMi43NSAxNy45MzcxIDE3LjkzNzEgMjIuNzUgMTIgMjIuNzVDNi4wNjI5NCAyMi43NSAxLjI1IDE3LjkzNzEgMS4yNSAxMlpNMTIgMi43NUM2Ljg5MTM3IDIuNzUgMi43NSA2Ljg5MTM3IDIuNzUgMTJDMi43NSAxNy4xMDg2IDYuODkxMzcgMjEuMjUgMTIgMjEuMjVDMTcuMTA4NiAyMS4yNSAyMS4yNSAxNy4xMDg2IDIxLjI1IDEyQzIxLjI1IDYuODkxMzcgMTcuMTA4NiAyLjc1IDEyIDIuNzVaIiBmaWxsPSIjMUMyNzRDIi8+DQo8L3N2Zz4=';
7
-
8
- const crmTooltipCss = ".crm-tooltip-container {\r\n display: flex;\r\n\r\n & img {\r\n width: 16px;\r\n margin-left: 3px;\r\n position: relative;\r\n }\r\n}\r\n\r\n.crm-tooltip {\r\n position: relative;\r\n display: inline-block;\r\n}\r\n\r\n.crm-tooltip .tooltiptext {\r\n visibility: hidden;\r\n background-color: black;\r\n color: #fff;\r\n text-align: center;\r\n padding: 8px 12px;\r\n border-radius: 0px;\r\n position: absolute;\r\n z-index: 1;\r\n min-width: 271px;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -238px;\r\n}\r\n\r\n@container (max-width: 410px) {\r\n .crm-tooltip .tooltiptext {\r\n margin-left: -14px;\r\n }\r\n\r\n .crm-tooltip #crm-role-description {\r\n margin-left: -151px;\r\n }\r\n}\r\n\r\n@container (max-width: 250px) {\r\n .crm-tooltip .tooltiptext {\r\n margin-left: -201px;\r\n }\r\n}\r\n\r\n.crm-tooltip:hover .tooltiptext {\r\n visibility: visible;\r\n}";
9
- const CrmTooltipStyle0 = crmTooltipCss;
10
-
11
- const Tooltip = class {
12
- constructor(hostRef) {
13
- registerInstance(this, hostRef);
14
- this.text = undefined;
15
- this.identity = undefined;
16
- }
17
- render() {
18
- return (h("div", { key: 'f6eb9b4e67680d56d3a456335ccd850cd9d121bb', class: "crm-tooltip-container crm-tooltip" }, h("img", { key: 'a56e738aedaa6c18071825d2c9380bf81d15b839', src: infoCircleSvgrepoComSvg }), h("span", { key: 'd596a79359a295f8a8add81b55fe69d5f879d0d5', id: this.identity, class: "tooltiptext" }, this.text)));
19
- }
20
- };
21
- Tooltip.style = CrmTooltipStyle0;
22
-
23
- const giftbackInfoCss = ":host{--text-color:#6D6D5F}.giftback-container{display:flex;flex-direction:column;gap:14px}h3{margin-bottom:8px;color:#333}.container-description{display:flex;align-items:center;gap:5px;margin:0 0 10px 0}.container-description p{font-weight:400;margin:0px}p{color:#000}.value-display h2{color:#6D6D5F;margin:16px 0}input[type='range']{width:100%;margin:12px 0;-webkit-appearance:none;background:#ddd;height:4px;border-radius:4px;outline:none;padding:3px 0px 3px 3px}input[type=\"range\"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:rgb(109, 109, 95);border-radius:50%;cursor:pointer}.options{margin:0px 0;display:flex;gap:10px;flex-direction:column}.options label{display:flex;margin:0px 0;color:#333;align-items:center}.options input[type='radio']{margin-right:8px;height:16px;width:16px}.options input[type='radio']{appearance:none;-webkit-appearance:none;margin-right:8px;width:16px;height:16px;border:2px solid #ddd;border-radius:50%;background-color:#fff;cursor:pointer;transition:all 0.3s;padding:0px}.options input[type='radio']:checked{border-color:#000;background-color:#FAFAFA;border:4px solid #000}.info-box{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:8px;color:#262626;line-height:20px}.info-icon{cursor:pointer;color:#888}h3{margin-bottom:8px;color:#333}.slider-wrapper{position:relative;margin:21px 0px 0px 0px}.slider{width:100%;-webkit-appearance:none;background:#ddd;height:4px;border-radius:2px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;cursor:pointer}.slider-value{position:absolute;top:-30px;font-weight:700;color:var(--text-color);transform:translateX(-50%);white-space:nowrap;}.options-option{display:flex}";
24
- const GiftbackInfoStyle0 = giftbackInfoCss;
25
-
26
- const GiftbackInfo = class {
27
- constructor(hostRef) {
28
- registerInstance(this, hostRef);
29
- this.usedValue = 0;
30
- this.selectedOption = 'none';
31
- this.cartId = undefined;
32
- this.loading = false;
33
- this.bonus = {
34
- totalBonus: 0,
35
- cartId: "",
36
- minimumPurchase: 0,
37
- bonusBalance: 0,
38
- calculatedValue: 0,
39
- firstValidityDate: "",
40
- totalValue: 0
41
- };
42
- this.reserve = undefined;
43
- this.cancel = undefined;
44
- this.config = undefined;
45
- this.infoBonus = undefined;
46
- this.storeName = undefined;
47
- this.sliderPosition = 0;
48
- this.sliderValuePosition = 0;
49
- this.loadingTime = false;
50
- }
51
- changedBonus() {
52
- this.updateBonus();
53
- }
54
- updateBonus() {
55
- this.usedValue = this.bonus.bonusBalance;
56
- this.buildPositionSlider(0, this.bonus.totalBonus);
57
- }
58
- componentWillLoad() {
59
- this.updateBonus();
60
- this.selectedOption = localStorage.getItem(USED_KEY);
61
- }
62
- handleSliderChange(event) {
63
- const input = event.target;
64
- this.usedValue = parseFloat(input.value);
65
- // Calculando a posição do texto com base no valor do slider
66
- // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;
67
- // this.sliderPosition = percentage;
68
- this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max));
69
- }
70
- componentDidLoad() {
71
- var _a;
72
- if (this.bonus) {
73
- this._refIinputRange.value = (_a = this.bonus) === null || _a === void 0 ? void 0 : _a.bonusBalance.toString();
74
- }
75
- }
76
- buildPositionSlider(min, max) {
77
- const percentage_init = max * 0.1;
78
- // Calculando a posição do texto com base no valor do slider
79
- const percentage = ((this.usedValue - min) / (max - min)) * 100;
80
- this.sliderPosition = percentage;
81
- this.sliderValuePosition = percentage + (this.usedValue <= percentage_init ? 10 : 0);
82
- }
83
- async handleOptionChange(option) {
84
- this.selectedOption = option;
85
- localStorage.setItem(USED_KEY, option);
86
- await persisteMetadata(this.storeName, this.cartId, Object.assign(Object.assign({}, this.infoBonus.metadata), { createdAt: null }));
87
- switch (this.selectedOption) {
88
- case 'use':
89
- await this.reserve(this.usedValue);
90
- break;
91
- case 'dontUse':
92
- await this.cancel();
93
- break;
94
- }
95
- }
96
- showTime() {
97
- if (!this.infoBonus)
98
- return false;
99
- return !this.infoBonus.isExpired();
100
- // return this.infoBonus.isBonusProcessed
101
- }
102
- getTime() {
103
- var _a, _b;
104
- const createdAt = new Date((_b = (_a = this.infoBonus) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.createdAt);
105
- const expiration = new Date(createdAt);
106
- expiration.setMinutes(expiration.getMinutes() + 6);
107
- return {
108
- createdAt,
109
- expiration
110
- };
111
- }
112
- async downtime() {
113
- await persisteMetadata(this.storeName, this.bonus.cartId, {
114
- createdAt: null,
115
- });
116
- }
117
- render() {
118
- var _a, _b, _c, _d, _e, _f, _g;
119
- console.log('this.bonus', this.bonus);
120
- const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;
121
- const translateDescription = instance.t("giftDescription", { amount: `${(_b = (_a = this.bonus) === null || _a === void 0 ? void 0 : _a.totalBonus) === null || _b === void 0 ? void 0 : _b.toFixed(2).replace(".", ",")}`, custom_name: "Giftback" });
122
- const limit = defineLimit(remainingGiftback);
123
- return (h("div", { key: '251849dcd0ee6d93cf4698997dc24e6e49790508', class: "giftback-container" }, h("div", { key: '92ddf91fd103a013a1b51ffbd1cbca4d6d152871', class: "container-description" }, h("p", { key: '65905baf07a9e34897f582456055babe61914307', innerHTML: translateDescription }), h("crm-tooltip", { key: '9eaf65a6fab8ad3841359416a20b33f95c8cbb7f', identity: "crm-role-description", text: instance.t("labelUseGiftback", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) }) })), h("div", { key: '93cd9be26b78817932acd89fca9f084c3d2238f3', class: "slider-wrapper" }, h("div", { key: '6ad83282c9269b366ede9dbd72ce046167b131d5', class: "slider-value", style: {
124
- left: `calc(${this.sliderValuePosition}% - 20px)`, // Ajuste para centralizar o texto
125
- } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: '77889b653c213eb74ad9e90cc180b0f37f2fd147', ref: ref => this._refIinputRange = ref, id: "position_value_id", disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
126
- background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,
127
- } })), limit.isComplete && (h("p", { key: 'c003334375b24df8747bf9d7318c33c61ff3ae65' }, instance.t("maxAmount"))), !limit.isComplete && (h("div", { key: 'e83765c2c9b1216e5925cc3c80acaeaaaebac413', class: "container-description" }, h("p", { key: 'a107fa566fe77be6e415f4f5612ef3331c866b91' }, "Adicione ", h("strong", { key: '0120a2973c571bc0c02bf928009052e97c9fd200' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("crm-tooltip", { key: '575e50fe8993d511fd147e7ca424e44aa9007f23', identity: "crm-max-description", text: instance.t("labelamountPartial") }))), h("div", { key: '818aa27228db4427deea9ac375e8876b4c21a920', class: "options" }, h("div", { key: 'f7dc2801e7bdec1379588b447d56403b0a2f93ac', class: "options-option" }, h("input", { key: '8b5b8e9e2ad5facfbc13d32aa24ad4d9eb12e5f8', disabled: this.showTime(), type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), h("p", { key: '73e551592deaf17bcce8a3365da5aefbf616b6c0' }, "Usar o meu ", (_c = this.config) === null || _c === void 0 ? void 0 :
128
- _c.giftbackTitle)), h("div", { key: '809d083f5eb3c733128405da5c4c9f3b7e1a0a9d', class: "options-option" }, h("input", { key: '9313b764aedd08263ac598ac86c4ce95cff3a1b8', disabled: this.showTime(), type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), h("p", { key: '90b7c65dabc22cf1b1c61335736e3ec668ca0a86' }, "N\u00E3o usar o meu ", (_d = this.config) === null || _d === void 0 ? void 0 :
129
- _d.giftbackTitle))), this.showTime() &&
130
- (h("div", { key: '89e6f7a109a63e4f7fb733fd5b7a8b06f85b25c8', class: "info-box" }, "Ap\u00F3s ", h("countdown-timer", { key: '25d92d5e6a08dc425d43e459b7824b897b383ad6', dataCriacao: new Date((_f = (_e = this.infoBonus) === null || _e === void 0 ? void 0 : _e.metadata) === null || _f === void 0 ? void 0 : _f.createdAt).toString(), downtime: () => { window.location.reload(); } }), ", voc\u00EA poder\u00E1 alterar sua escolha de usar ou n\u00E3o o Giftback.")), !((_g = this === null || this === void 0 ? void 0 : this.infoBonus) === null || _g === void 0 ? void 0 : _g.isBonusProcessed) && (h("div", { key: 'f5129182b2da492d595856ef247cbcc65224c6ce', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa."))));
131
- }
132
- static get watchers() { return {
133
- "bonus": ["changedBonus"]
134
- }; }
135
- };
136
- GiftbackInfo.style = GiftbackInfoStyle0;
137
-
138
- const giftbackFormCss$1 = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{font-weight:400;line-height:var(--crmline-heightbodymd);letter-spacing:var(--crmletter-spacingtitle-md);text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.crm-container-form{display:flex;flex-direction:column;justify-content:space-around;height:auto;padding:20px 24px 20px 24px;border:1px solid #CCCC;writing-mode:horizontal-tb;gap:16px;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.crm-phone-form{display:flex;flex-direction:column;height:100%;gap:16px}.crm-subtitle{font-size:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
139
- const PhoneFormStyle0 = giftbackFormCss$1;
140
-
141
- const PhoneForm = class {
142
- constructor(hostRef) {
143
- registerInstance(this, hostRef);
144
- this.value = undefined;
145
- this.loading = undefined;
146
- this.handlerSubmit = undefined;
147
- this.config = undefined;
148
- }
149
- async handlePhone() {
150
- const phone = await this.phoneInputMask.getPhone();
151
- await this.handlerSubmit(phone);
152
- }
153
- render() {
154
- var _a;
155
- return (h(Host, { key: '14b9f78c937aa6f1e0c3c9f7ba31dc06de27dae3', class: "crm-phone-form" }, h("p", { key: '95056ca63b0b5e1719014b17a2d293deeeb11f77', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra:"), h("phone-input-mask", { key: '7f57deba5e35335020b69a49e3ed332b23d10800', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), h("crm-button", { key: '35b3f86fe1c95f7d7e9841c855dc12042ed26eb1', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
156
- }
157
- };
158
- PhoneForm.style = PhoneFormStyle0;
159
-
160
- const phoneInputMaskCss = "*{margin:0;padding:0;box-sizing:border-box}.phone{display:block;width:100%;height:24px;padding:6px 12px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:0px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.phone-input-form{width:100%;height:48px;padding:13px 16px 13px 16px;border:1px solid #CCCCCC;}.crm-erro-msg{color:#E11D48;font-weight:500;margin-top:11px}";
161
- const PhoneInputMaskStyle0 = phoneInputMaskCss;
162
-
163
- const PhoneInputMask = class {
164
- constructor(hostRef) {
165
- registerInstance(this, hostRef);
166
- this.phone = '';
167
- this.message = "";
168
- this.initialValue = undefined;
169
- this.disabled = undefined;
170
- }
171
- componentWillLoad() {
172
- this.phone = this.initialValue;
173
- }
174
- formatPhone(value) {
175
- const cleaned = value.replace(/\D/g, ''); // Remove tudo que não for número
176
- const match = cleaned.match(/^(\d{0,2})(\d{0,5})(\d{0,4})$/);
177
- if (!match)
178
- return value;
179
- const part1 = match[1] ? `(${match[1]}` : '';
180
- const part2 = match[2] ? `) ${match[2]}` : '';
181
- const part3 = match[3] ? ` ${match[3]}` : '';
182
- return `${part1}${part2}${part3}`;
183
- }
184
- handleInput(event) {
185
- const input = event.target;
186
- this.phone = this.formatPhone(input.value);
187
- if (!this.validatePhoneNumber(input.value)) {
188
- this.message = MESSAGE_ERROR_INVALID_NUMBER;
189
- }
190
- else {
191
- this.message = "";
192
- }
193
- console.log('phone', this.phone);
194
- }
195
- validatePhoneNumber(phone) {
196
- if (phone.length < 15) {
197
- return true;
198
- }
199
- const phoneRegex = /^\(\d{2}\) \d{5} \d{4}$/; // Valida formato (99) 99999-9999
200
- return phoneRegex.test(phone);
201
- }
202
- async getPhone() {
203
- return this.phone;
204
- }
205
- render() {
206
- return (h("div", { key: '0d11de5bf45fba344ec90b09e00bc1edc9db2d03' }, h("input", { key: '504e8a84f1b88916253e3f75c93b5f18103f34ba', disabled: this.disabled, id: "phone", type: "text", class: "phone-input-form", value: this.phone, onInput: (event) => this.handleInput(event), placeholder: "(99) 99999 9999" }), h("p", { key: 'b127914b7d8f2b9a69363869e49059fb8fd203b9', class: "crm-erro-msg" }, this.message)));
207
- }
208
- };
209
- PhoneInputMask.style = PhoneInputMaskStyle0;
210
-
211
- const pinFormCss = ":host{display:block}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;justify-content:start;gap:10px}.pin-container input{width:100%;height:48px;text-align:center;border:1px solid #ccc;border-radius:5px}button{padding:10px 20px;background-color:#ddd;border:none;border-radius:5px;cursor:pointer}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:15px;min-height:30px;min-width:120px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;cursor:pointer}.crm-description{width:100%;display:flex;gap:9px;flex-wrap:wrap}.crm-description a{font-weight:bold;cursor:pointer;text-decoration:underline}.crm-description div{display:flex;gap:5px}";
212
- const PinFormStyle0 = pinFormCss;
213
-
214
- const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{font-weight:400;line-height:var(--crmline-heightbodymd);letter-spacing:var(--crmletter-spacingtitle-md);text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.crm-container-form{display:flex;flex-direction:column;justify-content:space-around;height:auto;padding:20px 24px 20px 24px;border:1px solid #CCCC;writing-mode:horizontal-tb;gap:16px;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.crm-phone-form{display:flex;flex-direction:column;height:100%;gap:16px}.crm-subtitle{font-size:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
215
- const PinFormStyle1 = giftbackFormCss;
216
-
217
- const GiftbackPin = class {
218
- constructor(hostRef) {
219
- registerInstance(this, hostRef);
220
- this.validate = undefined;
221
- this.cancel = undefined;
222
- this.resend = undefined;
223
- this.sent = undefined;
224
- this.loading = false;
225
- this.phone = undefined;
226
- this.config = undefined;
227
- this.pin = ['', '', '', ''];
228
- this.isVerified = false;
229
- this.canResend = false;
230
- }
231
- componentWillLoad() {
232
- this.canResend = false;
233
- }
234
- handleInput(event, index) {
235
- const input = event.target;
236
- const value = input.value.slice(0, 1); // Limitar a um único dígito
237
- this.pin[index] = value;
238
- // Focar no próximo campo, se possível
239
- if (value && index < this.pin.length - 1) {
240
- const nextInput = input.nextElementSibling;
241
- nextInput === null || nextInput === void 0 ? void 0 : nextInput.focus();
242
- }
243
- this.pin = [...this.pin];
244
- }
245
- validatePin() {
246
- localStorage.removeItem("bc:resend");
247
- this.validate(this.pin.join(""));
248
- }
249
- verifyPin() {
250
- const pinCode = this.pin.join('');
251
- if (pinCode === '9999') {
252
- this.isVerified = true;
253
- }
254
- }
255
- handleTimeout() {
256
- localStorage.removeItem("bc:resend");
257
- this.canResend = true;
258
- }
259
- async handleResend() {
260
- await this.resend();
261
- this.canResend = false;
262
- this.pin = ['', '', '', ''];
263
- localStorage.removeItem("bc:resend");
264
- }
265
- buildTime() {
266
- const resendDate = localStorage.getItem("bc:resend");
267
- if (resendDate) {
268
- return resendDate;
269
- }
270
- const date = new Date();
271
- date.setSeconds(date.getSeconds() + 30);
272
- localStorage.setItem("bc:resend", date.toString());
273
- return date.toString();
274
- }
275
- render() {
276
- var _a;
277
- return (h("div", { key: '62007c5d1028fb839af17f54e7b906bbd9ad0fac', class: "crm-phone-form" }, h("label", { key: '0b0d49b96d7d3e966658e208ca12350e2239abb2', class: "crm-subtitle" }, instance.t('pin-sutitle'), " ", h("strong", { key: '02070b4c6d28c49db3b090f16cafe9f7f0b76704' }, "+55 ", this.phone)), h("div", { key: '3c6c28386189de0acc4900eea4b35393375970f4', class: "pin-container" }, this.pin.map((_, index) => (h("input", { type: "text", maxLength: 1, value: this.pin[index], onInput: (event) => this.handleInput(event, index) })))), h("slot", { key: 'fa6e6992af0531176efbe5e00f517bd013f72a8e' }), h("p", { key: '67ceef747a599600283712b06acaf3d658196cc1', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && h("label", { key: '0404bc452da839060304e179697e1ec0e6247764' }, " Reenviar em", h("countdown-timer", { key: 'ee0eff1200cfabafdecbe2909ec46e426b40b1da', minutos: 0, segundos: 30, dataCriacao: this.buildTime(), downtime: () => this.handleTimeout() }), " "), this.canResend && (h("div", { key: '5bac75dd6bcc930f3d59ba07190b6c5778147987' }, h("a", { key: 'fba49bfc8004dadce5c61fbf8275e009c7898165', onClick: () => this.handleResend() }, "Reenviar"), h("a", { key: 'ce3e1b2e0683c28ad5c1f8dae62b00bbe8b8e6d5', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), h("crm-button", { key: '58e3a04308775601cf72ab9db8d877bd6a988c4d', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
278
- }
279
- };
280
- GiftbackPin.style = PinFormStyle0 + PinFormStyle1;
281
-
282
- export { Tooltip as crm_tooltip, GiftbackInfo as giftback_info, PhoneForm as phone_form, PhoneInputMask as phone_input_mask, GiftbackPin as pin_form };
283
-
284
- //# sourceMappingURL=crm-tooltip_5.entry.js.map