crmbonus-component-wake 2.1.18-homolog → 2.1.21-homolog-tray
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/{cart.helper-d216033e.js → cart.helper-0a401d80.js} +2 -2
- package/dist/cjs/{cart.helper-d216033e.js.map → cart.helper-0a401d80.js.map} +1 -1
- package/dist/cjs/countdown-timer-v2.cjs.entry.js +77 -0
- package/dist/cjs/countdown-timer-v2.cjs.entry.js.map +1 -0
- package/dist/cjs/countdown-timer.cjs.entry.js +31 -50
- package/dist/cjs/countdown-timer.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus-form.cjs.entry.js +1 -1
- package/dist/cjs/crm-bonus-note.cjs.entry.js +15 -6
- package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus-tray.cjs.entry.js +18 -0
- package/dist/cjs/crm-bonus-tray.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-bonus.cjs.entry.js +3 -3
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js +10 -8
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-tooltip_4.cjs.entry.js +29 -14
- package/dist/cjs/crm-tooltip_4.cjs.entry.js.map +1 -1
- package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
- package/dist/cjs/{crmbonus.service-5537cef5.js → crmbonus.service-7a4f6786.js} +2 -2
- package/dist/cjs/{crmbonus.service-5537cef5.js.map → crmbonus.service-7a4f6786.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 +3 -3
- package/dist/cjs/phone-input-mask.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/countdown-timer/countdown-timer.js +60 -67
- package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -1
- package/dist/collection/components/countdown-timer/countdown-timer.v2.js +134 -0
- package/dist/collection/components/countdown-timer/countdown-timer.v2.js.map +1 -0
- package/dist/collection/components/crm-bonus/crm-bonus.js +1 -1
- package/dist/collection/components/giftback-form/giftback-form.js +7 -5
- package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +28 -9
- 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/pin-form/pin-form.js +14 -1
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +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.js +15 -5
- 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/tray-ecommerce/crm-bonus-tray.js +8 -0
- package/dist/collection/tray-ecommerce/crm-bonus-tray.js.map +1 -0
- package/dist/components/app-modal.js +1 -1
- package/dist/components/countdown-timer-v2.d.ts +11 -0
- package/dist/components/{p-30d12b1b.js → countdown-timer-v2.js} +15 -11
- package/dist/components/countdown-timer-v2.js.map +1 -0
- package/dist/components/countdown-timer.js +1 -1
- package/dist/components/crm-bonus-form.js +5 -5
- package/dist/components/crm-bonus-note.js +18 -8
- package/dist/components/crm-bonus-note.js.map +1 -1
- package/dist/components/crm-bonus-tray.d.ts +11 -0
- package/dist/components/crm-bonus-tray.js +32 -0
- package/dist/components/crm-bonus-tray.js.map +1 -0
- package/dist/components/crm-bonus.js +13 -13
- 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-8f1485e7.js → p-39cc3ce4.js} +2 -2
- package/dist/components/{p-8f1485e7.js.map → p-39cc3ce4.js.map} +1 -1
- package/dist/components/{p-ef285153.js → p-4ac2b98e.js} +18 -5
- package/dist/components/p-4ac2b98e.js.map +1 -0
- package/dist/components/{p-c6153eb6.js → p-5a7b0549.js} +2 -2
- package/dist/components/{p-c6153eb6.js.map → p-5a7b0549.js.map} +1 -1
- package/dist/components/{p-a7809d51.js → p-63ca9208.js} +5 -5
- package/dist/components/{p-a7809d51.js.map → p-63ca9208.js.map} +1 -1
- package/dist/components/p-86b95c83.js +74 -0
- package/dist/components/p-86b95c83.js.map +1 -0
- package/dist/components/{p-b57fbd6d.js → p-9ca28ea7.js} +2 -2
- package/dist/components/{p-b57fbd6d.js.map → p-9ca28ea7.js.map} +1 -1
- package/dist/components/{p-3eba0eba.js → p-a428d5df.js} +2 -2
- package/dist/components/{p-3eba0eba.js.map → p-a428d5df.js.map} +1 -1
- package/dist/components/{p-b42db369.js → p-a70a82a3.js} +2 -2
- package/dist/components/{p-b42db369.js.map → p-a70a82a3.js.map} +1 -1
- package/dist/components/{p-220754a5.js → p-c4788672.js} +2 -2
- package/dist/components/{p-220754a5.js.map → p-c4788672.js.map} +1 -1
- package/dist/components/{p-fc6f781f.js → p-cd108989.js} +2 -2
- package/dist/components/{p-fc6f781f.js.map → p-cd108989.js.map} +1 -1
- package/dist/components/{p-1a20b231.js → p-d8bd654a.js} +17 -14
- package/dist/components/p-d8bd654a.js.map +1 -0
- package/dist/components/{p-34803421.js → p-dc1871cf.js} +2 -2
- package/dist/components/{p-34803421.js.map → p-dc1871cf.js.map} +1 -1
- package/dist/components/{p-82ea12ff.js → p-e25a1b64.js} +2 -2
- package/dist/components/{p-82ea12ff.js.map → p-e25a1b64.js.map} +1 -1
- package/dist/components/{p-83249636.js → p-e81cd527.js} +2 -2
- package/dist/components/{p-83249636.js.map → p-e81cd527.js.map} +1 -1
- package/dist/components/{p-8b7e3ba9.js → p-ec317fb9.js} +18 -16
- package/dist/components/p-ec317fb9.js.map +1 -0
- package/dist/components/pedido-finalizado.js +3 -3
- 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-68b058e9.entry.js → p-0055876c.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-0a40bcba.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-0a40bcba.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-402ead13.entry.js → p-154b5318.entry.js} +2 -2
- package/dist/crmbonus-component-wake/{p-09e26da2.entry.js → p-35b95848.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-4792c140.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-4792c140.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-5aa35e0f.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-5aa35e0f.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-a6a4a314.entry.js → p-77d8e96c.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-81ec64ff.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-81ec64ff.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-8e2d6659.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-8e2d6659.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-b57fbd6d.js → p-9ca28ea7.js} +2 -2
- package/dist/crmbonus-component-wake/{p-3eba0eba.js → p-a428d5df.js} +2 -2
- package/dist/crmbonus-component-wake/{p-3eba0eba.js.map → p-a428d5df.js.map} +1 -1
- package/dist/crmbonus-component-wake/p-b2941d60.entry.js +2 -0
- package/dist/crmbonus-component-wake/{p-d3ed9573.entry.js → p-e4aae2ed.entry.js} +2 -2
- package/dist/crmbonus-component-wake/{p-b307cbed.entry.js → p-ed22d88f.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-ed22d88f.entry.js.map +1 -0
- package/dist/env.js +1 -1
- package/dist/env.js.map +1 -1
- package/dist/esm/app-modal.entry.js +1 -1
- package/dist/esm/{cart.helper-8be1bc35.js → cart.helper-c6fd0b36.js} +2 -2
- package/dist/esm/{cart.helper-8be1bc35.js.map → cart.helper-c6fd0b36.js.map} +1 -1
- package/dist/esm/countdown-timer-v2.entry.js +73 -0
- package/dist/esm/countdown-timer-v2.entry.js.map +1 -0
- package/dist/esm/countdown-timer.entry.js +31 -50
- package/dist/esm/countdown-timer.entry.js.map +1 -1
- package/dist/esm/crm-bonus-form.entry.js +1 -1
- package/dist/esm/crm-bonus-note.entry.js +15 -6
- package/dist/esm/crm-bonus-note.entry.js.map +1 -1
- package/dist/esm/crm-bonus-tray.entry.js +14 -0
- package/dist/esm/crm-bonus-tray.entry.js.map +1 -0
- package/dist/esm/crm-bonus.entry.js +3 -3
- package/dist/esm/crm-giftback-form_2.entry.js +10 -8
- package/dist/esm/crm-giftback-form_2.entry.js.map +1 -1
- package/dist/esm/crm-tooltip_4.entry.js +29 -14
- package/dist/esm/crm-tooltip_4.entry.js.map +1 -1
- package/dist/esm/crmbonus-component-wake.js +1 -1
- package/dist/esm/{crmbonus.service-5bc16be9.js → crmbonus.service-0bd0a5ac.js} +2 -2
- package/dist/esm/{crmbonus.service-5bc16be9.js.map → crmbonus.service-0bd0a5ac.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 +3 -3
- package/dist/esm/phone-input-mask.entry.js +1 -1
- package/dist/types/components/countdown-timer/countdown-timer.d.ts +6 -10
- package/dist/types/components/countdown-timer/countdown-timer.v2.d.ts +17 -0
- package/dist/types/components/giftback-form/subcomponents/giftback-info/giftback-info.d.ts +1 -0
- package/dist/types/components/giftback-form/subcomponents/pin-form/pin-form.d.ts +1 -0
- package/dist/types/components/note/crm-bonus-note.d.ts +3 -1
- package/dist/types/components.d.ts +38 -2
- package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +1 -1
- package/dist/types/tray-ecommerce/crm-bonus-tray.d.ts +3 -0
- package/package.json +1 -1
- package/dist/components/p-1a20b231.js.map +0 -1
- package/dist/components/p-30d12b1b.js.map +0 -1
- package/dist/components/p-8b7e3ba9.js.map +0 -1
- package/dist/components/p-ef285153.js.map +0 -1
- package/dist/crmbonus-component-wake/p-08af385f.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-5cfc2702.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-5cfc2702.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-898ab1b3.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-898ab1b3.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-b307cbed.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-ee132b98.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-ee132b98.entry.js.map +0 -1
- /package/dist/crmbonus-component-wake/{p-68b058e9.entry.js.map → p-0055876c.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-402ead13.entry.js.map → p-154b5318.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-09e26da2.entry.js.map → p-35b95848.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-a6a4a314.entry.js.map → p-77d8e96c.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-b57fbd6d.js.map → p-9ca28ea7.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-08af385f.entry.js.map → p-b2941d60.entry.js.map} +0 -0
- /package/dist/crmbonus-component-wake/{p-d3ed9573.entry.js.map → p-e4aae2ed.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as a,h as r}from"./p-8c362346.js";import{C as o}from"./p-a428d5df.js";import{C as t,g as e}from"./p-9ca28ea7.js";const s=class{constructor(r){a(this,r);this.cart=undefined}async componentWillLoad(){await this.handleOrder()}async handleOrder(){const a=this.cart?new t(JSON.parse(this.cart)):await e();if(a.id&&a.orderId){o.getInstance().updateOrder({cartId:a.id,orderId:a.orderId,cartIdCrm:a.middlewareId});const r=`bc-products:${a.id}`;localStorage.removeItem(r);localStorage.removeItem(a.id)}}render(){return r("div",{key:"eafbe75598a3ee964f68266293e3d26572e0f759"})}};export{s as pedido_finalizado};
|
2
|
+
//# sourceMappingURL=p-b2941d60.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as d,h as a}from"./p-8c362346.js";const o=".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:none;justify-content:center;align-items:center;z-index:1000}.modal-backdrop.visible{display:flex}.modal{background:white;border-radius:8px;padding:1rem;max-width:500px;width:90%;box-shadow:0 2px 10px rgba(0, 0, 0, 0.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;margin-bottom:1rem}.close-button{background:none;border:none;cursor:pointer}.modal-body{}";const s=o;const t=class{constructor(a){e(this,a);this.modalClosed=d(this,"modalClosed",7);this.isOpen=false;this.modalTitle=undefined}closeModal(){this.modalClosed.emit()}render(){return a("div",{key:"
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as d,h as a}from"./p-8c362346.js";const o=".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:none;justify-content:center;align-items:center;z-index:1000}.modal-backdrop.visible{display:flex}.modal{background:white;border-radius:8px;padding:1rem;max-width:500px;width:90%;box-shadow:0 2px 10px rgba(0, 0, 0, 0.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;margin-bottom:1rem}.close-button{background:none;border:none;cursor:pointer}.modal-body{}";const s=o;const t=class{constructor(a){e(this,a);this.modalClosed=d(this,"modalClosed",7);this.isOpen=false;this.modalTitle=undefined}closeModal(){this.modalClosed.emit()}render(){return a("div",{key:"c7e578637bb1a96ccc8e305281e2608c75c9f959",class:`modal-backdrop ${this.isOpen?"visible":""}`},a("div",{key:"85c02a2e3af93968cf8a7866f6443405f2b379c3",class:"modal"},a("div",{key:"955224cdd340b8e039e0a3e08867e7614d8a1760",class:"modal-header"},a("h3",{key:"2021357a5db7ae60f54fd60dd8e20bedae438844"},this.modalTitle),a("button",{key:"e7109497945b0beb6796bb6c0defdf7c69fc224d",class:"close-button",onClick:()=>this.closeModal()},"×")),a("div",{key:"02ca0913b2edf22ae7aabfe2049ff9fc921e6759",class:"modal-body"},a("slot",{key:"d288e69b32da330c6fd7687527eaa41093e4e700"}))))}};t.style=s;export{t as app_modal};
|
2
|
+
//# sourceMappingURL=p-e4aae2ed.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,h as i}from"./p-8c362346.js";import{C as s,g as e,U as a}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,h as i}from"./p-8c362346.js";import{C as s,g as e,U as a}from"./p-a428d5df.js";import{S as o}from"./p-ecc51430.js";import{g as n}from"./p-1b441909.js";import{i as h}from"./p-c53241bf.js";import{p as r}from"./p-9ca28ea7.js";const c="*{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;}";const d=c;const l=class{constructor(i){t(this,i);this.crmBonusService=s.getInstance();this.storeName=undefined;this.cartId=undefined;this.products=undefined;this.customer=undefined;this.loadProducts=undefined;this.loadAll=undefined;this.customStyles=undefined;this.reservedInfo=undefined;this.value=undefined;this.loading=false;this.message=undefined;this.phone=undefined;this.pinInfo=undefined;this.step=o.STEP_RESERVE;this.bonus=undefined;this.sucess="";this.error="";this.config=undefined;this.hasApplyBonus=false}async setStep(t){this.step=t}async processBonus(t=[],i=false){await this.loadProducts();this.sucess="";console.log("processBonus",[]);if(i){this.products=t}const s=localStorage.getItem(e(this.cartId));if(s){const t=JSON.parse(s);this.bonus=t;this.phone=t.phone;this.pinInfo={storeId:t.storeId,userId:t.userId};await this.validateBonus("2018")}}async handleSendPin(t){await this.loadAll();this.message="";if(!t){this.message="Informe seu telefone";return}this.phone=t;this.sendPin()}async componentWillLoad(){this.sucess="";this.error="";this.config=n(this.storeName);const t=this.getPhoneNumberAgain();if(t){this.step=o.STEP_PHONE;return}await this.processBonus()}getPhoneNumberAgain(){const t=localStorage.getItem(e(this.cartId));if(!t)return true;const i=JSON.parse(t);return!i.hasBonus}convertStringToNumber(){const t=this.phone.replace(/\D/g,"");return Number(t)}async sendPin(){var t,i,s;this.loading=true;this.message="";this.sucess="";this.error="";try{const i=this.convertStringToNumber();const s=localStorage.getItem(`bc:${this.phone}`);if(!s){this.pinInfo=await this.crmBonusService.sendPin(i,(t=this.customer)===null||t===void 0?void 0:t.name,this.storeName)}if(s){const t=JSON.parse(s);this.pinInfo={storeId:t.storeId,userId:t.userId};await this.validateBonus("2018");this.step=o.STEP_RESERVE}else{this.step=o.STEP_PIN}}catch(t){this.message=(s=(i=t===null||t===void 0?void 0:t.response)===null||i===void 0?void 0:i.data)===null||s===void 0?void 0:s.message}finally{this.loading=false}}changePhone(){this.sucess="";this.error="";this.step=o.STEP_PHONE}async validateBonus(t){var i,s,n;await this.loadProducts();const h=localStorage.getItem(a);if(h=="dontUse"){this.step=o.STEP_RESERVE;return}this.loading=true;this.sucess="";this.error="";const r={pin:t,cellphone:this.convertStringToNumber(),storeId:this.pinInfo.storeId.toString(),userId:this.pinInfo.userId.toString(),checkoutId:this.cartId,checkoutProducts:this.products,name:(i=this.customer)===null||i===void 0?void 0:i.name,storeName:this.storeName};try{this.bonus=await this.crmBonusService.validatePinBonus(r);if(!this.bonus.hasBonus){localStorage.setItem(e(this.cartId),JSON.stringify(Object.assign(Object.assign({},this.bonus),{phone:this.phone})));this.loading=false;this.step=o.STEP_NO_BONUS;return}this.sucess="Código validado com sucesso!";localStorage.setItem(e(this.cartId),JSON.stringify(Object.assign(Object.assign({},this.bonus),{phone:this.phone})));localStorage.setItem(`bc:${this.phone}`,JSON.stringify(this.bonus));localStorage.setItem(a,"use");localStorage.setItem(this.cartId,this.bonus.bonusBalance.toString());await this.updateMetadata();this.step=o.STEP_RESERVE}catch(t){const i=(n=(s=t===null||t===void 0?void 0:t.response)===null||s===void 0?void 0:s.data)===null||n===void 0?void 0:n.response;if(i&&i.includes("Pin")){this.error="Código inválido!"}else{this.error=i;this.step=o.STEP_NO_BONUS}}finally{this.loading=false}}async updateMetadata(){try{if(!this.reservedInfo.isBonusProcessed)return;if(this.reservedInfo.isExpired()){console.log("[CRM:updateMetadata]");await r(this.storeName,this.cartId,{createdAt:Date.now(),url:window.location.href});localStorage.removeItem("bc:time")}}catch(t){console.error("[CRMBONUS:updateMetadata]: ",t)}}handleCancel(){this.cancel()}async cancel(){this.message="";this.loading=true;try{await this.crmBonusService.cancel(this.cartId);localStorage.setItem(a,"dontUse");this.save(0);await this.updateMetadata()}catch(t){this.message="Não consegui cancelar o bônus, tente novamente!"}finally{this.loading=false}}async reserveApply(t){this.loading=true;this.message="";try{await this.reserve(t);this.save(t)}catch(t){this.message="ocorreu um error ao solicitar a aplicação do bonus! tente novamente";this.step=o.STEP_NO_BONUS;localStorage.removeItem(this.cartId)}finally{this.loading=false}}save(t){localStorage.setItem(this.cartId,t.toString())}async reserve(t){await this.crmBonusService.reserve({redeemedBonus:t,cartId:this.cartId,ticket:this.cartId,grossValue:Number(this.bonus.totalValue),storeName:this.storeName,storeId:this.bonus.storeId.toString(),userId:this.bonus.userId})}render(){console.log("cartId",this.cartId);return i("div",{key:"9bf7b12fff0d3a546ec65ad23a5d427f50f889b0",class:"crm-container-form fbits-responsive-carrinho-desconto",style:this.customStyles},i("label",{key:"4f85edd446d41922947687f91de10eae6c575ac2",class:"crm-title"},this.config.giftbackTitle),this.step===o.STEP_PHONE&&i("phone-form",{key:"60bd8e8268061b113d8c07680276dcac8f2dc57f",value:this.customer.phone,config:this.config,loading:this.loading,handlerSubmit:t=>this.handleSendPin(t)}),this.step===o.STEP_PIN&&i("pin-form",{key:"2cafec0da8d445eb9fddaff2a6bb03b62d956ab3",config:this.config,phone:this.phone,cancel:()=>this.changePhone(),resend:()=>this.sendPin(),validate:t=>this.validateBonus(t),loading:this.loading},this.sucess&&i("p",{key:"7a45765d3c7cf2009858b330ddaa4749de4238a6",class:"crm-message-info"},this.sucess),this.error&&i("p",{key:"2c5fdc1a7c8737b69f0f6d2d253a114089c6be60",class:"crm-message-error"},this.error)),this.step===o.STEP_RESERVE&&i("giftback-info",{key:"409d87bbbd48b510d18c2c85f99514a4a4a026f4",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===o.STEP_NO_BONUS&&i("div",{key:"7d31c5b48add98eef78aee93d352067b4ca28302",class:"container-message"},h.t("noGiftback",{storename:this.config.giftbackTitle})))}};l.style=d;const f=".loading-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255, 255, 255, 0.3);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.relative-xy{position:relative}";const u=f;const m=class{constructor(i){t(this,i);this.loading=true}render(){return i("div",{key:"679060e14b019ddb99823cb9b49c251bc0d2e1f1",class:"relative-xy"},this.loading&&i("div",{key:"cc10e466321732aae1cbf9ad321176f86fc60471",class:"loading-container"},i("div",{key:"ab1aa3a08cf62c0a631204810c35631bdc3efef0",class:"loading-spinner"})),i("slot",{key:"84e00dbb82a035c847dc5e0c0e3018f49cbdfdc0"}))}};m.style=u;export{l as crm_giftback_form,m as loading_container};
|
2
|
+
//# sourceMappingURL=p-ed22d88f.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["giftbackFormCss","CrmGiftbackFormStyle0","CrmBonus","this","crmBonusService","CrmBonusService","getInstance","StepFormEnum","STEP_RESERVE","setStep","step","processBonus","products","hasNewProduct","loadProducts","sucess","console","log","_bonus","localStorage","getItem","getKeyReserveByCartId","cartId","bonus","JSON","parse","phone","pinInfo","storeId","userId","validateBonus","handleSendPin","loadAll","message","sendPin","componentWillLoad","error","config","getInfoCustomization","storeName","phoneAgain","getPhoneNumberAgain","STEP_PHONE","consulta_bonus","hasBonus","convertStringToNumber","_phone","replace","Number","loading","pinInfoCache","_a","customer","name","STEP_PIN","_c","_b","response","data","changePhone","pin","used_or_no","USED_KEY","payload","cellphone","toString","checkoutId","checkoutProducts","validatePinBonus","setItem","stringify","Object","assign","STEP_NO_BONUS","bonusBalance","updateMetadata","_error","includes","reservedInfo","isBonusProcessed","isExpired","persisteMetadata","createdAt","Date","now","url","window","location","href","removeItem","handleCancel","cancel","save","reserveApply","amount","reserve","redeemedBonus","ticket","grossValue","totalValue","render","h","key","class","style","customStyles","giftbackTitle","value","handlerSubmit","resend","validate","infoBonus","i18next","t","storename","loadingContainerCss","LoadingContainerStyle0","LoadingContainer"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx","src/components/loading-container/loading-container.css?tag=loading-container","src/components/loading-container/loading-container.tsx"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n /* font-size: var(--crmfont-sizebodymd); */\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n /* font-size: 14px; */\n font-size: .875rem;\n line-height: 1.25rem;\n \n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n /* font-size: 16px; */\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n /* font-size: 12px; */\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n /* font-size: 12px; */\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { 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\";\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css',\n shadow: false\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 @Prop() loadAll: () => void;\n\n @Prop() customStyles;\n @Prop() reservedInfo: ReservedInfoDTO;\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_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n @State() hasApplyBonus = false;\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n await this.loadProducts();\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\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 \n\n await this.validateBonus(\"2018\");\n //this.step = StepFormEnum.STEP_RESERVE;\n\n }\n }\n\n async handleSendPin(phone: string) {\n await this.loadAll()\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 const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\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 const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\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 } 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 await 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: this.convertStringToNumber(),\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}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n await this.updateMetadata();\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.response;\n\n if (_error && _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 } finally {\n this.loading = false;\n }\n }\n\n private async updateMetadata() {\n try {\n\n if(!this.reservedInfo.isBonusProcessed) return;\n\n if (this.reservedInfo.isExpired()) {\n console.log('[CRM:updateMetadata]')\n await persisteMetadata(this.storeName, this.cartId, {\n createdAt: Date.now(),\n url: window.location.href\n });\n\n localStorage.removeItem(\"bc:time\");\n }\n } catch (error) {\n console.error('[CRMBONUS:updateMetadata]: ', error);\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 await this.updateMetadata();\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 console.log(\"cartId\", this.cartId)\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\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 storeName={this.storeName}\n infoBonus={this.reservedInfo}\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n cartId={this.cartId}\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}","/* Estilo para centralizar o container do loading */\n.loading-container {\n position: absolute;\n /* Fixa o loading na tela */\n top: 0;\n left: 0;\n width: 100%;\n /* Tamanho total da tela */\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n /* Fundo semitransparente */\n display: flex;\n /* Centraliza o conteúdo */\n justify-content: center;\n align-items: center;\n z-index: 1000;\n /* Coloca o loading acima de outros elementos */\n}\n\n/* Estilo do spinner (círculo giratório) */\n.loading-spinner {\n width: 50px;\n height: 50px;\n border: 5px solid rgba(255, 255, 255, 0.3);\n /* Borda semitransparente */\n border-top: 5px solid white;\n /* Borda que será animada */\n border-radius: 50%;\n /* Faz o círculo */\n animation: spin 1s linear infinite;\n /* Gira continuamente */\n}\n\n/* Keyframes para a animação de rotação */\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.relative-xy {\n position: relative;\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'loading-container',\n styleUrl: 'loading-container.css'\n})\nexport class LoadingContainer {\n\n @Prop() loading: boolean = true;\n\n render() {\n return (\n <div class=\"relative-xy\">\n {\n this.loading && (\n <div class=\"loading-container\">\n <div class=\"loading-spinner\">\n\n </div>\n \n </div>\n )\n }\n <slot></slot>\n </div>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
|
package/dist/env.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
export const CRM_BONUS_API_URL = "https://wake
|
1
|
+
export const CRM_BONUS_API_URL = "https://wake.crmbonus.com/api"; //"http://localhost:4000/api";// "https://wake-middleware.crmbonus.com/api"; //"https://wake-middleware.crmbonus.com/api";// "https://crmbonus-wake-hub-staging-5daedbc4e22b.herokuapp.com/api" //"https://crmbonus-service-staging-d15ba5377115.herokuapp.com"; //"https://typically-workable-perch.ngrok-free.app"; // "http://localhost:3500";
|
2
2
|
export const CHECKOUT_CART_WAKE = "http://localhost:3001";
|
3
3
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../env.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,CAAC,iVAAiV;AACnZ,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA","sourcesContent":["export const CRM_BONUS_API_URL = \"https://wake.crmbonus.com/api\"; //\"http://localhost:4000/api\";// \"https://wake-middleware.crmbonus.com/api\"; //\"https://wake-middleware.crmbonus.com/api\";// \"https://crmbonus-wake-hub-staging-5daedbc4e22b.herokuapp.com/api\" //\"https://crmbonus-service-staging-d15ba5377115.herokuapp.com\"; //\"https://typically-workable-perch.ngrok-free.app\"; // \"http://localhost:3500\";\nexport const CHECKOUT_CART_WAKE = \"http://localhost:3001\""]}
|
@@ -14,7 +14,7 @@ const AppModal = class {
|
|
14
14
|
this.modalClosed.emit();
|
15
15
|
}
|
16
16
|
render() {
|
17
|
-
return (h("div", { key: '
|
17
|
+
return (h("div", { key: 'c7e578637bb1a96ccc8e305281e2608c75c9f959', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '85c02a2e3af93968cf8a7866f6443405f2b379c3', class: "modal" }, h("div", { key: '955224cdd340b8e039e0a3e08867e7614d8a1760', class: "modal-header" }, h("h3", { key: '2021357a5db7ae60f54fd60dd8e20bedae438844' }, this.modalTitle), h("button", { key: 'e7109497945b0beb6796bb6c0defdf7c69fc224d', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '02ca0913b2edf22ae7aabfe2049ff9fc921e6759', class: "modal-body" }, h("slot", { key: 'd288e69b32da330c6fd7687527eaa41093e4e700' })))));
|
18
18
|
}
|
19
19
|
};
|
20
20
|
AppModal.style = AppModalStyle0;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './crmbonus.service-
|
1
|
+
import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './crmbonus.service-0bd0a5ac.js';
|
2
2
|
|
3
3
|
class CartWake {
|
4
4
|
constructor(cart) {
|
@@ -110,4 +110,4 @@ const buildUrlBase = () => {
|
|
110
110
|
|
111
111
|
export { CartWake as C, getInfoBonusByCartIdAndStoreName as a, getCart as g, persisteMetadata as p };
|
112
112
|
|
113
|
-
//# sourceMappingURL=cart.helper-
|
113
|
+
//# sourceMappingURL=cart.helper-c6fd0b36.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"cart.helper-
|
1
|
+
{"file":"cart.helper-c6fd0b36.js","mappings":"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","names":[],"sources":["src/objectvalues/cart.wake.ts","src/dto/reserved-info.dto.ts","src/helpers/cart.helper.ts"],"sourcesContent":["import { IProductWake, IStore, IUser } from \"../dto/validate.pin.bonus\";\n\nexport class CartWake {\n id: string;\n middlewareId: string;\n orderId: number;\n products: IProductWake[] = [];\n user: IUser;\n store: IStore;\n\n constructor(cart) {\n this.id = cart.Metadados.id || cart.Id;\n this.middlewareId = cart.Metadados?.id;\n this.orderId = cart.PedidoId;\n this.buildUserInfo(cart);\n this.buildStoreInfo(cart);\n this.products = this.buildStoreCart( cart.Produtos);\n }\n\n private buildStoreCart(newProducts = []) {\n const cache = localStorage.getItem(\"bc:cart\");\n\n if(!cache) {\n return this.saveStore(newProducts)\n \n }\n \n const cacheProducts:IProductWake[] = JSON.parse(cache);\n\n if(newProducts.length !== cacheProducts.length) {\n return this.saveStore(newProducts);\n }\n\n for (const p of newProducts) {\n const [cp] = cacheProducts.filter(cpp => cpp.ProdutoVarianteId == p.ProdutoVarianteId);\n\n if(cp) {\n cp.Quantidade != p.Quantidade;\n\n return newProducts;\n }\n }\n\n return cacheProducts;\n\n }\n\n\n private saveStore(newProducts) {\n localStorage.setItem(\"bc:cart\", JSON.stringify(newProducts));\n\n return newProducts;\n }\n\n private buildUserInfo(cart) {\n this.user = {\n id: cart.Usuario ? cart.Usuario.Id : null\n }\n }\n\n private buildStoreInfo(cart) {\n this.store = {\n name: cart.Loja?.Nome\n }\n }\n}","export class ReservedInfoDTO {\n bonusBalance: string;\n bonusIds: string;\n calculatedValue: string;\n cartId: string;\n metadata: {\n url: string,\n createdAt: number\n }\n orderId: string;\n status: number;\n totalDiscount: string;\n totalValue: string;\n isBonusProcessed?: boolean;\n\n\n public static of(payload: any) {\n const info = new ReservedInfoDTO();\n info.bonusBalance = payload.bonusBalance;\n info.bonusIds = payload.bonusIds;\n info.calculatedValue = payload.calculatedValue;\n info.cartId = payload.cartId;\n info.metadata = payload.metadata;\n info.orderId = payload.orderId;\n info.status = payload.status;\n info.totalDiscount = payload.totalDiscount;\n info.totalValue = payload.totalValue;\n info.isBonusProcessed = payload.isBonusProcessed;\n return info;\n }\n\n public isExpired(): boolean {\n const createdAt = this?.metadata?.createdAt;\n if(!createdAt) return true; \n \n const current = Date.now();\n\n const diffms = current - createdAt;\n\n const diffMinutes = diffms / (1000 * 60);\n\n console.log('diffMinutes', diffMinutes);\n\n return diffMinutes > 6;\n\n }\n\n}","import { CHECKOUT_CART_WAKE } from \"../../env\";\nimport { CartWake } from \"../objectvalues/cart.wake\";\nimport { CrmBonusService } from \"../services/crmbonus.service\";\nimport { ReservedInfoDTO } from '../dto/reserved-info.dto'\n\nconst crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\nexport const getCart = async (): Promise<CartWake> => {\n const baseUrl = buildUrlBase(); // window.location.origin; //\"https://bycoders.fbits.store\" //window.location.origin;\n \n console.log('[URL STORE]: ', baseUrl)\n\n const cart = await crmBonusService.getInfoCart(baseUrl);\n\n return new CartWake(cart);\n}\n\nexport const getInfoBonusByCartIdAndStoreName = async (cartId, storeName) => {\n const info = await crmBonusService.getInfoBonus(cartId, storeName)\n\n return ReservedInfoDTO.of(info);\n}\n\nexport const persisteMetadata = async (storeName: string, cartId: string, metadata = {}) => {\n await crmBonusService.patchInfoBonus({\n storeName,\n cartId,\n metadata\n })\n}\n\nconst buildUrlBase = () => {\n\n const url = window.location.origin; //\"https://bycoders.checkout.fbits.store\" //\n\n if(url.includes('localhost')) {\n return CHECKOUT_CART_WAKE;\n }\n\n if(url.includes('checkout')) {\n return url;\n }\n\n if(url.includes('fbits')) {\n return url;\n }\n\n if(url.includes(\"www.\")) {\n return url.replace(\"www\", \"checkout\")\n }\n\n return `${window.location.protocol}//checkout.${window.location.host}`;\n\n}"],"version":3}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { r as registerInstance, h } from './index-bdb70d5a.js';
|
2
|
+
|
3
|
+
const CountdownTimer = class {
|
4
|
+
constructor(hostRef) {
|
5
|
+
registerInstance(this, hostRef);
|
6
|
+
this.downtime = undefined;
|
7
|
+
this.reload = false;
|
8
|
+
this.dates = {
|
9
|
+
expiration: new Date(),
|
10
|
+
createdAt: new Date()
|
11
|
+
};
|
12
|
+
this.seconds = 0;
|
13
|
+
this.minutes = undefined;
|
14
|
+
}
|
15
|
+
componentWillLoad() {
|
16
|
+
const time = this.buildTime();
|
17
|
+
this.iniciarContador(time);
|
18
|
+
}
|
19
|
+
buildTime() {
|
20
|
+
const initial = localStorage.getItem("bc:time");
|
21
|
+
if (initial && !this.reload) {
|
22
|
+
return Number(initial);
|
23
|
+
}
|
24
|
+
const dataFinal = new Date(this.dates.expiration);
|
25
|
+
const agora = new Date(this.dates.createdAt);
|
26
|
+
const diferencaMs = dataFinal.getTime() - agora.getTime();
|
27
|
+
if (diferencaMs <= 0) {
|
28
|
+
return diferencaMs;
|
29
|
+
}
|
30
|
+
const diferencaSegundos = diferencaMs / 1000; // Converter milissegundos para segundos
|
31
|
+
const minutos = Math.floor(diferencaSegundos / 60); // Calcular minutos
|
32
|
+
const segundos = Math.floor(diferencaSegundos % 60); // Calcular segundos restantes
|
33
|
+
const m = minutos >= 10 ? minutos : `0${minutos}`;
|
34
|
+
const s = segundos >= 10 ? segundos : `0${segundos}`;
|
35
|
+
this.minutes = `${m}:${s}`;
|
36
|
+
return diferencaSegundos;
|
37
|
+
}
|
38
|
+
iniciarContador(params) {
|
39
|
+
let segundosRestantes = params;
|
40
|
+
const intervalo = setInterval(() => {
|
41
|
+
const minutosExibidos = Math.floor(segundosRestantes / 60);
|
42
|
+
const segundosExibidos = (segundosRestantes % 60).toFixed();
|
43
|
+
let textContent = `${String(minutosExibidos).padStart(2, '0')}:${String(segundosExibidos).padStart(2, '0')}`;
|
44
|
+
if (segundosRestantes < 0) {
|
45
|
+
clearInterval(intervalo);
|
46
|
+
textContent = "00:00";
|
47
|
+
localStorage.removeItem("bc:time");
|
48
|
+
this.downtime();
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
segundosRestantes--;
|
52
|
+
localStorage.setItem("bc:time", segundosRestantes);
|
53
|
+
this.minutes = textContent;
|
54
|
+
}, 1000);
|
55
|
+
}
|
56
|
+
disconnectedCallback() {
|
57
|
+
clearInterval(this.intervalId);
|
58
|
+
}
|
59
|
+
padLeft() {
|
60
|
+
const minutes = this.seconds / 60;
|
61
|
+
const seconds = this.seconds % 60;
|
62
|
+
if (minutes < 1)
|
63
|
+
return `${seconds}s`;
|
64
|
+
return `${parseInt(minutes.toString())}m ${seconds}s`;
|
65
|
+
}
|
66
|
+
render() {
|
67
|
+
return (h("label", { key: '8b5a53ebe28cf67809136e2d71d993e26cdff364' }, " ", this.minutes));
|
68
|
+
}
|
69
|
+
};
|
70
|
+
|
71
|
+
export { CountdownTimer as countdown_timer_v2 };
|
72
|
+
|
73
|
+
//# sourceMappingURL=countdown-timer-v2.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"countdown-timer-v2.entry.js","mappings":";;MAMa,cAAc;;;;sBAGG,KAAK;qBAEf;YACZ,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB;uBAG0B,CAAC;;;IAK5B,iBAAiB;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,SAAS;QAEb,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,MAAM,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,KAAK,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAE1D,IAAI,WAAW,IAAI,CAAC,EAAE;YAClB,OAAO,WAAW,CAAC;SACtB;QAED,MAAM,iBAAiB,GAAG,WAAW,GAAG,IAAI,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAEpD,MAAM,CAAC,GAAG,OAAO,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QACjD,MAAM,CAAC,GAAG,QAAQ,IAAI,EAAE,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAEpD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAE3B,OAAO,iBAAiB,CAAC;KAE5B;IAED,eAAe,CAAC,MAAM;QAClB,IAAI,iBAAiB,GAAG,MAAM,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;YAE5D,IAAI,WAAW,GACX,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAE/F,IAAI,iBAAiB,GAAG,CAAC,EAAE;gBACvB,aAAa,CAAC,SAAS,CAAC,CAAC;gBACzB,WAAW,GAAG,OAAO,CAAC;gBACtB,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,OAAO;aACV;YAED,iBAAiB,EAAE,CAAC;YAEpB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAA;SAC7B,EAAE,IAAI,CAAC,CAAC;KACZ;IAED,oBAAoB;QAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,OAAO;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAA;QAErC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,GAAG,CAAA;KACxD;IAED,MAAM;QACF,QACI,qEAAS,IAAI,CAAC,OAAO,CAAS,EAChC;KACL;;;;;","names":[],"sources":["src/components/countdown-timer/countdown-timer.v2.tsx"],"sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'countdown-timer-v2',\n shadow: true,\n})\nexport class CountdownTimer {\n\n @Prop() downtime: () => void;\n @Prop() reload: boolean = false;\n\n @Prop() dates = {\n expiration: new Date(),\n createdAt: new Date()\n };\n\n\n @State() seconds: number = 0;\n @State() minutes: string;\n\n private intervalId: NodeJS.Timer;\n\n componentWillLoad() {\n const time = this.buildTime();\n this.iniciarContador(time);\n }\n\n private buildTime(): number {\n\n const initial = localStorage.getItem(\"bc:time\");\n\n if (initial && !this.reload) {\n return Number(initial);\n }\n\n const dataFinal: Date = new Date(this.dates.expiration);\n const agora: Date = new Date(this.dates.createdAt);\n\n const diferencaMs = dataFinal.getTime() - agora.getTime();\n\n if (diferencaMs <= 0) {\n return diferencaMs;\n }\n\n const diferencaSegundos = diferencaMs / 1000; // Converter milissegundos para segundos\n const minutos = Math.floor(diferencaSegundos / 60); // Calcular minutos\n const segundos = Math.floor(diferencaSegundos % 60); // Calcular segundos restantes\n\n const m = minutos >= 10 ? minutos : `0${minutos}`\n const s = segundos >= 10 ? segundos : `0${segundos}`\n\n this.minutes = `${m}:${s}`;\n\n return diferencaSegundos;\n\n }\n\n iniciarContador(params) {\n let segundosRestantes = params;\n const intervalo = setInterval(() => {\n const minutosExibidos = Math.floor(segundosRestantes / 60);\n const segundosExibidos = (segundosRestantes % 60).toFixed();\n\n let textContent =\n `${String(minutosExibidos).padStart(2, '0')}:${String(segundosExibidos).padStart(2, '0')}`;\n\n if (segundosRestantes < 0) {\n clearInterval(intervalo);\n textContent = \"00:00\";\n localStorage.removeItem(\"bc:time\");\n this.downtime()\n return;\n }\n\n segundosRestantes--;\n\n localStorage.setItem(\"bc:time\", segundosRestantes);\n this.minutes = textContent\n }, 1000);\n }\n\n disconnectedCallback() {\n clearInterval(this.intervalId);\n }\n\n padLeft() {\n const minutes = this.seconds / 60;\n const seconds = this.seconds % 60;\n\n if (minutes < 1) return `${seconds}s`\n\n return `${parseInt(minutes.toString())}m ${seconds}s`\n }\n\n render() {\n return (\n <label> {this.minutes}</label>\n );\n }\n}\n"],"version":3}
|
@@ -4,66 +4,47 @@ const CountdownTimer = class {
|
|
4
4
|
constructor(hostRef) {
|
5
5
|
registerInstance(this, hostRef);
|
6
6
|
this.downtime = undefined;
|
7
|
-
this.
|
8
|
-
this.
|
9
|
-
|
10
|
-
|
11
|
-
};
|
12
|
-
this.seconds = 0;
|
13
|
-
this.minutes = undefined;
|
7
|
+
this.dataCriacao = undefined;
|
8
|
+
this.minutos = 6;
|
9
|
+
this.segundos = 60;
|
10
|
+
this.tempoRestante = undefined;
|
14
11
|
}
|
15
12
|
componentWillLoad() {
|
16
|
-
const
|
17
|
-
this.
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
13
|
+
const tempoTotal = this.minutos * this.segundos * 1000;
|
14
|
+
const data = new Date(this.dataCriacao);
|
15
|
+
const agora = new Date();
|
16
|
+
const tempoPassado = agora.getTime() - data.getTime();
|
17
|
+
if (tempoPassado >= tempoTotal) {
|
18
|
+
this.tempoRestante = 0;
|
19
|
+
this.onTempoEsgotado();
|
23
20
|
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
if (diferencaMs <= 0) {
|
28
|
-
return diferencaMs;
|
21
|
+
else {
|
22
|
+
this.tempoRestante = tempoTotal - tempoPassado;
|
23
|
+
this.startCountdown();
|
29
24
|
}
|
30
|
-
const diferencaSegundos = diferencaMs / 1000; // Converter milissegundos para segundos
|
31
|
-
const minutos = Math.floor(diferencaSegundos / 60); // Calcular minutos
|
32
|
-
const segundos = Math.floor(diferencaSegundos % 60); // Calcular segundos restantes
|
33
|
-
const m = minutos >= 10 ? minutos : `0${minutos}`;
|
34
|
-
const s = segundos >= 10 ? segundos : `0${segundos}`;
|
35
|
-
this.minutes = `${m}:${s}`;
|
36
|
-
return diferencaSegundos;
|
37
|
-
}
|
38
|
-
iniciarContador(params) {
|
39
|
-
let segundosRestantes = params;
|
40
|
-
const intervalo = setInterval(() => {
|
41
|
-
const minutosExibidos = Math.floor(segundosRestantes / 60);
|
42
|
-
const segundosExibidos = (segundosRestantes % 60).toFixed();
|
43
|
-
let textContent = `${String(minutosExibidos).padStart(2, '0')}:${String(segundosExibidos).padStart(2, '0')}`;
|
44
|
-
if (segundosRestantes < 0) {
|
45
|
-
clearInterval(intervalo);
|
46
|
-
textContent = "00:00";
|
47
|
-
localStorage.removeItem("bc:time");
|
48
|
-
return;
|
49
|
-
}
|
50
|
-
segundosRestantes--;
|
51
|
-
localStorage.setItem("bc:time", segundosRestantes);
|
52
|
-
this.minutes = textContent;
|
53
|
-
}, 1000);
|
54
25
|
}
|
55
26
|
disconnectedCallback() {
|
56
27
|
clearInterval(this.intervalId);
|
57
28
|
}
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
29
|
+
startCountdown() {
|
30
|
+
this.intervalId = setInterval(() => {
|
31
|
+
this.tempoRestante -= 1000;
|
32
|
+
if (this.tempoRestante <= 0) {
|
33
|
+
this.tempoRestante = 0;
|
34
|
+
clearInterval(this.intervalId);
|
35
|
+
this.onTempoEsgotado();
|
36
|
+
}
|
37
|
+
}, 1000);
|
38
|
+
}
|
39
|
+
onTempoEsgotado() {
|
40
|
+
console.log('Tempo esgotado! Executando ação...');
|
41
|
+
this.downtime();
|
64
42
|
}
|
65
43
|
render() {
|
66
|
-
|
44
|
+
const minutos = Math.floor(this.tempoRestante / 60000);
|
45
|
+
const segundos = Math.floor((this.tempoRestante % 60000) / 1000);
|
46
|
+
const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;
|
47
|
+
return (h("label", { key: '6190afd08b9a61e6521e5420962b095ff287ccdc' }, " ", tempoFormatado));
|
67
48
|
}
|
68
49
|
};
|
69
50
|
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"countdown-timer.entry.js","mappings":";;
|
1
|
+
{"file":"countdown-timer.entry.js","mappings":";;MAKa,cAAc;;;;;uBAIG,CAAC;wBACA,EAAE;;;IAM7B,iBAAiB;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtD,IAAI,YAAY,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;KACJ;IAED,oBAAoB;QAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,cAAc;QACV,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;SACJ,EAAE,IAAI,CAAC,CAAC;KACZ;IAED,eAAe;QACX,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAA;KAClB;IAED,MAAM;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAElG,QACI,qEAAS,cAAc,CAAS,EAClC;KACL;;;;;","names":[],"sources":["src/components/countdown-timer/countdown-timer.tsx"],"sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'countdown-timer',\n})\nexport class CountdownTimer {\n\n @Prop() downtime: () => void;\n @Prop() dataCriacao: string;\n @Prop() minutos: number = 6;\n @Prop() segundos: number = 60;\n\n @State() tempoRestante: number; // em milissegundos\n\n private intervalId: any;\n\n componentWillLoad() {\n const tempoTotal = this.minutos * this.segundos * 1000;\n const data = new Date(this.dataCriacao);\n const agora = new Date();\n const tempoPassado = agora.getTime() - data.getTime();\n\n if (tempoPassado >= tempoTotal) {\n this.tempoRestante = 0;\n this.onTempoEsgotado();\n } else {\n this.tempoRestante = tempoTotal - tempoPassado;\n this.startCountdown();\n }\n }\n\n disconnectedCallback() {\n clearInterval(this.intervalId);\n }\n\n startCountdown() {\n this.intervalId = setInterval(() => {\n this.tempoRestante -= 1000;\n if (this.tempoRestante <= 0) {\n this.tempoRestante = 0;\n clearInterval(this.intervalId);\n this.onTempoEsgotado();\n }\n }, 1000);\n }\n\n onTempoEsgotado() {\n console.log('Tempo esgotado! Executando ação...');\n this.downtime()\n }\n\n render() {\n const minutos = Math.floor(this.tempoRestante / 60000);\n const segundos = Math.floor((this.tempoRestante % 60000) / 1000);\n const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;\n\n return (\n <label> {tempoFormatado}</label>\n );\n }\n}\n"],"version":3}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-bdb70d5a.js';
|
2
|
-
import { C as CrmBonusService } from './crmbonus.service-
|
2
|
+
import { C as CrmBonusService } from './crmbonus.service-0bd0a5ac.js';
|
3
3
|
import { S as StepFormEnum } from './index-dc3ebdf0.js';
|
4
4
|
|
5
5
|
const crmBonusFormCss = ".form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}.disabled{opacity:0.6;cursor:not-allowed}.message-error{color:#d11111;font-weight:bold;margin-left:16px}";
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { r as registerInstance, h } from './index-bdb70d5a.js';
|
2
2
|
import { g as getInfoCustomization } from './info.config.helper-7cad7a9c.js';
|
3
|
-
import { g as getKeyReserveByCartId } from './crmbonus.service-
|
3
|
+
import { g as getKeyReserveByCartId } from './crmbonus.service-0bd0a5ac.js';
|
4
4
|
import { i as instance } from './i18n-b9d8b0cc.js';
|
5
|
-
import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './cart.helper-
|
5
|
+
import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './cart.helper-c6fd0b36.js';
|
6
6
|
import { d as defaultStyles } from './index-dc3ebdf0.js';
|
7
7
|
|
8
8
|
const moneyDollarsSvgrepoComSvg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIiLz4KPHBhdGggZD0iTTE1IDkuOTQ3MjhDMTQuNSA5LjMgMTMuOCA4LjUgMTIgOC41QzEwLjIgOC41IDkgOS41MTM5MyA5IDkuOTQ3MjhDOSAxMC4zODA2IDkuMDY3ODYgMTAuOTI3NyAxMCAxMS41QzEwLjc1MjIgMTEuOTYxOCAxMi42Njg0IDEyLjA0MzkgMTMuNSAxMi41QzE0LjY3OSAxMy4xNDY3IDE0Ljg0OTcgMTMuODIwMiAxNC44NDk3IDE0LjA1MjJDMTQuODQ5NyAxNC42ODM3IDEzLjQxNzUgMTUuNDg1MiAxMiAxNS41QzEwLjUzNiAxNS41MTUzIDkuNSAxNC43IDkgMTQuMDUyMiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTIgN1YxNyIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==';
|
@@ -32,6 +32,7 @@ const CrmBonusNote = class {
|
|
32
32
|
this.bonus = undefined;
|
33
33
|
this.showEdit = false;
|
34
34
|
this.styles = defaultStyles;
|
35
|
+
this.info = undefined;
|
35
36
|
}
|
36
37
|
async componentWillLoad() {
|
37
38
|
await this.upadateCheckToFreteAndGetUrl();
|
@@ -54,6 +55,8 @@ const CrmBonusNote = class {
|
|
54
55
|
if ((_a = info === null || info === void 0 ? void 0 : info.metadata) === null || _a === void 0 ? void 0 : _a.url) {
|
55
56
|
this.url = (_b = info === null || info === void 0 ? void 0 : info.metadata) === null || _b === void 0 ? void 0 : _b.url;
|
56
57
|
}
|
58
|
+
console.log('info', info);
|
59
|
+
this.info = info;
|
57
60
|
}
|
58
61
|
catch (error) {
|
59
62
|
localStorage.removeItem(key);
|
@@ -85,6 +88,12 @@ const CrmBonusNote = class {
|
|
85
88
|
}
|
86
89
|
setTime();
|
87
90
|
}
|
91
|
+
buildTime() {
|
92
|
+
var _a, _b, _c, _d;
|
93
|
+
if (!((_b = (_a = this.info) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.createdAt))
|
94
|
+
return "";
|
95
|
+
return new Date((_d = (_c = this.info) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.createdAt).toString();
|
96
|
+
}
|
88
97
|
hasBonus() {
|
89
98
|
const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));
|
90
99
|
const info = {
|
@@ -106,10 +115,10 @@ const CrmBonusNote = class {
|
|
106
115
|
var _a;
|
107
116
|
const giftbackname = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.giftbackTitle) || "Giftback";
|
108
117
|
const infobonus = this.hasBonus();
|
109
|
-
return (h("div", { key: '
|
110
|
-
(h("p", { key: '
|
111
|
-
(h("p", { key: '
|
112
|
-
(h("div", { key: '
|
118
|
+
return (h("div", { key: '4a533319aa37125573d1b97fff762beba1e21b73' }, h("div", { key: '48dce1be2670c11ac3b78e595a24117127ace8c8', class: "note-container", style: this.styles }, h("div", { key: 'fa59aa8bd0d0a7ccf5ca9e8ee5b44d0a9626516f', class: "note-header" }, h("p", { key: '89f0ee41f4c0e275339038b2f7561328abc971d2', class: "note-title" }, h("img", { key: 'de17828dfec537a452ff1b79ca0b6c42f9cedd47', src: moneyDollarsSvgrepoComSvg, width: 23 }), this.config.giftbackTitle), infobonus.hasBonus && (h("div", { key: '1a963fa9e86cb8c93c738d92ebbcc74aee46c1fc' }, this.showEdit && (h("p", { key: 'e9ab4dcc36fb81ef844ddbe2451f3c822b53a465', class: "back-cart", onClick: () => this.backCart() }, instance.t("edit"))), !this.showEdit && h("countdown-timer", { key: '82f77de37ed0a714f7a96faefd0790481597e3f6', dataCriacao: this.buildTime(), downtime: () => { this.showEdit = true; } })))), infobonus.hasBonus &&
|
119
|
+
(h("p", { key: '6f2a3eeb27a64ab131fdbc92bcb4f5ce261b522e', class: "note-description-2" }, instance.t("withApplyBonus", { giftbackname: giftbackname }), " ", h("strong", { key: '4a2b5829e8c5df8275a393f78dbead011a882cb9' }, "R$ ", this.getAmount(), "."))), (infobonus.requestBonus && !infobonus.hasBonus) &&
|
120
|
+
(h("p", { key: '54607ce969f8b7b8ac9abf3e51b31b5d4c5bb253', class: "note-description-not" }, instance.t("noBonus", { giftbackname: giftbackname }))), !infobonus.requestBonus &&
|
121
|
+
(h("div", { key: '2981b854d04078013f1051890fcd1de676a4da9e', class: "description" }, h("p", { key: '8a3fc01141db28d93025b1cc80816406c3a5879c', class: "note-description-not" }, instance.t("noBonus", { giftbackname: giftbackname })))))));
|
113
122
|
}
|
114
123
|
};
|
115
124
|
CrmBonusNote.style = CrmBonusNoteStyle0;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"crm-bonus-note.entry.js","mappings":"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","names":["money","i18next"],"sources":["src/assets/svg/money-dollars-svgrepo-com.svg","src/helpers/time.helper.ts","src/components/note/crm-bonus-note.css?tag=crm-bonus-note","src/components/note/crm-bonus-note.tsx"],"sourcesContent":["<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->\n<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#000000\" stroke-width=\"2\"/>\n<path d=\"M15 9.94728C14.5 9.3 13.8 8.5 12 8.5C10.2 8.5 9 9.51393 9 9.94728C9 10.3806 9.06786 10.9277 10 11.5C10.7522 11.9618 12.6684 12.0439 13.5 12.5C14.679 13.1467 14.8497 13.8202 14.8497 14.0522C14.8497 14.6837 13.4175 15.4852 12 15.5C10.536 15.5153 9.5 14.7 9 14.0522\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 7V17\" stroke=\"#000000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>","export function setTime() {\n\n if(localStorage.getItem(\"bc:time-allow\")) {\n return\n }\n\n const time = localStorage.getItem(\"bc:time\");\n\n if(!time) {\n localStorage.setItem(\"bc:time\", \"360\");\n localStorage.setItem(\"bc:time-allow\", \"true\");\n return\n } \n}",".note-container {\n border: 1px solid #dddddd;\n padding: 0 15px 15px;\n margin: 0 0 26px 0px;\n display: flex;\n flex-direction: column;\n gap: 13px;\n\n\n & .description {\n display: flex;\n flex-direction: column;\n gap: 13px;\n }\n}\n\n.note-container hr {\n border: 1px solid #CCC;\n}\n\n.note-container .back-cart {\n display: flex;\n text-align: center;\n}\n\n.note-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n\n.note-title {\n font-weight: 700;\n text-align: left;\n display: flex;\n gap: 6px;\n align-items: center;\n margin-top: 11px;\n color: #000;\n}\n\n.note-description {\n color: #6d6d5f;\n padding: 0;\n margin: 0 auto;\n}\n\n.back-cart {\n /* font-size: .9em; */\n color: #27272A;\n text-decoration: none;\n cursor: pointer;\n margin-top: 11px;\n}\n\n.note-description-2 {\n color: var(--crm-scheme-fg-main-inverse, #262626);\n /* font-size: var(--crm-font-size-body-lg, 16px); */\n font-style: normal;\n font-weight: var(--crm-font-weight-body-bold, 400);\n line-height: var(--crm-line-height-body-md, 20px);\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\n margin-top: 11px;\n color: #000;\n}\n\n.note-description-not {\n /* font-size: 16px; */\n}","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\";\nimport { setTime } from \"../../helpers/time.helper\";\nimport { CartWake } from \"../../objectvalues/cart.wake\";\nimport { getCart, getInfoBonusByCartIdAndStoreName } from \"../../helpers/cart.helper\";\nimport { defaultStyles } from \"../../contants\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop() cart;\n\n @State() cartWake: CartWake;\n @State() url: string;\n @State() config: IInfoStore;\n @State() bonus: IBonus;\n @State() showEdit: boolean = false;\n @State() styles = defaultStyles;\n async componentWillLoad() {\n await this.upadateCheckToFreteAndGetUrl();\n }\n\n async upadateCheckToFreteAndGetUrl() {\n\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\n\n const key = getKeyReserveByCartId(this.cartWake.id);\n try {\n const info = await getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name);\n\n if (info.bonusBalance) {\n localStorage.setItem(this.cartWake.id, info.bonusBalance);\n localStorage.setItem(key, JSON.stringify({\n hasBonus: true,\n }));\n }\n\n if (info.isBonusProcessed) {\n this.startTime();\n }\n\n if(info?.metadata?.url) {\n this.url = info?.metadata?.url;\n }\n\n } catch (error) {\n localStorage.removeItem(key);\n localStorage.removeItem(this.cartWake.id);\n }\n\n this.config = getInfoCustomization(this.cartWake.store.name);\n\n if (this.config.keepStoreFrontStyle) {\n this.styles = null;\n }\n\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartWake.id);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartWake.id);\n\n return amount ? Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\" : \"0,00\";\n }\n\n async backCart() {\n window.location.href = this.url;\n }\n\n\n private startTime() {\n\n if (!localStorage.getItem(\"bc:time-allow\")) {\n localStorage.removeItem(\"bc:time\")\n }\n\n setTime();\n }\n\n\n hasBonus() {\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));\n\n const info = {\n hasBonus: false,\n requestBonus: false\n }\n\n if (_bonus) {\n this.bonus = JSON.parse(_bonus);\n info.hasBonus = this.bonus.hasBonus;\n info.requestBonus = true;\n }\n\n return info;\n }\n\n getTime() {\n const time = localStorage.getItem(\"bc:time\")\n\n return time ? Number(time) : 0;\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\" style={this.styles}>\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 <div>\n {this.showEdit && (\n <p class=\"back-cart\" onClick={() => this.backCart()}>\n {i18next.t(\"edit\")}\n </p>\n )}\n {!this.showEdit && <countdown-timer initialValue={this.getTime()} downtime={() => { this.showEdit = true }} />}\n </div>\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(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n </div>\n )\n }\n </div>\n </div>\n )\n }\n}"],"version":3}
|
1
|
+
{"file":"crm-bonus-note.entry.js","mappings":"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","names":["money","i18next"],"sources":["src/assets/svg/money-dollars-svgrepo-com.svg","src/helpers/time.helper.ts","src/components/note/crm-bonus-note.css?tag=crm-bonus-note","src/components/note/crm-bonus-note.tsx"],"sourcesContent":["<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->\n<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#000000\" stroke-width=\"2\"/>\n<path d=\"M15 9.94728C14.5 9.3 13.8 8.5 12 8.5C10.2 8.5 9 9.51393 9 9.94728C9 10.3806 9.06786 10.9277 10 11.5C10.7522 11.9618 12.6684 12.0439 13.5 12.5C14.679 13.1467 14.8497 13.8202 14.8497 14.0522C14.8497 14.6837 13.4175 15.4852 12 15.5C10.536 15.5153 9.5 14.7 9 14.0522\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 7V17\" stroke=\"#000000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>","export function setTime() {\n\n if(localStorage.getItem(\"bc:time-allow\")) {\n return\n }\n\n const time = localStorage.getItem(\"bc:time\");\n\n if(!time) {\n localStorage.setItem(\"bc:time\", \"360\");\n localStorage.setItem(\"bc:time-allow\", \"true\");\n return\n } \n}",".note-container {\n border: 1px solid #dddddd;\n padding: 0 15px 15px;\n margin: 0 0 26px 0px;\n display: flex;\n flex-direction: column;\n gap: 13px;\n\n\n & .description {\n display: flex;\n flex-direction: column;\n gap: 13px;\n }\n}\n\n.note-container hr {\n border: 1px solid #CCC;\n}\n\n.note-container .back-cart {\n display: flex;\n text-align: center;\n}\n\n.note-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n\n.note-title {\n font-weight: 700;\n text-align: left;\n display: flex;\n gap: 6px;\n align-items: center;\n margin-top: 11px;\n color: #000;\n}\n\n.note-description {\n color: #6d6d5f;\n padding: 0;\n margin: 0 auto;\n}\n\n.back-cart {\n /* font-size: .9em; */\n color: #27272A;\n text-decoration: none;\n cursor: pointer;\n margin-top: 11px;\n}\n\n.note-description-2 {\n color: var(--crm-scheme-fg-main-inverse, #262626);\n /* font-size: var(--crm-font-size-body-lg, 16px); */\n font-style: normal;\n font-weight: var(--crm-font-weight-body-bold, 400);\n line-height: var(--crm-line-height-body-md, 20px);\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\n margin-top: 11px;\n color: #000;\n}\n\n.note-description-not {\n /* font-size: 16px; */\n}","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, ReservedInfoDTO } from \"../../components\";\nimport { setTime } from \"../../helpers/time.helper\";\nimport { CartWake } from \"../../objectvalues/cart.wake\";\nimport { getCart, getInfoBonusByCartIdAndStoreName } from \"../../helpers/cart.helper\";\nimport { defaultStyles } from \"../../contants\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop() cart;\n\n @State() cartWake: CartWake;\n @State() url: string;\n @State() config: IInfoStore;\n @State() bonus: IBonus;\n @State() showEdit: boolean = false;\n\n @State() styles = defaultStyles;\n @State() info: ReservedInfoDTO;\n\n async componentWillLoad() {\n await this.upadateCheckToFreteAndGetUrl();\n }\n\n async upadateCheckToFreteAndGetUrl() {\n\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\n\n const key = getKeyReserveByCartId(this.cartWake.id);\n try {\n const info = await getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name);\n\n if (info.bonusBalance) {\n localStorage.setItem(this.cartWake.id, info.bonusBalance);\n localStorage.setItem(key, JSON.stringify({\n hasBonus: true,\n }));\n }\n\n if (info.isBonusProcessed) {\n this.startTime();\n }\n\n if(info?.metadata?.url) {\n this.url = info?.metadata?.url;\n }\n\n console.log('info', info);\n\n this.info = info;\n } catch (error) {\n localStorage.removeItem(key);\n localStorage.removeItem(this.cartWake.id);\n }\n\n this.config = getInfoCustomization(this.cartWake.store.name);\n\n if (this.config.keepStoreFrontStyle) {\n this.styles = null;\n }\n\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartWake.id);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartWake.id);\n\n return amount ? Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\" : \"0,00\";\n }\n\n async backCart() {\n window.location.href = this.url;\n }\n\n\n private startTime() {\n\n if (!localStorage.getItem(\"bc:time-allow\")) {\n localStorage.removeItem(\"bc:time\")\n }\n\n setTime();\n }\n\n private buildTime() {\n if(!this.info?.metadata?.createdAt)\n return \"\";\n\n return new Date(this.info?.metadata?.createdAt).toString();\n }\n\n\n hasBonus() {\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));\n\n const info = {\n hasBonus: false,\n requestBonus: false\n }\n\n if (_bonus) {\n this.bonus = JSON.parse(_bonus);\n info.hasBonus = this.bonus.hasBonus;\n info.requestBonus = true;\n }\n\n return info;\n }\n\n getTime() {\n const time = localStorage.getItem(\"bc:time\")\n\n return time ? Number(time) : 0;\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\" style={this.styles}>\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 <div>\n {this.showEdit && (\n <p class=\"back-cart\" onClick={() => this.backCart()}>\n {i18next.t(\"edit\")}\n </p>\n )}\n {!this.showEdit && <countdown-timer dataCriacao={this.buildTime()} downtime={() => { this.showEdit = true }} />}\n </div>\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(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n </div>\n )\n }\n </div>\n </div>\n )\n }\n}"],"version":3}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { r as registerInstance, h } from './index-bdb70d5a.js';
|
2
|
+
|
3
|
+
const crmBonusTray = class {
|
4
|
+
constructor(hostRef) {
|
5
|
+
registerInstance(this, hostRef);
|
6
|
+
}
|
7
|
+
render() {
|
8
|
+
return (h("div", { key: 'b14a932e4fe5118f73c319e9fcd1c7f6ca6466fb' }, "COMPONENT BYCODER"));
|
9
|
+
}
|
10
|
+
};
|
11
|
+
|
12
|
+
export { crmBonusTray as crm_bonus_tray };
|
13
|
+
|
14
|
+
//# sourceMappingURL=crm-bonus-tray.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"crm-bonus-tray.entry.js","mappings":";;MAKa,YAAY;;;;IAErB,MAAM;QACF,QACI,kFAA4B,EAC/B;KACJ;;;;;","names":[],"sources":["src/tray-ecommerce/crm-bonus-tray.tsx"],"sourcesContent":["import { Component, h } from \"@stencil/core\";\n\n@Component({\n tag: 'crm-bonus-tray'\n})\nexport class crmBonusTray {\n\n render() {\n return (\n <div>COMPONENT BYCODER</div>\n )\n }\n}"],"version":3}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { r as registerInstance, h } from './index-bdb70d5a.js';
|
2
|
-
import { C as CrmBonusService, U as USED_KEY } from './crmbonus.service-
|
2
|
+
import { C as CrmBonusService, U as USED_KEY } from './crmbonus.service-0bd0a5ac.js';
|
3
3
|
import { d as defaultStyles, S as StepFormEnum } from './index-dc3ebdf0.js';
|
4
4
|
import { i as instance } from './i18n-b9d8b0cc.js';
|
5
|
-
import { g as getCart, a as getInfoBonusByCartIdAndStoreName, C as CartWake } from './cart.helper-
|
5
|
+
import { g as getCart, a as getInfoBonusByCartIdAndStoreName, C as CartWake } from './cart.helper-c6fd0b36.js';
|
6
6
|
|
7
7
|
var AjustesTipoEnum;
|
8
8
|
(function (AjustesTipoEnum) {
|
@@ -248,7 +248,7 @@ const CrmBonus = class {
|
|
248
248
|
this.showModal = true;
|
249
249
|
}
|
250
250
|
render() {
|
251
|
-
return (h("loading-container", { key: '
|
251
|
+
return (h("loading-container", { key: '8a8c5fe7b3e0b44b964d293fe7d645949b132d4f', loading: this.loading_reprocess }, h("crm-giftback-form", { key: '80d297d2b957e49f34fadc974f57e7746cf8202c', customStyles: this.styles, style: { position: "relative" }, ref: ref => this.crmBonusRef = ref, storeName: this.cartWake.store.name, products: this.buildProducts(), cartId: this.cartWake.id, customer: this.customer, loadProducts: () => this.buildProducts(), loadAll: () => this.handleLoad(), reservedInfo: this.reservedInfo })));
|
252
252
|
}
|
253
253
|
static get assetsDirs() { return ["assets"]; }
|
254
254
|
};
|