crmbonus-component-wake 2.0.86 → 2.0.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-modal.cjs.entry.js +1 -1
- package/dist/cjs/countdown-timer_5.cjs.entry.js +12 -19
- package/dist/cjs/countdown-timer_5.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus-note.cjs.entry.js +24 -12
- package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus.cjs.entry.js +1 -1
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js +12 -11
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js.map +1 -1
- package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
- package/dist/cjs/{i18n-03b74fb8.js → i18n-f2a6f60e.js} +3 -2
- package/dist/cjs/{i18n-03b74fb8.js.map → i18n-f2a6f60e.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
- package/dist/cjs/pedido-finalizado.cjs.entry.js +1 -1
- package/dist/cjs/phone-input-mask.cjs.entry.js +1 -1
- package/dist/collection/components/giftback-form/giftback-form.css +1 -0
- package/dist/collection/components/giftback-form/giftback-form.js +9 -8
- package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +4 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +5 -12
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
- package/dist/collection/components/loading-container/loading-container.js +1 -1
- package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
- package/dist/collection/components/modal/app-modal.js +1 -1
- package/dist/collection/components/note/crm-bonus-note.css +10 -0
- package/dist/collection/components/note/crm-bonus-note.js +21 -10
- package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
- package/dist/collection/components/pedido/pedido.js +1 -1
- package/dist/collection/components/phone/phone-input-mask.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/i18n/i18n.js +2 -1
- package/dist/collection/i18n/i18n.js.map +1 -1
- package/dist/components/app-modal.js +1 -1
- package/dist/components/crm-bonus-form.js +4 -4
- package/dist/components/crm-bonus-note.js +39 -14
- package/dist/components/crm-bonus-note.js.map +1 -1
- package/dist/components/crm-bonus.js +10 -10
- package/dist/components/crm-button.js +1 -1
- package/dist/components/crm-giftback-form.js +1 -1
- package/dist/components/crm-tooltip.js +1 -1
- package/dist/components/giftback-info.js +1 -1
- package/dist/components/giftback-pin.js +1 -1
- package/dist/components/giftback-progress.js +1 -1
- package/dist/components/loading-container.js +1 -1
- package/dist/components/loading-spinner.js +1 -1
- package/dist/components/name-input.js +1 -1
- package/dist/components/{p-79fec4b2.js → p-042a18d6.js} +2 -2
- package/dist/components/{p-79fec4b2.js.map → p-042a18d6.js.map} +1 -1
- package/dist/components/{p-ccf2c2ed.js → p-403f577a.js} +19 -18
- package/dist/components/p-403f577a.js.map +1 -0
- package/dist/components/{p-749a0632.js → p-55d602f7.js} +2 -2
- package/dist/components/{p-749a0632.js.map → p-55d602f7.js.map} +1 -1
- package/dist/components/{p-2dfeae64.js → p-56ddaea3.js} +2 -2
- package/dist/components/{p-2dfeae64.js.map → p-56ddaea3.js.map} +1 -1
- package/dist/components/{p-0a3cdf33.js → p-5e4ed700.js} +2 -2
- package/dist/components/{p-0a3cdf33.js.map → p-5e4ed700.js.map} +1 -1
- package/dist/components/{p-15fdee2f.js → p-789a21e1.js} +6 -6
- package/dist/components/{p-15fdee2f.js.map → p-789a21e1.js.map} +1 -1
- package/dist/components/{p-8aab89d2.js → p-86df344c.js} +2 -2
- package/dist/components/{p-8aab89d2.js.map → p-86df344c.js.map} +1 -1
- package/dist/components/{p-cb13774f.js → p-ae3a4f2a.js} +2 -2
- package/dist/components/{p-cb13774f.js.map → p-ae3a4f2a.js.map} +1 -1
- package/dist/components/{p-5032086b.js → p-c7cea417.js} +6 -6
- package/dist/components/{p-5032086b.js.map → p-c7cea417.js.map} +1 -1
- package/dist/components/{p-4dd7aa7c.js → p-c7fa9cbd.js} +2 -2
- package/dist/components/{p-4dd7aa7c.js.map → p-c7fa9cbd.js.map} +1 -1
- package/dist/components/{p-430ee6c6.js → p-dcfb5af9.js} +2 -2
- package/dist/components/{p-430ee6c6.js.map → p-dcfb5af9.js.map} +1 -1
- package/dist/components/{p-04cdbceb.js → p-de9b0b1a.js} +9 -16
- package/dist/components/p-de9b0b1a.js.map +1 -0
- package/dist/components/{p-d5fa47cd.js → p-e8c19a64.js} +3 -2
- package/dist/components/{p-d5fa47cd.js.map → p-e8c19a64.js.map} +1 -1
- package/dist/components/pedido-finalizado.js +1 -1
- package/dist/components/phone-cancel-input.js +2 -2
- package/dist/components/phone-form.js +1 -1
- package/dist/components/phone-input-mask.js +1 -1
- package/dist/components/phone-input.js +2 -2
- package/dist/components/pin-form.js +1 -1
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
- package/dist/crmbonus-component-wake/p-095ddc06.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-095ddc06.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-35865a9f.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-35865a9f.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7de6850f.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-7de6850f.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-be14d7c4.entry.js +2 -0
- package/dist/crmbonus-component-wake/{p-5bdb505d.entry.js → p-d4ac9a11.entry.js} +2 -2
- package/dist/crmbonus-component-wake/{p-801497d6.entry.js → p-e2acfd0b.entry.js} +2 -2
- package/dist/crmbonus-component-wake/{p-cd1ed04d.entry.js → p-e4f165a8.entry.js} +2 -2
- package/dist/crmbonus-component-wake/{p-d5fa47cd.js → p-e8c19a64.js} +2 -2
- package/dist/crmbonus-component-wake/p-e8c19a64.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-6227735e.entry.js → p-fd432c04.entry.js} +2 -2
- package/dist/esm/app-modal.entry.js +1 -1
- package/dist/esm/countdown-timer_5.entry.js +12 -19
- package/dist/esm/countdown-timer_5.entry.js.map +1 -1
- package/dist/esm/crm-bonus-note.entry.js +24 -12
- package/dist/esm/crm-bonus-note.entry.js.map +1 -1
- package/dist/esm/crm-bonus.entry.js +1 -1
- package/dist/esm/crm-giftback-form_2.entry.js +12 -11
- package/dist/esm/crm-giftback-form_2.entry.js.map +1 -1
- package/dist/esm/crmbonus-component-wake.js +1 -1
- package/dist/esm/{i18n-a7cab75d.js → i18n-e8150dff.js} +3 -2
- package/dist/esm/{i18n-a7cab75d.js.map → i18n-e8150dff.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-spinner.entry.js +1 -1
- package/dist/esm/pedido-finalizado.entry.js +1 -1
- package/dist/esm/phone-input-mask.entry.js +1 -1
- package/dist/types/components/giftback-form/subcomponents/giftback-info/giftback-info.d.ts +0 -1
- package/dist/types/components/note/crm-bonus-note.d.ts +7 -2
- package/package.json +1 -1
- package/dist/components/p-04cdbceb.js.map +0 -1
- package/dist/components/p-ccf2c2ed.js.map +0 -1
- package/dist/crmbonus-component-wake/p-0d374b83.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-0d374b83.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-c207044b.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-d1f879c6.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-d1f879c6.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-d5fa47cd.js.map +0 -1
- package/dist/crmbonus-component-wake/p-d67f7a32.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-d67f7a32.entry.js.map +0 -1
- /package/dist/crmbonus-component-wake/{p-c207044b.entry.js.map → p-be14d7c4.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-5bdb505d.entry.js.map → p-d4ac9a11.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-801497d6.entry.js.map → p-e2acfd0b.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-cd1ed04d.entry.js.map → p-e4f165a8.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-6227735e.entry.js.map → p-fd432c04.entry.js.map} +0 -0
package/dist/cjs/loader.cjs.js
CHANGED
@@ -8,7 +8,7 @@ const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
9
9
|
if (typeof window === 'undefined') return undefined;
|
10
10
|
await appGlobals.globalScripts();
|
11
|
-
return index.bootstrapLazy([["crm-bonus.cjs",[[2,"crm-bonus",{"userId":[2,"userid"],"storeName":[8,"storename"],"productsInString":[1,"products"],"cartId":[8,"cartid"],"showModal":[32],"products":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"resetBonus":[64],"reprocess":[64]},null,{"productsInString":["watchProducts"]}]]],["crm-bonus-form.cjs",[[1,"crm-bonus-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"sent":[16],"stepNext":[2,"step-next"],"phone":[2],"loadingModal":[4,"loading-modal"],"saveStore":[16],"cancel":[16],"handleCustomerName":[16],"loading":[32],"step":[32],"message":[32],"bonus":[32],"setStep":[64]}]]],["
|
11
|
+
return index.bootstrapLazy([["crm-bonus.cjs",[[2,"crm-bonus",{"userId":[2,"userid"],"storeName":[8,"storename"],"productsInString":[1,"products"],"cartId":[8,"cartid"],"showModal":[32],"products":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"amountCancel":[32],"sent":[32],"session":[32],"loading_reprocess":[32],"resetBonus":[64],"reprocess":[64]},null,{"productsInString":["watchProducts"]}]]],["crm-bonus-form.cjs",[[1,"crm-bonus-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"sent":[16],"stepNext":[2,"step-next"],"phone":[2],"loadingModal":[4,"loading-modal"],"saveStore":[16],"cancel":[16],"handleCustomerName":[16],"loading":[32],"step":[32],"message":[32],"bonus":[32],"setStep":[64]}]]],["crm-bonus-note.cjs",[[0,"crm-bonus-note",{"cartId":[8,"cartid"],"storename":[8],"url":[32],"config":[32],"bonus":[32]}]]],["phone-cancel-input.cjs",[[0,"phone-cancel-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["phone-input.cjs",[[0,"phone-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["app-modal.cjs",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["pedido-finalizado.cjs",[[0,"pedido-finalizado",{"cartId":[1,"cartid"],"orderId":[2,"orderid"],"metadadoString":[1,"metadado"]}]]],["crm-button.cjs",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}]]],["phone-input-mask.cjs",[[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["loading-spinner.cjs",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_5.cjs",[[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",{"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32]},null,{"bonus":["changedBonus"]}],[1,"countdown-timer",{"downtime":[16],"counter":[32]}],[0,"crm-tooltip",{"text":[1]}]]],["crm-giftback-form_2.cjs",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"loadProducts":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32],"setStep":[64],"processBonus":[64]}],[4,"loading-container",{"loading":[4]}]]],["giftback-finish_4.cjs",[[1,"giftback-pin",{"sent":[16],"validate":[16],"cancel":[16],"loading":[4],"pin":[32],"isVerified":[32]}],[1,"giftback-progress",{"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"usedValue":[32]}],[0,"name-input",{"value":[1],"loading":[4],"applyName":[16],"cancel":[16],"newValue":[32],"message":[32]}],[1,"giftback-finish"]]]], options);
|
12
12
|
};
|
13
13
|
|
14
14
|
exports.setNonce = index.setNonce;
|
@@ -14,7 +14,7 @@ const LoadingSpinner = class {
|
|
14
14
|
this.color = '#0078d7';
|
15
15
|
}
|
16
16
|
render() {
|
17
|
-
return (index.h("div", { key: '
|
17
|
+
return (index.h("div", { key: '647c9d808116de9492a829deccae3bf69318c437', class: "spinner", style: { width: this.size, height: this.size, borderColor: `${this.color} transparent transparent transparent` } }));
|
18
18
|
}
|
19
19
|
};
|
20
20
|
LoadingSpinner.style = LoadingSpinnerStyle0;
|
@@ -50,7 +50,7 @@ const PhoneInputMask = class {
|
|
50
50
|
return this.phone;
|
51
51
|
}
|
52
52
|
render() {
|
53
|
-
return (index.h("div", { key: '
|
53
|
+
return (index.h("div", { key: '157a937f248ee6bbc25bb2ea4b1b30b307f21610' }, index.h("input", { key: '4fd6383cef53ddbb9b080224919f0fee0f3f8127', disabled: this.disabled, id: "phone", type: "text", class: "phone-input-form", value: this.phone, onInput: (event) => this.handleInput(event), placeholder: "(99) 99999 9999" }), index.h("p", { key: '56b0dda6417f25b55aae2f8ce6eee6f879f57ea1', class: "crm-erro-msg" }, this.message)));
|
54
54
|
}
|
55
55
|
};
|
56
56
|
PhoneInputMask.style = PhoneInputMaskStyle0;
|
@@ -108,7 +108,7 @@ export class CrmBonus {
|
|
108
108
|
var _a, _b, _c;
|
109
109
|
this.loadProducts();
|
110
110
|
const used_or_no = localStorage.getItem(USED_KEY);
|
111
|
-
if (used_or_no == "
|
111
|
+
if (used_or_no == "dontUse") {
|
112
112
|
this.step = StepFormEnum.STEP_RESERVE;
|
113
113
|
return;
|
114
114
|
}
|
@@ -137,6 +137,7 @@ export class CrmBonus {
|
|
137
137
|
localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
|
138
138
|
localStorage.setItem(`bc:${this.phone}`, StatusGiftBackProcess.VALIDATE);
|
139
139
|
localStorage.setItem(USED_KEY, "use");
|
140
|
+
localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());
|
140
141
|
this.step = StepFormEnum.STEP_RESERVE;
|
141
142
|
}
|
142
143
|
catch (error) {
|
@@ -161,8 +162,8 @@ export class CrmBonus {
|
|
161
162
|
this.message = "";
|
162
163
|
this.loading = true;
|
163
164
|
try {
|
164
|
-
await this.crmBonusService.
|
165
|
-
|
165
|
+
await this.crmBonusService.cancel(this.cartId);
|
166
|
+
localStorage.setItem(USED_KEY, "dontUse");
|
166
167
|
this.save(0);
|
167
168
|
}
|
168
169
|
catch (error) {
|
@@ -203,11 +204,11 @@ export class CrmBonus {
|
|
203
204
|
});
|
204
205
|
}
|
205
206
|
render() {
|
206
|
-
return (h("div", { key: '
|
207
|
-
h("phone-form", { key: '
|
208
|
-
h("pin-form", { key: '
|
209
|
-
h("giftback-info", { key: '
|
210
|
-
(h("div", { key: '
|
207
|
+
return (h("div", { key: '88ef0275835f4226b0fdbce8396519c1968e2e85', class: "crm-container-form fbits-responsive-carrinho-desconto" }, h("label", { key: '33ee747b3f555c53c4c5d25e7d4f88145c284cba', class: "crm-title" }, this.config.giftbackTitle), this.step === StepFormEnum.STEP_PHONE &&
|
208
|
+
h("phone-form", { key: 'f19816dbca45d00dd1286e064ee34437caa1c127', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
|
209
|
+
h("pin-form", { key: '68c8c737cbcae51df528f1190ec0686054df779c', 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: '553d9498b361522ff135853920913eab1319ea59', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: 'e37c2608dd649a0599598fdb299914fb67256795', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
|
210
|
+
h("giftback-info", { key: '8425673ca96fe86296e8255f5b5a6ee1d864a122', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.handleApply() }), this.step === StepFormEnum.STEP_NO_BONUS &&
|
211
|
+
(h("div", { key: '20aaa256875b30cb3dab1ad1d7f5a618842e4d4c', class: "container-message" }, i18next.t("noGiftback", { storename: this.config.giftbackTitle })))));
|
211
212
|
}
|
212
213
|
static get is() { return "crm-giftback-form"; }
|
213
214
|
static get originalStyleUrls() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"giftback-form.js","sourceRoot":"","sources":["../../../../src/components/giftback-form/giftback-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StatusGiftBackProcess, StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_PHONE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n \n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n\n }\n\n\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin()\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n await this.handleApply()\n\n }\n\n async handleApply() {\n console.log('processBonus')\n await this.processBonus();\n\n // const bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n // if (bonus) {\n // this.bonus = JSON.parse(bonus);\n // this.step = StepFormEnum.STEP_RESERVE; \n // }\n\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber()\n\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n\n if (localStorage.getItem(`bc:${this.phone}`)) {\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"use\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: parseInt(this.phone),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, StatusGiftBackProcess.VALIDATE)\n\n localStorage.setItem(USED_KEY, \"use\")\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancelBonus(this.cartId, this.storeName);\n // localStorage.removeItem(this.cartId);\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}"]}
|
1
|
+
{"version":3,"file":"giftback-form.js","sourceRoot":"","sources":["../../../../src/components/giftback-form/giftback-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StatusGiftBackProcess, StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_PHONE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n \n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n\n }\n\n\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin()\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n await this.handleApply()\n\n }\n\n async handleApply() {\n console.log('processBonus')\n await this.processBonus();\n\n // const bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n // if (bonus) {\n // this.bonus = JSON.parse(bonus);\n // this.step = StepFormEnum.STEP_RESERVE; \n // }\n\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber()\n\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n\n if (localStorage.getItem(`bc:${this.phone}`)) {\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: parseInt(this.phone),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, StatusGiftBackProcess.VALIDATE)\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.handleApply()}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}"]}
|
package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js
CHANGED
@@ -46,33 +46,26 @@ export class GiftbackInfo {
|
|
46
46
|
}
|
47
47
|
async handleOptionChange(option) {
|
48
48
|
this.selectedOption = option;
|
49
|
-
|
49
|
+
localStorage.setItem(USED_KEY, option);
|
50
50
|
switch (this.selectedOption) {
|
51
51
|
case 'use':
|
52
52
|
await this.reserve(this.usedValue);
|
53
53
|
break;
|
54
54
|
case 'dontUse':
|
55
|
-
|
56
|
-
await this.cancel();
|
57
|
-
}
|
55
|
+
await this.cancel();
|
58
56
|
break;
|
59
57
|
default:
|
60
58
|
}
|
61
59
|
}
|
62
|
-
canCancelSetOption(option) {
|
63
|
-
const opt = localStorage.getItem(USED_KEY);
|
64
|
-
localStorage.setItem(USED_KEY, option);
|
65
|
-
return (opt === "use");
|
66
|
-
}
|
67
60
|
render() {
|
68
61
|
const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;
|
69
62
|
const translateDescription = i18next.t("giftDescription", { amount: `${this.bonus.totalBonus.toFixed(2).replace(".", ",")}`, custom_name: "Giftback" });
|
70
63
|
const limit = defineLimit(remainingGiftback);
|
71
|
-
return (h("div", { key: '
|
64
|
+
return (h("div", { key: 'c06986fff1a50f711c8ca98da3eaf57ccd0a7560', class: "giftback-container" }, h("div", { key: 'f27cf15064189bf00d411d412a639ac55838e229', class: "container-description" }, h("p", { key: '8ada48fce7f65d0fd299d7159c212e56c11fd137', innerHTML: translateDescription }), h("crm-tooltip", { key: 'a01b71eb572c59083b71fbb0bc253d25a98766c8', text: i18next.t("labelUseGiftback", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) }) })), h("div", { key: 'e0845bbe16766d6014abc7871b11bda6e063a82d', class: "slider-wrapper" }, h("div", { key: '30f4a0966a53b345383ee830bce10c5452cbf609', class: "slider-value", style: {
|
72
65
|
left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto
|
73
|
-
} }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: '
|
66
|
+
} }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: 'ffe2936100592ea268dcfe38612d1970214ec781', disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
|
74
67
|
background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,
|
75
|
-
} })), limit.isComplete && (h("p", { key: '
|
68
|
+
} })), limit.isComplete && (h("p", { key: 'c8986b0033944ce816ce08bbd64649872a8a746d' }, i18next.t("maxAmount"))), !limit.isComplete && (h("div", { key: '62740374395aa5317f11e24cb2cf0a9a120311a4', class: "container-description" }, h("p", { key: '8576d4033b6ee8c4d9480567cc02eab39115b73e' }, "Adicione ", h("strong", { key: 'd44715169e83f0417567f47a3840627ca988bcc2' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("crm-tooltip", { key: '08ad8b1dc3fb15beffb7df2dcf3b57b06eda1677', text: i18next.t("labelamountPartial") }))), h("div", { key: '1c759e38447421c6df58b56d2dcfa595f424d132', class: "options" }, h("div", { key: 'f177d626ac4d9574163033614f50a9e01cc0215e', class: "options-option" }, h("input", { key: '1d8005e868fe609c61b1b8c96d815869a7c184d4', type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), h("p", { key: 'fb7d57ab3d223e6fbdcdd89cc0d0d2d5c1d63bdc' }, "Usar o meu Giftback")), h("div", { key: 'b08c70164a7efc6f4ead874136507a6ecd8dfd5e', class: "options-option" }, h("input", { key: '89428cd098963eb0d02ac4833976bc890eb0edd3', type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), h("p", { key: 'a12f25029b102995383f3ee1f752ec64bb9225fc' }, "N\u00E3o usar o meu Giftback"))), h("div", { key: 'ce1a35144b0a20049051844fb5049951444383bc', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa.")));
|
76
69
|
}
|
77
70
|
static get is() { return "giftback-info"; }
|
78
71
|
static get originalStyleUrls() {
|
package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"giftback-info.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, Watch, h } from \"@stencil/core\";\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\n\nimport i18next from '../../../../i18n/i18n'\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\n\n@Component({\n tag: 'giftback-info',\n styleUrls: ['giftback-info.css']\n})\nexport class GiftbackInfo {\n @State() usedValue: number = 0;\n @State() selectedOption: string = 'none';\n\n @Prop() loading: boolean = false;\n @Prop() bonus: Partial<IBonus> = {\n totalBonus: 150,\n cartId: \"\",\n minimumPurchase: 500,\n bonusBalance: 50,\n calculatedValue: 150,\n firstValidityDate: \"\",\n totalValue: 400\n };\n @Prop() reserve: (amountRedeemed: number) => void;\n @Prop() cancel: () => void;\n\n @State() sliderPosition: number = 50;\n\n @Watch(\"bonus\")\n changedBonus() {\n this.updateBonus()\n }\n\n private updateBonus() {\n this.usedValue = parseFloat(this.bonus.bonusBalance.toString());\n this.buildPositionSlider(0, this.bonus.totalBonus);\n }\n\n componentWillLoad() {\n this.updateBonus();\n this.selectedOption = localStorage.getItem(USED_KEY);\n }\n\n handleSliderChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.usedValue = parseFloat(input.value);\n\n // Calculando a posição do texto com base no valor do slider\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\n // this.sliderPosition = percentage;\n\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\n }\n\n\n private buildPositionSlider(min: number, max: number) {\n // Calculando a posição do texto com base no valor do slider\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\n this.sliderPosition = percentage;\n }\n\n async handleOptionChange(option: string) {\n this.selectedOption = option;\n\n const canCancel = this.canCancelSetOption(option);\n\n switch (this.selectedOption) {\n case 'use':\n await this.reserve(this.usedValue)\n break;\n case 'dontUse':\n if (canCancel) {\n await this.cancel();\n }\n break;\n default:\n }\n }\n\n\n private canCancelSetOption(option: string): boolean {\n\n const opt = localStorage.getItem(USED_KEY);\n\n localStorage.setItem(USED_KEY, option)\n\n return (opt === \"use\")\n }\n\n render() {\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\n\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus.totalBonus.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\n\n const limit = defineLimit(remainingGiftback)\n\n return (\n\n <div class=\"giftback-container\">\n <div class=\"container-description\">\n <p innerHTML={translateDescription}></p>\n <crm-tooltip text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\n </div>\n <div class=\"slider-wrapper\">\n <div\n class=\"slider-value\"\n style={{\n left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto\n\n }}\n >\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\n </div>\n <input\n disabled\n type=\"range\"\n min=\"0\"\n max={this.bonus.totalBonus}\n value={this.usedValue}\n class=\"slider\"\n step=\"0.01\"\n onInput={(event) => this.handleSliderChange(event)}\n style={{\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\n }}\n />\n </div>\n\n {\n limit.isComplete && (\n <p>\n {i18next.t(\"maxAmount\")}\n </p>\n )\n }\n\n {\n !limit.isComplete && (\n <div class=\"container-description\">\n <p>\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\n máximo!\n </p>\n\n <crm-tooltip text={i18next.t(\"labelamountPartial\")} />\n </div>\n )\n }\n\n\n <div class=\"options\">\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"use\"\n checked={this.selectedOption === 'use'}\n onChange={() => this.handleOptionChange('use')}\n />\n <p>Usar o meu Giftback</p>\n </label>\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"dontUse\"\n checked={this.selectedOption === 'dontUse'}\n onChange={() => this.handleOptionChange('dontUse')}\n />\n Não usar o meu Giftback\n </label>\n </div>\n <div class=\"info-box\">\n O Giftback será aplicado na próxima etapa.\n </div>\n </div>\n );\n }\n}"]}
|
1
|
+
{"version":3,"file":"giftback-info.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,OAAO,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAMtE,MAAM,OAAO,YAAY;;yBACQ,CAAC;8BACI,MAAM;uBAEb,KAAK;qBACC;YAC7B,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,GAAG;YACpB,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,GAAG;SAClB;;;8BAIiC,EAAE;;IAGpC,YAAY;QACR,IAAI,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB,CAAC,KAAY;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzC,4DAA4D;QAC5D,mHAAmH;QACnH,oCAAoC;QAEpC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC;IAGO,mBAAmB,CAAC,GAAW,EAAE,GAAW;QAChD,4DAA4D;QAC5D,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAE7B,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,KAAK;gBACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAClC,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM;YACV,QAAQ;QACZ,CAAC;IACL,CAAC;IAED,MAAM;QACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAE7E,MAAM,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;QAEvJ,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;QAE5C,OAAO,CAEH,4DAAK,KAAK,EAAC,oBAAoB;YAC3B,4DAAK,KAAK,EAAC,uBAAuB;gBAC9B,0DAAG,SAAS,EAAE,oBAAoB,GAAM;gBACxC,oEAAa,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAI,CACjK;YACN,4DAAK,KAAK,EAAC,gBAAgB;gBACvB,4DACI,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ,IAAI,CAAC,cAAc,WAAW,EAAE,kCAAkC;qBAEnF;;oBAEG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7C;gBACN,8DACI,QAAQ,QACR,IAAI,EAAC,OAAO,EACZ,GAAG,EAAC,GAAG,EACP,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE;wBACH,UAAU,EAAE,qCAAqC,IAAI,CAAC,cAAc,WAAW,IAAI,CAAC,cAAc,IAAI;qBACzG,GACH,CACA;YAGF,KAAK,CAAC,UAAU,IAAI,CAChB,4DACK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CACvB,CACP;YAID,CAAC,KAAK,CAAC,UAAU,IAAI,CACjB,4DAAK,KAAK,EAAC,uBAAuB;gBAC9B;;oBACa;;wBAAY,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAU;qEAE9G;gBAEJ,oEAAa,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAI,CACpD,CACT;YAIL,4DAAK,KAAK,EAAC,SAAS;gBAChB,4DAAK,KAAK,EAAC,gBAAgB;oBACvB,8DACI,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,KAAK,EACX,OAAO,EAAE,IAAI,CAAC,cAAc,KAAK,KAAK,EACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAChD;oBACF,kFAA0B,CACxB;gBACN,4DAAK,KAAK,EAAC,gBAAgB;oBACvB,8DACI,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,cAAc,KAAK,SAAS,EAC1C,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GACpD;oBACF,2FAA8B,CAC5B,CACJ;YACN,4DAAK,KAAK,EAAC,UAAU,2DAEf,CACJ,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Prop, State, Watch, h } from \"@stencil/core\";\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\n\nimport i18next from '../../../../i18n/i18n'\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\n\n@Component({\n tag: 'giftback-info',\n styleUrls: ['giftback-info.css']\n})\nexport class GiftbackInfo {\n @State() usedValue: number = 0;\n @State() selectedOption: string = 'none';\n\n @Prop() loading: boolean = false;\n @Prop() bonus: Partial<IBonus> = {\n totalBonus: 150,\n cartId: \"\",\n minimumPurchase: 500,\n bonusBalance: 50,\n calculatedValue: 150,\n firstValidityDate: \"\",\n totalValue: 400\n };\n @Prop() reserve: (amountRedeemed: number) => void;\n @Prop() cancel: () => void;\n\n @State() sliderPosition: number = 50;\n\n @Watch(\"bonus\")\n changedBonus() {\n this.updateBonus()\n }\n\n private updateBonus() {\n this.usedValue = parseFloat(this.bonus.bonusBalance.toString());\n this.buildPositionSlider(0, this.bonus.totalBonus);\n }\n\n componentWillLoad() {\n this.updateBonus();\n this.selectedOption = localStorage.getItem(USED_KEY);\n }\n\n handleSliderChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.usedValue = parseFloat(input.value);\n\n // Calculando a posição do texto com base no valor do slider\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\n // this.sliderPosition = percentage;\n\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\n }\n\n\n private buildPositionSlider(min: number, max: number) {\n // Calculando a posição do texto com base no valor do slider\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\n this.sliderPosition = percentage;\n }\n\n async handleOptionChange(option: string) {\n this.selectedOption = option;\n \n localStorage.setItem(USED_KEY, option);\n switch (this.selectedOption) {\n case 'use':\n await this.reserve(this.usedValue)\n break;\n case 'dontUse':\n await this.cancel();\n break;\n default:\n }\n }\n\n render() {\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\n\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus.totalBonus.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\n\n const limit = defineLimit(remainingGiftback)\n\n return (\n\n <div class=\"giftback-container\">\n <div class=\"container-description\">\n <p innerHTML={translateDescription}></p>\n <crm-tooltip text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\n </div>\n <div class=\"slider-wrapper\">\n <div\n class=\"slider-value\"\n style={{\n left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto\n\n }}\n >\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\n </div>\n <input\n disabled\n type=\"range\"\n min=\"0\"\n max={this.bonus.totalBonus}\n value={this.usedValue}\n class=\"slider\"\n step=\"0.01\"\n onInput={(event) => this.handleSliderChange(event)}\n style={{\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\n }}\n />\n </div>\n\n {\n limit.isComplete && (\n <p>\n {i18next.t(\"maxAmount\")}\n </p>\n )\n }\n\n {\n !limit.isComplete && (\n <div class=\"container-description\">\n <p>\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\n máximo!\n </p>\n\n <crm-tooltip text={i18next.t(\"labelamountPartial\")} />\n </div>\n )\n }\n\n\n <div class=\"options\">\n <div class=\"options-option\">\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"use\"\n checked={this.selectedOption === 'use'}\n onChange={() => this.handleOptionChange('use')}\n />\n <p>Usar o meu Giftback</p>\n </div>\n <div class=\"options-option\">\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"dontUse\"\n checked={this.selectedOption === 'dontUse'}\n onChange={() => this.handleOptionChange('dontUse')}\n />\n <p>Não usar o meu Giftback</p>\n </div>\n </div>\n <div class=\"info-box\">\n O Giftback será aplicado na próxima etapa.\n </div>\n </div>\n );\n }\n}"]}
|
@@ -12,7 +12,7 @@ export class PhoneForm {
|
|
12
12
|
}
|
13
13
|
render() {
|
14
14
|
var _a;
|
15
|
-
return (h(Host, { key: '
|
15
|
+
return (h(Host, { key: 'd41578c99f54f76083ad62b2d3e53b969f51c323', class: "crm-phone-form" }, h("label", { key: '2c615b13f79cfed14b8c14b713216b5d53e05769', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra:"), h("phone-input-mask", { key: '05383570a3518ef1ae3d0085f8411662eb719486', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), h("crm-button", { key: '90289afc0783e5f78a8091c7f53c657721f13641', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
|
16
16
|
}
|
17
17
|
static get is() { return "phone-form"; }
|
18
18
|
static get originalStyleUrls() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"phone-form.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/phone-form/phone-form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,SAAS;;;;;;;IAWlB,KAAK,CAAC,WAAW;QAEb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;QAElD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAGD,MAAM;;QACF,OAAO,CACH,EAAC,IAAI,qDAAC,KAAK,EAAC,gBAAgB;YACxB,8DAAO,KAAK,EAAC,cAAc,
|
1
|
+
{"version":3,"file":"phone-form.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/phone-form/phone-form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,SAAS;;;;;;;IAWlB,KAAK,CAAC,WAAW;QAEb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;QAElD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAGD,MAAM;;QACF,OAAO,CACH,EAAC,IAAI,qDAAC,KAAK,EAAC,gBAAgB;YACxB,8DAAO,KAAK,EAAC,cAAc,4FAAqF;YAChH,yEAAkB,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,GAAI;YAErF,mEAAY,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,kBAAkB,KAAI,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAK,CAChI,CACV,CAAA;IACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Host, Prop, h } from \"@stencil/core\";\nimport { IInfoStore } from \"../../../../helpers/info.config.helper\";\n\n@Component({\n tag: 'phone-form',\n styleUrl: '../../giftback-form.css'\n})\nexport class PhoneForm {\n\n private phoneInputMask: HTMLPhoneInputMaskElement;\n\n @Prop() value: string;\n @Prop() loading: boolean;\n @Prop() handlerSubmit: (phone: string) => void;\n\n @Prop() config: IInfoStore;\n\n\n async handlePhone() {\n\n const phone = await this.phoneInputMask.getPhone()\n\n await this.handlerSubmit(phone);\n }\n\n\n render() {\n return (\n <Host class=\"crm-phone-form\">\n <label class=\"crm-subtitle\" >Digite o seu celular para verificar se há desconto disponível nessa compra:</label>\n <phone-input-mask initialValue={this.value} ref={ref => this.phoneInputMask = ref} />\n\n <crm-button txtBtn={this.config?.btnApplyBonusLabel || \"Avançar\"} loading={this.loading} handleClick={() => this.handlePhone() } />\n </Host>\n )\n }\n}"]}
|
@@ -46,7 +46,7 @@ export class GiftbackPin {
|
|
46
46
|
}
|
47
47
|
render() {
|
48
48
|
var _a;
|
49
|
-
return (h("div", { key: '
|
49
|
+
return (h("div", { key: '4feca5ebbdcba078f526bcbbb1e8f59cd9f69d2f', class: "crm-phone-form" }, h("label", { key: '51653ca43a050fd67dfba6a8525bfe3791076cff', class: "crm-subtitle" }, i18next.t('pin-sutitle'), " ", h("strong", { key: '8a47e532dc3bd566d23057e675261b50c97442c8' }, "+55 ", this.phone)), h("div", { key: 'eb367b999bb7c491e9cc792b8ea279bff71de435', 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: '377bc33633df2c82ab1970c88e20bdbd9181d525' }), h("p", { key: '96769dc2bac4842ed9e259735381f25451bbe77d', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && h("label", { key: '9c3f25a357ae41aef6c16b11598a1cbd9ea32982' }, " Reenviar em ", h("countdown-timer", { key: 'a7a98f65cdcf0a88df4ce2f98d8694b0cf5c974c', downtime: () => this.handleTimeout() }), " "), this.canResend && (h("div", { key: '178c9b536d81f49d10240c55edfbe7dbb02076bb' }, h("a", { key: '8b07796bd9a3349cdf994ccd963fe4333466eb22', onClick: () => this.handleResend() }, "Reenviar"), h("a", { key: '59289faea47104ec3ebc9818a43dbd205fc0a2bf', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), h("crm-button", { key: 'feecbd5c1681ae1adb8bd9ca8ba01b96252f6c5c', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
|
50
50
|
}
|
51
51
|
static get is() { return "pin-form"; }
|
52
52
|
static get encapsulation() { return "shadow"; }
|
@@ -4,7 +4,7 @@ export class LoadingContainer {
|
|
4
4
|
this.loading = true;
|
5
5
|
}
|
6
6
|
render() {
|
7
|
-
return (h("div", { key: '
|
7
|
+
return (h("div", { key: '59fbac8fdb07e1c4a917c9b8ece68d372e8e12e6', class: "relative-xy" }, this.loading && (h("div", { key: '7fad2fc77bab910ce3138cd7082cdfcfd63e046a', class: "loading-container" }, h("div", { key: '715fc1b2ad9a6e388bd1908d1dcbc075e1bdbfd5', class: "loading-spinner" }))), h("slot", { key: '436691253f9ac25e8910598d34fc10028f0484b6' })));
|
8
8
|
}
|
9
9
|
static get is() { return "loading-container"; }
|
10
10
|
static get originalStyleUrls() {
|
@@ -5,7 +5,7 @@ export class LoadingSpinner {
|
|
5
5
|
this.color = '#0078d7';
|
6
6
|
}
|
7
7
|
render() {
|
8
|
-
return (h("div", { key: '
|
8
|
+
return (h("div", { key: '647c9d808116de9492a829deccae3bf69318c437', class: "spinner", style: { width: this.size, height: this.size, borderColor: `${this.color} transparent transparent transparent` } }));
|
9
9
|
}
|
10
10
|
static get is() { return "loading-spinner"; }
|
11
11
|
static get encapsulation() { return "shadow"; }
|
@@ -8,7 +8,7 @@ export class AppModal {
|
|
8
8
|
this.modalClosed.emit();
|
9
9
|
}
|
10
10
|
render() {
|
11
|
-
return (h("div", { key: '
|
11
|
+
return (h("div", { key: '5c0f884cf7a1cb0b8c6baa883f97d1b045af557d', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '81050ec515bba3b10bf48b2074f0f8edb5327a70', class: "modal" }, h("div", { key: 'd1265b9172a2783c62bb1679ceecda55e796ca23', class: "modal-header" }, h("h3", { key: '24c8ef0db7458ab35a31f76dbe7818b188a0ec00' }, this.modalTitle), h("button", { key: 'c4c007791e87789c9bf30f34f5fe99d2f6077cb6', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '032aa97047f44eb65fcf40dde9700815b8630424', class: "modal-body" }, h("slot", { key: 'f8287a461cdeda48e868d1dd4eba2ee1bdbf92f3' })))));
|
12
12
|
}
|
13
13
|
static get is() { return "app-modal"; }
|
14
14
|
static get encapsulation() { return "shadow"; }
|
@@ -2,6 +2,16 @@
|
|
2
2
|
border: 1px solid #dddddd;
|
3
3
|
padding: 0 15px 15px;
|
4
4
|
margin: 0 0 26px 0px;
|
5
|
+
display: flex;
|
6
|
+
flex-direction: column;
|
7
|
+
gap: 13px;
|
8
|
+
|
9
|
+
|
10
|
+
& .description {
|
11
|
+
display: flex;
|
12
|
+
flex-direction: column;
|
13
|
+
gap: 13px;
|
14
|
+
}
|
5
15
|
}
|
6
16
|
|
7
17
|
.note-container hr {
|
@@ -1,16 +1,15 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
2
|
import { getInfoCustomization } from "../../helpers/info.config.helper";
|
3
3
|
import money from "../../assets/svg/money-dollars-svgrepo-com.svg";
|
4
|
-
import { CrmBonusService } from "../../services/crmbonus.service";
|
5
4
|
import { getKeyReserveByCartId } from "../../utils/keys.storage";
|
6
5
|
import i18next from "../../i18n/i18n";
|
7
|
-
import { StatusGiftBackProcess } from "../../contants";
|
8
6
|
export class CrmBonusNote {
|
9
7
|
constructor() {
|
10
8
|
this.cartId = undefined;
|
11
9
|
this.storename = undefined;
|
12
10
|
this.url = undefined;
|
13
11
|
this.config = undefined;
|
12
|
+
this.bonus = undefined;
|
14
13
|
}
|
15
14
|
componentWillLoad() {
|
16
15
|
this.upadateCheckToFreteAndGetUrl();
|
@@ -29,23 +28,34 @@ export class CrmBonusNote {
|
|
29
28
|
}
|
30
29
|
getAmount() {
|
31
30
|
const amount = localStorage.getItem(this.cartId);
|
32
|
-
return Number(amount).toFixed(2).replace(".", ",") || "0,00";
|
31
|
+
return amount ? Number(amount).toFixed(2).replace(".", ",") || "0,00" : "0,00";
|
33
32
|
}
|
34
|
-
async
|
35
|
-
await CrmBonusService.getInstance().cancelBonus(this.cartId, this.storename);
|
33
|
+
async backCart() {
|
34
|
+
// await CrmBonusService.getInstance().cancelBonus(this.cartId, this.storename);
|
36
35
|
window.location.href = this.url;
|
37
|
-
localStorage.removeItem(getKeyReserveByCartId(this.cartId));
|
36
|
+
// localStorage.removeItem(getKeyReserveByCartId(this.cartId));
|
38
37
|
}
|
39
38
|
hasBonus() {
|
40
39
|
const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));
|
40
|
+
const info = {
|
41
|
+
hasBonus: false,
|
42
|
+
requestBonus: false
|
43
|
+
};
|
41
44
|
if (_bonus) {
|
45
|
+
this.bonus = JSON.parse(_bonus);
|
46
|
+
console.log("bonus", this.bonus);
|
47
|
+
info.hasBonus = this.bonus.hasBonus;
|
48
|
+
info.requestBonus = true;
|
42
49
|
}
|
50
|
+
return info;
|
43
51
|
}
|
44
52
|
render() {
|
45
53
|
const giftbackname = this.config.giftbackTitle || "Giftback";
|
46
|
-
|
47
|
-
|
48
|
-
(h("p", { key: '
|
54
|
+
const infobonus = this.hasBonus();
|
55
|
+
return (h("div", { key: 'dadcd7773ddc22edc998bc9874f528063d2385b9' }, h("div", { key: 'c4f9ec03a00015d11ca2478a2363b77436c0b6c3', class: "note-container" }, h("div", { key: '105ffdb9fffccdd463be397b76cf0a076657af91', class: "note-header" }, h("p", { key: '6eafef1a4ded3c0b9d5bf37b21a4e184af31948f', class: "note-title" }, h("img", { key: '7ee9a33773fa4d550aeb6ae9c32f49744a091d2f', src: money, width: 23 }), this.config.giftbackTitle), infobonus.hasBonus && (h("p", { key: '2250436629c1ea34455ed1540f2842db76896066', class: "back-cart", onClick: () => this.backCart() }, i18next.t("edit")))), infobonus.hasBonus &&
|
56
|
+
(h("p", { key: 'eba4a532b0ec5bf5e355ffb51750c0a2e0437f34', class: "note-description-2" }, i18next.t("withApplyBonus", { giftbackname: giftbackname }), " ", h("strong", { key: '54a09e84dd38a4b236e6c92611d00fd0ad3fbea2' }, "R$ ", this.getAmount(), "."))), (infobonus.requestBonus && !infobonus.hasBonus) &&
|
57
|
+
(h("p", { key: '4a01a4843b9a8dce9e6570000f116bd6c9d76a13', class: "note-description-not" }, i18next.t("noBonus", { giftbackname: giftbackname }))), !infobonus.requestBonus &&
|
58
|
+
(h("div", { key: '7fbe1b45f578fdb6b8e94735b1af08dd36925acb', class: "description" }, h("p", { key: 'dd8e5c4a48fb8ca18653f56c2afaaeae6da1c88e', class: "note-description-not" }, i18next.t("backCart")), h("crm-button", { key: '0fb903030f7562c0b3a21d977086e5818718d624', txtBtn: "VOLTAR AO CARRINHO", handleClick: () => this.backCart() }))))));
|
49
59
|
}
|
50
60
|
static get is() { return "crm-bonus-note"; }
|
51
61
|
static get originalStyleUrls() {
|
@@ -99,7 +109,8 @@ export class CrmBonusNote {
|
|
99
109
|
static get states() {
|
100
110
|
return {
|
101
111
|
"url": {},
|
102
|
-
"config": {}
|
112
|
+
"config": {},
|
113
|
+
"bonus": {}
|
103
114
|
};
|
104
115
|
}
|
105
116
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"crm-bonus-note.js","sourceRoot":"","sources":["../../../../src/components/note/crm-bonus-note.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAc,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,KAAK,MAAM,gDAAgD,CAAA;AAClE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"crm-bonus-note.js","sourceRoot":"","sources":["../../../../src/components/note/crm-bonus-note.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h } from \"@stencil/core\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport money from '../../assets/svg/money-dollars-svgrepo-com.svg'\nimport { getKeyReserveByCartId } from \"../../utils/keys.storage\";\nimport i18next from \"../../i18n/i18n\"\nimport { IBonus } from \"../../components\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop({ attribute: 'cartid' }) cartId;\n @Prop({ attribute: \"storename\" }) storename;\n\n @State() url: string;\n @State() config: IInfoStore;\n\n @State() bonus: IBonus;\n\n componentWillLoad() {\n this.upadateCheckToFreteAndGetUrl()\n }\n\n upadateCheckToFreteAndGetUrl() {\n\n this.config = getInfoCustomization(this.storename);\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n this.url = window.location.origin;\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartId);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartId);\n\n return amount ? Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\" : \"0,00\";\n }\n\n async backCart() {\n // await CrmBonusService.getInstance().cancelBonus(this.cartId, this.storename);\n window.location.href = this.url;\n\n // localStorage.removeItem(getKeyReserveByCartId(this.cartId));\n }\n\n\n hasBonus() {\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n const info = {\n hasBonus: false,\n requestBonus: false\n }\n\n if (_bonus) {\n this.bonus = JSON.parse(_bonus);\n\n console.log(\"bonus\", this.bonus);\n\n info.hasBonus = this.bonus.hasBonus;\n info.requestBonus = true;\n }\n\n return info;\n }\n\n render() {\n\n const giftbackname = this.config.giftbackTitle || \"Giftback\";\n\n const infobonus = this.hasBonus()\n\n return (\n <div>\n <div class=\"note-container\">\n <div class=\"note-header\">\n\n <p class=\"note-title\">\n <img src={money} width={23} />\n {this.config.giftbackTitle}\n </p>\n {\n infobonus.hasBonus && (\n <p class=\"back-cart\" onClick={() => this.backCart()}>\n {i18next.t(\"edit\")}\n </p>\n )\n }\n </div>\n\n {\n infobonus.hasBonus &&\n (\n <p class=\"note-description-2\">\n {i18next.t(\"withApplyBonus\", { giftbackname: giftbackname })} <strong>R$ {this.getAmount()}.</strong>\n </p>\n )\n }\n\n {\n (infobonus.requestBonus && !infobonus.hasBonus) &&\n (\n <p class=\"note-description-not\">\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n )\n }\n\n {\n !infobonus.requestBonus &&\n (\n <div class=\"description\">\n <p class=\"note-description-not\">\n {i18next.t(\"backCart\")}\n </p>\n <crm-button txtBtn=\"VOLTAR AO CARRINHO\" handleClick={() => this.backCart()} />\n </div>\n )\n }\n\n {/* <a class=\"back-cart\" href={this.url}>\n Voltar ao carrinho\n </a> */}\n </div>\n </div>\n )\n }\n}"]}
|
@@ -20,7 +20,7 @@ export class Pedido {
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
render() {
|
23
|
-
return (h("div", { key: '
|
23
|
+
return (h("div", { key: '5994a82fbeedcc73980f628f0dea243fb0172c86' }));
|
24
24
|
}
|
25
25
|
static get is() { return "pedido-finalizado"; }
|
26
26
|
static get properties() {
|
@@ -41,7 +41,7 @@ export class PhoneInputMask {
|
|
41
41
|
return this.phone;
|
42
42
|
}
|
43
43
|
render() {
|
44
|
-
return (h("div", { key: '
|
44
|
+
return (h("div", { key: '157a937f248ee6bbc25bb2ea4b1b30b307f21610' }, h("input", { key: '4fd6383cef53ddbb9b080224919f0fee0f3f8127', 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: '56b0dda6417f25b55aae2f8ce6eee6f879f57ea1', class: "crm-erro-msg" }, this.message)));
|
45
45
|
}
|
46
46
|
static get is() { return "phone-input-mask"; }
|
47
47
|
static get encapsulation() { return "shadow"; }
|
@@ -5,7 +5,7 @@ export class Tooltip {
|
|
5
5
|
this.text = undefined;
|
6
6
|
}
|
7
7
|
render() {
|
8
|
-
return (h("div", { key: '
|
8
|
+
return (h("div", { key: '6184ba9a52a60d1bf2c50687165ad63a869b5b1c', class: "crm-tooltip-container tooltip" }, h("img", { key: '4bab948b85d15c945d3e7a2e65a7e0eaf1116cc3', src: info }), h("span", { key: 'a637a34e82a1d630882c2b367c2aaf59803ee71e', class: "tooltiptext" }, this.text)));
|
9
9
|
}
|
10
10
|
static get is() { return "crm-tooltip"; }
|
11
11
|
static get originalStyleUrls() {
|
@@ -25,7 +25,8 @@ i18next.init({
|
|
25
25
|
withApplyBonus: "{{giftbackname}} aplicado ao pedido: ",
|
26
26
|
maxAmount: "Você atingiu o valor máximo!",
|
27
27
|
labelamountPartial: "Ao utilizar um valor parcial, você perderá a quantia restante.",
|
28
|
-
labelUseGiftback: "Regra de utilização: Valor mínimo de compra de {{minimumPurchase}} reais para usar 100% do Giftback, válido até {{expírationDate}}"
|
28
|
+
labelUseGiftback: "Regra de utilização: Valor mínimo de compra de {{minimumPurchase}} reais para usar 100% do Giftback, válido até {{expírationDate}}",
|
29
|
+
backCart: "Retorne ao carrinho e verifique se há descontos disponíveis nessa compra"
|
29
30
|
},
|
30
31
|
},
|
31
32
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC;IACX,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAC3B,WAAW,EAAE,IAAI,EAAE,qBAAqB;IACxC,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACT,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,aAAa,EAAE,mDAAmD;aACnE;SACF;QACD,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,wDAAwD;gBACvE,eAAe,EAAE,gEAAgE;gBACjF,UAAU,EAAE,4DAA4D;gBACxE,OAAO,EAAE,sDAAsD;gBAC/D,cAAc,EAAE,uCAAuC;gBACvD,SAAS,EAAE,8BAA8B;gBACzC,kBAAkB,EAAE,gEAAgE;gBACpF,gBAAgB,EAAE,oIAAoI;
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC;IACX,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAC3B,WAAW,EAAE,IAAI,EAAE,qBAAqB;IACxC,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACT,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,aAAa,EAAE,mDAAmD;aACnE;SACF;QACD,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,wDAAwD;gBACvE,eAAe,EAAE,gEAAgE;gBACjF,UAAU,EAAE,4DAA4D;gBACxE,OAAO,EAAE,sDAAsD;gBAC/D,cAAc,EAAE,uCAAuC;gBACvD,SAAS,EAAE,8BAA8B;gBACzC,kBAAkB,EAAE,gEAAgE;gBACpF,gBAAgB,EAAE,oIAAoI;gBACtJ,QAAQ,EAAE,0EAA0E;aACrF;SACF;KACF;CACF,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC","sourcesContent":["import i18next from 'i18next';\n\ni18next.init({\n lng: 'pt', // Idioma padrão\n fallbackLng: 'en', // Idioma de fallback\n interpolation: {\n escapeValue: false\n },\n resources: {\n en: {\n translation: {\n welcome: \"Welcome\",\n description: \"This is an example\",\n 'pin-sutitle': \"Enter the 4-digit code sent via SMS to the number\"\n },\n },\n pt: {\n translation: {\n edit: \"Editar\",\n welcome: \"Bem-vindo\",\n description: \"Este é um exemplo\",\n 'pin-sutitle': \"Digite o código de 4 dígitos enviado por SMS ao número\",\n giftDescription: \"Você tem até <strong>R$ {{amount}}</strong> de {{custom_name}}\",\n noGiftback: \"Você não possui {{storename}} disponível para essa compra.\",\n noBonus: \"Não há {{giftbackname}} disponível para essa compra.\",\n withApplyBonus: \"{{giftbackname}} aplicado ao pedido: \",\n maxAmount: \"Você atingiu o valor máximo!\",\n labelamountPartial: \"Ao utilizar um valor parcial, você perderá a quantia restante.\",\n labelUseGiftback: \"Regra de utilização: Valor mínimo de compra de {{minimumPurchase}} reais para usar 100% do Giftback, válido até {{expírationDate}}\",\n backCart: \"Retorne ao carrinho e verifique se há descontos disponíveis nessa compra\"\n },\n },\n },\n});\n\nexport default i18next;\n"]}
|