crmbonus-component-wake 2.1.23-local → 2.1.23-ngrok

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/cjs/{build.payload.helper-72ef7c5c.js → build.payload.helper-409e6cc9.js} +14 -2
  2. package/dist/cjs/build.payload.helper-409e6cc9.js.map +1 -0
  3. package/dist/cjs/{cart.helper-7b7f630d.js → cart.helper-df86b04b.js} +4 -2
  4. package/dist/cjs/cart.helper-df86b04b.js.map +1 -0
  5. package/dist/cjs/{countdown-timer.cjs.entry.js → countdown-timer_2.cjs.entry.js} +18 -1
  6. package/dist/cjs/countdown-timer_2.cjs.entry.js.map +1 -0
  7. package/dist/cjs/crm-bonus-form.cjs.entry.js +1 -1
  8. package/dist/cjs/crm-bonus-note.cjs.entry.js +7 -13
  9. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  10. package/dist/cjs/crm-bonus-tray.cjs.entry.js +1 -1
  11. package/dist/cjs/crm-bonus.cjs.entry.js +24 -7
  12. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
  13. package/dist/cjs/crm-giftback-form.cjs.entry.js +11 -8
  14. package/dist/cjs/crm-giftback-form.cjs.entry.js.map +1 -1
  15. package/dist/cjs/crm-tooltip_4.cjs.entry.js +3 -3
  16. package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
  17. package/dist/cjs/{crmbonus.service-d4b81327.js → crmbonus.service-2df67338.js} +19 -12
  18. package/dist/cjs/crmbonus.service-2df67338.js.map +1 -0
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/cjs/pedido-finalizado.cjs.entry.js +3 -3
  21. package/dist/cjs/phone-input-mask.cjs.entry.js +1 -1
  22. package/dist/collection/components/crm-bonus/crm-bonus.js +21 -4
  23. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  24. package/dist/collection/components/giftback-form/giftback-form.js +11 -7
  25. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  26. package/dist/collection/components/note/crm-bonus-note.js +4 -10
  27. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  28. package/dist/collection/components/pedido/pedido.js +1 -1
  29. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  30. package/dist/collection/components/tooltip/tooltip.js +1 -1
  31. package/dist/collection/dto/validate.pin.bonus.js +2 -0
  32. package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
  33. package/dist/collection/helpers/build.payload.helper.js +11 -1
  34. package/dist/collection/helpers/build.payload.helper.js.map +1 -1
  35. package/dist/collection/helpers/cart.helper.js +2 -0
  36. package/dist/collection/helpers/cart.helper.js.map +1 -1
  37. package/dist/collection/services/crmbonus.service.js +18 -11
  38. package/dist/collection/services/crmbonus.service.js.map +1 -1
  39. package/dist/collection/tray-ecommerce/crm-bonus-tray.js +1 -1
  40. package/dist/components/crm-bonus-form.js +1 -1
  41. package/dist/components/crm-bonus-note.js +8 -20
  42. package/dist/components/crm-bonus-note.js.map +1 -1
  43. package/dist/components/crm-bonus-tray.js +1 -1
  44. package/dist/components/crm-bonus.js +29 -12
  45. package/dist/components/crm-bonus.js.map +1 -1
  46. package/dist/components/crm-giftback-form.js +1 -1
  47. package/dist/components/crm-tooltip.js +1 -1
  48. package/dist/components/giftback-info.js +1 -1
  49. package/dist/components/{p-bf39a925.js → p-0a33e90f.js} +2 -2
  50. package/dist/components/{p-bf39a925.js.map → p-0a33e90f.js.map} +1 -1
  51. package/dist/{esm/build.payload.helper-09dcb309.js → components/p-1bc79b08.js} +14 -2
  52. package/dist/components/p-1bc79b08.js.map +1 -0
  53. package/dist/components/{p-983941ec.js → p-36601e2d.js} +17 -13
  54. package/dist/components/p-36601e2d.js.map +1 -0
  55. package/dist/components/{p-4734b509.js → p-417d9c1e.js} +4 -4
  56. package/dist/components/{p-4734b509.js.map → p-417d9c1e.js.map} +1 -1
  57. package/dist/components/{p-8c9686ed.js → p-ab662b24.js} +2 -2
  58. package/dist/components/{p-8c9686ed.js.map → p-ab662b24.js.map} +1 -1
  59. package/dist/components/{p-6b783d44.js → p-c2ecfee1.js} +19 -12
  60. package/dist/components/p-c2ecfee1.js.map +1 -0
  61. package/dist/components/{p-0a4cc53e.js → p-e068510c.js} +2 -2
  62. package/dist/components/{p-0a4cc53e.js.map → p-e068510c.js.map} +1 -1
  63. package/dist/components/{p-239cdde1.js → p-e68d4e85.js} +4 -2
  64. package/dist/components/p-e68d4e85.js.map +1 -0
  65. package/dist/components/pedido-finalizado.js +3 -3
  66. package/dist/components/phone-cancel-input.js +1 -1
  67. package/dist/components/phone-form.js +1 -1
  68. package/dist/components/phone-input-mask.js +1 -1
  69. package/dist/components/phone-input.js +1 -1
  70. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  71. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  72. package/dist/crmbonus-component-wake/p-1bc79b08.js +2 -0
  73. package/dist/crmbonus-component-wake/p-1bc79b08.js.map +1 -0
  74. package/dist/crmbonus-component-wake/p-568072fe.entry.js +2 -0
  75. package/dist/crmbonus-component-wake/p-70dc125d.entry.js +2 -0
  76. package/dist/crmbonus-component-wake/p-a3d2a4f7.entry.js +2 -0
  77. package/dist/crmbonus-component-wake/p-a3d2a4f7.entry.js.map +1 -0
  78. package/dist/crmbonus-component-wake/{p-17d31505.entry.js → p-b5e9a5ea.entry.js} +2 -2
  79. package/dist/crmbonus-component-wake/{p-33065276.entry.js → p-bfebfea7.entry.js} +2 -2
  80. package/dist/crmbonus-component-wake/{p-6b783d44.js → p-c2ecfee1.js} +2 -2
  81. package/dist/crmbonus-component-wake/p-c2ecfee1.js.map +1 -0
  82. package/dist/crmbonus-component-wake/p-cc0bc5a5.entry.js +2 -0
  83. package/dist/crmbonus-component-wake/p-cc0bc5a5.entry.js.map +1 -0
  84. package/dist/crmbonus-component-wake/p-d65808f6.entry.js +2 -0
  85. package/dist/crmbonus-component-wake/p-d7c09321.entry.js +2 -0
  86. package/dist/crmbonus-component-wake/p-d7c09321.entry.js.map +1 -0
  87. package/dist/crmbonus-component-wake/p-e5d8700b.entry.js +2 -0
  88. package/dist/crmbonus-component-wake/p-e5d8700b.entry.js.map +1 -0
  89. package/dist/crmbonus-component-wake/p-e68d4e85.js +2 -0
  90. package/dist/crmbonus-component-wake/{p-239cdde1.js.map → p-e68d4e85.js.map} +1 -1
  91. package/dist/{components/p-0bc27e39.js → esm/build.payload.helper-96f9c8b8.js} +14 -2
  92. package/dist/esm/build.payload.helper-96f9c8b8.js.map +1 -0
  93. package/dist/esm/{cart.helper-4d1bf8e2.js → cart.helper-9c847c16.js} +4 -2
  94. package/dist/esm/cart.helper-9c847c16.js.map +1 -0
  95. package/dist/esm/{countdown-timer.entry.js → countdown-timer_2.entry.js} +18 -2
  96. package/dist/esm/countdown-timer_2.entry.js.map +1 -0
  97. package/dist/esm/crm-bonus-form.entry.js +1 -1
  98. package/dist/esm/crm-bonus-note.entry.js +7 -13
  99. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  100. package/dist/esm/crm-bonus-tray.entry.js +1 -1
  101. package/dist/esm/crm-bonus.entry.js +24 -7
  102. package/dist/esm/crm-bonus.entry.js.map +1 -1
  103. package/dist/esm/crm-giftback-form.entry.js +11 -8
  104. package/dist/esm/crm-giftback-form.entry.js.map +1 -1
  105. package/dist/esm/crm-tooltip_4.entry.js +3 -3
  106. package/dist/esm/crmbonus-component-wake.js +1 -1
  107. package/dist/esm/{crmbonus.service-aafcb1ec.js → crmbonus.service-3ab820ba.js} +19 -12
  108. package/dist/esm/crmbonus.service-3ab820ba.js.map +1 -0
  109. package/dist/esm/loader.js +1 -1
  110. package/dist/esm/pedido-finalizado.entry.js +3 -3
  111. package/dist/esm/phone-input-mask.entry.js +1 -1
  112. package/dist/types/components/crm-bonus/crm-bonus.d.ts +1 -0
  113. package/dist/types/components/giftback-form/giftback-form.d.ts +1 -0
  114. package/dist/types/components/note/crm-bonus-note.d.ts +0 -1
  115. package/dist/types/dto/validate.pin.bonus.d.ts +3 -1
  116. package/package.json +1 -1
  117. package/dist/cjs/build.payload.helper-72ef7c5c.js.map +0 -1
  118. package/dist/cjs/cart.helper-7b7f630d.js.map +0 -1
  119. package/dist/cjs/countdown-timer.cjs.entry.js.map +0 -1
  120. package/dist/cjs/crm-button.cjs.entry.js +0 -25
  121. package/dist/cjs/crm-button.cjs.entry.js.map +0 -1
  122. package/dist/cjs/crmbonus.service-d4b81327.js.map +0 -1
  123. package/dist/components/p-0bc27e39.js.map +0 -1
  124. package/dist/components/p-239cdde1.js.map +0 -1
  125. package/dist/components/p-6b783d44.js.map +0 -1
  126. package/dist/components/p-983941ec.js.map +0 -1
  127. package/dist/crmbonus-component-wake/p-0bc27e39.js +0 -2
  128. package/dist/crmbonus-component-wake/p-0bc27e39.js.map +0 -1
  129. package/dist/crmbonus-component-wake/p-239cdde1.js +0 -2
  130. package/dist/crmbonus-component-wake/p-2c9c622a.entry.js +0 -2
  131. package/dist/crmbonus-component-wake/p-2c9c622a.entry.js.map +0 -1
  132. package/dist/crmbonus-component-wake/p-697779f2.entry.js +0 -2
  133. package/dist/crmbonus-component-wake/p-697779f2.entry.js.map +0 -1
  134. package/dist/crmbonus-component-wake/p-6b783d44.js.map +0 -1
  135. package/dist/crmbonus-component-wake/p-9c1704c1.entry.js +0 -2
  136. package/dist/crmbonus-component-wake/p-9d0e6eb3.entry.js +0 -2
  137. package/dist/crmbonus-component-wake/p-aa0d168f.entry.js +0 -2
  138. package/dist/crmbonus-component-wake/p-b476cb6c.entry.js +0 -2
  139. package/dist/crmbonus-component-wake/p-b476cb6c.entry.js.map +0 -1
  140. package/dist/crmbonus-component-wake/p-b6ed20eb.entry.js +0 -2
  141. package/dist/crmbonus-component-wake/p-b6ed20eb.entry.js.map +0 -1
  142. package/dist/crmbonus-component-wake/p-bbea7258.entry.js +0 -2
  143. package/dist/crmbonus-component-wake/p-bbea7258.entry.js.map +0 -1
  144. package/dist/esm/build.payload.helper-09dcb309.js.map +0 -1
  145. package/dist/esm/cart.helper-4d1bf8e2.js.map +0 -1
  146. package/dist/esm/countdown-timer.entry.js.map +0 -1
  147. package/dist/esm/crm-button.entry.js +0 -21
  148. package/dist/esm/crm-button.entry.js.map +0 -1
  149. package/dist/esm/crmbonus.service-aafcb1ec.js.map +0 -1
  150. /package/dist/crmbonus-component-wake/{p-aa0d168f.entry.js.map → p-568072fe.entry.js.map} +0 -0
  151. /package/dist/crmbonus-component-wake/{p-9d0e6eb3.entry.js.map → p-70dc125d.entry.js.map} +0 -0
  152. /package/dist/crmbonus-component-wake/{p-17d31505.entry.js.map → p-b5e9a5ea.entry.js.map} +0 -0
  153. /package/dist/crmbonus-component-wake/{p-33065276.entry.js.map → p-bfebfea7.entry.js.map} +0 -0
  154. /package/dist/crmbonus-component-wake/{p-9c1704c1.entry.js.map → p-d65808f6.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as t,h as s}from"./p-8c362346.js";import{C as i,U as o}from"./p-6b783d44.js";import{d as e,S as a}from"./p-ecc51430.js";import{i as n}from"./p-c53241bf.js";import{b as r}from"./p-0bc27e39.js";import{g as c,a as h,C as l}from"./p-239cdde1.js";const d=".container-button{cursor:pointer;padding:5px 5px 5px 14px;}.section-crm{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm{margin-top:10px}.section-cart-crm p{padding:0;margin:0px 0px 0px 15px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;cursor:pointer;margin-left:10px;height:70px}.form-container{width:97%;display:flex;justify-content:space-around}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container .btnCrm{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert{color:#df4d4d;margin-top:5px}";const u=d;const f=class{constructor(s){t(this,s);this.crmBonusService=i.getInstance();this.cart=undefined;this.canhidden=false;this.showModal=false;this.cartWake=undefined;this.customer={birthDate:"",document:"",name:"",phone:""};this.loading=false;this.message=undefined;this.phone=undefined;this.canCancel=false;this.amountCancel=undefined;this.sent=undefined;this.session=undefined;this.loading_reprocess=false;this.styles=e;this.reservedInfo=undefined}async resetBonus(){console.log("[START RESET BONUS]!!!!!");try{await this.crmBonusRef.processBonus(this.buildProducts(),true);console.log("[BONUS RESETADO]!!!!!")}catch(t){this.loading=false;console.log("[error ao reprocessar bonous]");await this.crmBonusRef.setStep(a.STEP_PHONE)}finally{this.loading=false}}async setloading(){this.loading_reprocess=!this.loading_reprocess}async reprocess(){console.log("[CRMBONUS] - reprocess");this.loading_reprocess=true;try{const t=localStorage.getItem(o);if(!t)return;this.cartWake=await c();await this.resetBonus()}catch(t){console.debug("[watchProducts]",t.message)}finally{this.loading_reprocess=false}}async componentWillLoad(){window.addEventListener("productRemovedFromCart",(async()=>{console.log("[CRMBONUS] - productRemovedFromCart");await this.reprocess()}));window.addEventListener("productAddedToCart",(async()=>{console.log("[CRMBONUS] - productAddedToCart");await this.reprocess()}));document.querySelectorAll("form").forEach((t=>{t.addEventListener("submit",(()=>{console.log("[CRMBONUS] - Formulário está sendo submetido!");setTimeout((async()=>{await this.reprocess()}))}))}));n.changeLanguage(n.language);await this.handleLoad();await this.loadSession();await this.loadConfigStore()}async loadConfigStore(){const[t,s]=await Promise.all([this.crmBonusService.getCustomization(this.cartWake.store.name),h(this.cartWake.id,this.cartWake.store.name)]);console.log("[infoBonus]",s);this.reservedInfo=s;if(t.keepStoreFrontStyle){this.styles=null}}async handleLoad(){try{this.cartWake=this.cart?new l(JSON.parse(this.cart)):await c();if(this.cartWake.user.id){this.customer=await this.crmBonusService.getCustomer(this.cartWake.user.id,this.cartWake.store.name);console.log("customer",this.customer)}const t=localStorage.getItem(this.cartWake.id);if(t){this.canCancel=true;this.amountCancel=t}await this.buildAndGetProducts(this.cartWake.products)}catch(t){console.log("info customer")}}async loadSession(){this.session=await this.crmBonusService.getToken(this.cartWake.store.name);setTimeout((()=>{this.loadSession()}),15e5)}async buildAndGetProducts(t){const s=`bc-products:${this.cartWake.id}`;const i=JSON.stringify(t);localStorage.setItem(s,i);const o=JSON.parse(localStorage.getItem(s));const e=[];for(const s of t){const[t]=o.filter((t=>t.ProdutoVarianteId==s.ProdutoVarianteId));const[i={Valor:0}]=t.Ajustes.filter((t=>t.Tipo==="Formula"));if(t){e.push(Object.assign(Object.assign({},s),{PrecoPor:t.PrecoPor+i.Valor*-1,Quantidade:t.Quantidade,Ajustes:t.Ajustes}))}else{e.push(s)}}this.cartWake.products=e}async sendPin(t){var s,i;this.loading=true;this.message="";try{const s=t.replace(/\D/g,"");this.phone=Number(s);this.sent=await this.crmBonusService.sendPin(this.phone,this.customer.name,this.cartWake.store.name);await this.crmBonusRef.setStep(a.STEP_PIN);this.showModal=true}catch(t){this.message=(i=(s=t===null||t===void 0?void 0:t.response)===null||s===void 0?void 0:s.data)===null||i===void 0?void 0:i.message}finally{this.loading=false}}async sendPinName(t){var s,i;this.loading=true;this.message="";try{this.customer.name=t;this.sent=await this.crmBonusService.sendPin(this.phone,this.customer.name,this.cartWake.store.name);await this.crmBonusRef.setStep(a.STEP_PIN);this.showModal=true}catch(t){this.message=(i=(s=t===null||t===void 0?void 0:t.response)===null||s===void 0?void 0:s.data)===null||i===void 0?void 0:i.message}finally{this.loading=false}}buildProducts(){return r(this.cartWake.products)}handleCloseModal(){this.showModal=false}save(t){localStorage.setItem(this.cartWake.id,t.toString());this.canCancel=true;this.amountCancel=t.toString()}async cancel(){this.message="";this.loading=true;try{await this.crmBonusService.cancel(this.cartWake.id);this.canCancel=false;localStorage.removeItem(this.cartWake.id)}catch(t){this.message="Não consegui cancelar o bônus, tente novamente!"}finally{this.loading=false}}async handleSendPin(t){this.message="";if(!t){this.message="Informe seu telefone";return}this.customer.phone=t;const s=t.replace(/\D/g,"");this.phone=Number(s);if(this.customer.name){return this.sendPin(t)}await this.crmBonusRef.setStep(a.STEP_NAME);this.showModal=true}render(){if(this.canhidden){return null}return s("loading-container",{loading:this.loading_reprocess},s("crm-giftback-form",{customStyles:this.styles,style:{position:"relative"},ref:t=>this.crmBonusRef=t,storeName:this.cartWake.store.name,products:this.buildProducts(),cartId:this.cartWake.id,customer:this.customer,loadProducts:()=>this.buildProducts(),loadAll:()=>this.handleLoad(),reservedInfo:this.reservedInfo}))}static get assetsDirs(){return["assets"]}};f.style=u;export{f as crm_bonus};
2
- //# sourceMappingURL=p-bbea7258.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["crmBonusCss","CrmBonusStyle0","CrmBonus","this","crmBonusService","CrmBonusService","getInstance","birthDate","document","name","phone","defaultStyles","resetBonus","console","log","crmBonusRef","processBonus","buildProducts","err","loading","setStep","StepFormEnum","STEP_PHONE","setloading","loading_reprocess","reprocess","isUse","localStorage","getItem","USED_KEY","cartWake","getCart","debug","message","componentWillLoad","window","addEventListener","async","querySelectorAll","forEach","el","setTimeout","i18next","changeLanguage","language","handleLoad","loadSession","loadConfigStore","customization","infoBonus","Promise","all","getCustomization","store","getInfoBonusByCartIdAndStoreName","id","reservedInfo","keepStoreFrontStyle","styles","cart","CartWake","JSON","parse","user","customer","getCustomer","amount","canCancel","amountCancel","buildAndGetProducts","products","error","session","getToken","productsWake","key","productsString","stringify","setItem","products_in_cache","product_cart","pro","filter","p","ProdutoVarianteId","ajuste","Valor","Ajustes","aj","Tipo","push","Object","assign","PrecoPor","Quantidade","sendPin","_phone","replace","Number","sent","STEP_PIN","showModal","_b","_a","response","data","sendPinName","customerName","buildProductsByWake","handleCloseModal","save","toString","cancel","removeItem","handleSendPin","STEP_NAME","render","canhidden","h","customStyles","style","position","ref","storeName","cartId","loadProducts","loadAll"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\r\n.container-button {\r\n /* max-width: 100%; */\r\n cursor: pointer;\r\n padding: 5px 5px 5px 14px;\r\n /* display: flex; */\r\n}\r\n\r\n/* padding: 0 15px 15px;\r\nborder: 1px solid #ddd;\r\nmargin-bottom: 20px; */\r\n\r\n.section-crm {\r\n border: 1px solid #dbd4d4;\r\n /* min-height: 50px; */\r\n text-align: -webkit-center;\r\n margin-bottom: 20px;\r\n}\r\n\r\n.section-cart-crm {\r\n margin-top: 10px;\r\n}\r\n\r\n.section-cart-crm p {\r\n padding: 0;\r\n margin: 0px 0px 0px 15px;\r\n}\r\n\r\n.button {\r\n top: 50%;\r\n background-color: #6c6c7e;\r\n color: #fff;\r\n border: none;\r\n /* border-radius: 10px; */\r\n padding: 15px;\r\n min-height: 30px;\r\n min-width: 120px;\r\n /* font-size: 20px; */\r\n cursor: pointer;\r\n margin-left: 10px;\r\n height: 70px;\r\n}\r\n\r\n.form-container {\r\n width: 97%;\r\n display: flex;\r\n justify-content: space-around;\r\n}\r\n\r\n\r\n.btn {\r\n display: inline-block;\r\n padding: 6px 12px;\r\n margin-bottom: 0;\r\n /* font-size: 14px; */\r\n font-weight: 400;\r\n line-height: 1.42857143;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n -ms-touch-action: manipulation;\r\n touch-action: manipulation;\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n background-image: none;\r\n border: 1px solid transparent;\r\n border-radius: 0px;\r\n}\r\n\r\n.form-container .btnCrm {\r\n background: #00162e;\r\n border-color: #00162e;\r\n width: 30%;\r\n color: #fff;\r\n}\r\n\r\n.message-alert {\r\n color: #df4d4d;\r\n margin-top: 5px;\r\n}","import { Component, Method, Prop, State, h } from '@stencil/core';\r\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\r\nimport { CrmBonusService } from '../../services/crmbonus.service';\r\nimport { IPinSent } from '../../components';\r\nimport { defaultStyles, StepFormEnum } from '../../contants';\r\n\r\nimport i18next from '../../i18n/i18n'\r\nimport { buildProductsByWake } from '../../helpers/build.payload.helper';\r\nimport { getCart, getInfoBonusByCartIdAndStoreName } from '../../helpers/cart.helper';\r\nimport { CartWake } from '../../objectvalues/cart.wake';\r\nimport { USED_KEY } from '../../utils/keys.storage';\r\nimport { ReservedInfoDTO } from '../../dto/reserved-info.dto';\r\n\r\n@Component({\r\n tag: 'crm-bonus',\r\n styleUrl: 'crm-bonus.css',\r\n assetsDirs: ['assets'],\r\n // scoped: true\r\n shadow: true\r\n})\r\nexport class CrmBonus {\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n private crmBonusRef: HTMLCrmGiftbackFormElement;\r\n\r\n @Prop() cart;\r\n @Prop() canhidden: boolean = false;\r\n\r\n @State() showModal: boolean = false;\r\n\r\n @State() cartWake: CartWake;\r\n\r\n @State() customer: ICustomer = {\r\n birthDate: \"\",\r\n document: \"\",\r\n name: \"\",\r\n phone: \"\"\r\n };\r\n\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: number;\r\n @State() canCancel: boolean = false;\r\n @State() amountCancel: string;\r\n @State() sent: IPinSent;\r\n\r\n @State() session: string;\r\n @State() loading_reprocess = false;\r\n @State() styles = defaultStyles;\r\n @State() reservedInfo: ReservedInfoDTO;\r\n\r\n @Method()\r\n async resetBonus() {\r\n console.log('[START RESET BONUS]!!!!!');\r\n\r\n try {\r\n await this.crmBonusRef.processBonus(this.buildProducts(), true);\r\n console.log('[BONUS RESETADO]!!!!!');\r\n } catch (err) {\r\n\r\n this.loading = false;\r\n console.log('[error ao reprocessar bonous]');\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n @Method()\r\n async setloading() {\r\n this.loading_reprocess = !this.loading_reprocess;\r\n }\r\n\r\n @Method()\r\n async reprocess() {\r\n console.log(\"[CRMBONUS] - reprocess\")\r\n this.loading_reprocess = true\r\n\r\n try {\r\n\r\n const isUse = localStorage.getItem(USED_KEY);\r\n\r\n if (!isUse) return;\r\n\r\n this.cartWake = await getCart();\r\n await this.resetBonus();\r\n } catch (err) {\r\n console.debug('[watchProducts]', err.message);\r\n } finally {\r\n this.loading_reprocess = false\r\n }\r\n }\r\n\r\n async componentWillLoad() {\r\n\r\n window.addEventListener('productRemovedFromCart', async () => {\r\n console.log('[CRMBONUS] - productRemovedFromCart');\r\n await this.reprocess()\r\n });\r\n\r\n window.addEventListener('productAddedToCart', async () => {\r\n console.log('[CRMBONUS] - productAddedToCart');\r\n await this.reprocess();\r\n });\r\n\r\n document.querySelectorAll('form').forEach((el) => {\r\n el.addEventListener(\"submit\", () => {\r\n console.log(\"[CRMBONUS] - Formulário está sendo submetido!\");\r\n // você pode marcar como \"em submissão\" aqui\r\n\r\n setTimeout(async () => {\r\n await this.reprocess();\r\n })\r\n });\r\n })\r\n\r\n\r\n i18next.changeLanguage(i18next.language);\r\n\r\n await this.handleLoad();\r\n\r\n await this.loadSession();\r\n await this.loadConfigStore()\r\n }\r\n\r\n async loadConfigStore() {\r\n\r\n const [customization, infoBonus] = await Promise.all([\r\n this.crmBonusService.getCustomization(this.cartWake.store.name),\r\n getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name)\r\n ]);\r\n\r\n console.log('[infoBonus]', infoBonus);\r\n\r\n this.reservedInfo = infoBonus;\r\n\r\n if (customization.keepStoreFrontStyle) {\r\n this.styles = null;\r\n }\r\n }\r\n\r\n async handleLoad() {\r\n try {\r\n\r\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\r\n\r\n if (this.cartWake.user.id) {\r\n this.customer = await this.crmBonusService.getCustomer(this.cartWake.user.id, this.cartWake.store.name);\r\n console.log('customer', this.customer);\r\n }\r\n\r\n const amount = localStorage.getItem(this.cartWake.id);\r\n\r\n if (amount) {\r\n this.canCancel = true;\r\n this.amountCancel = amount;\r\n }\r\n\r\n await this.buildAndGetProducts(this.cartWake.products);\r\n } catch (error) {\r\n console.log('info customer')\r\n }\r\n }\r\n\r\n async loadSession() {\r\n this.session = await this.crmBonusService.getToken(this.cartWake.store.name);\r\n\r\n setTimeout(() => {\r\n this.loadSession()\r\n }, 1500000)\r\n\r\n }\r\n\r\n async buildAndGetProducts(productsWake: IProductWake[]) {\r\n\r\n const key = `bc-products:${this.cartWake.id}`;\r\n\r\n const productsString = JSON.stringify(productsWake)\r\n\r\n localStorage.setItem(key, productsString);\r\n\r\n const products_in_cache = JSON.parse(localStorage.getItem(key));\r\n\r\n const products: Array<IProductWake> = []\r\n\r\n for (const product_cart of productsWake) {\r\n\r\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\r\n\r\n const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === \"Formula\")\r\n\r\n if (pro) {\r\n products.push({\r\n ...product_cart,\r\n PrecoPor: pro.PrecoPor + (ajuste.Valor * -1),\r\n Quantidade: pro.Quantidade,\r\n Ajustes: pro.Ajustes\r\n })\r\n } else {\r\n products.push(product_cart)\r\n }\r\n\r\n }\r\n\r\n this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\r\n\r\n }\r\n\r\n public async sendPin(phone: string) {\r\n this.loading = true;\r\n this.message = \"\";\r\n\r\n try {\r\n\r\n const _phone = phone.replace(/\\D/g, '');\r\n this.phone = Number(_phone);\r\n\r\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);;\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\r\n\r\n this.showModal = true;\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n public async sendPinName(customerName: string) {\r\n this.loading = true;\r\n this.message = \"\";\r\n\r\n try {\r\n this.customer.name = customerName;\r\n\r\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\r\n\r\n this.showModal = true;\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n buildProducts(): IProduct[] {\r\n return buildProductsByWake(this.cartWake.products);\r\n }\r\n\r\n handleCloseModal() {\r\n this.showModal = false;\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartWake.id, amount.toString());\r\n this.canCancel = true;\r\n this.amountCancel = amount.toString()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartWake.id);\r\n this.canCancel = false;\r\n\r\n localStorage.removeItem(this.cartWake.id);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.customer.phone = phone;\r\n const _phone = phone.replace(/\\D/g, '');\r\n this.phone = Number(_phone);\r\n\r\n if (this.customer.name) {\r\n return this.sendPin(phone)\r\n }\r\n\r\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\r\n this.showModal = true;\r\n }\r\n\r\n render() {\r\n\r\n if (this.canhidden) {\r\n return null;\r\n }\r\n\r\n return (\r\n <loading-container loading={this.loading_reprocess} >\r\n <crm-giftback-form\r\n customStyles={this.styles}\r\n style={{ position: \"relative\" }}\r\n ref={ref => this.crmBonusRef = ref}\r\n storeName={this.cartWake.store.name}\r\n products={this.buildProducts()}\r\n cartId={this.cartWake.id}\r\n customer={this.customer}\r\n loadProducts={() => this.buildProducts()}\r\n loadAll={() => this.handleLoad()}\r\n reservedInfo={this.reservedInfo}\r\n\r\n />\r\n </loading-container>\r\n )\r\n }\r\n}\r\n"],"mappings":"2PAAA,MAAMA,EAAc,q8BACpB,MAAAC,EAAeD,E,MCmBFE,EAAQ,M,yBAEXC,KAAAC,gBAAmCC,EAAgBC,c,mCAK9B,M,eAEC,M,sCAIC,CAC7BC,UAAW,GACXC,SAAU,GACVC,KAAM,GACNC,MAAO,I,aAGmB,M,2DAGE,M,8FAKD,M,YACXC,E,4BAIlB,gBAAMC,GACJC,QAAQC,IAAI,4BAEZ,UACQX,KAAKY,YAAYC,aAAab,KAAKc,gBAAiB,MAC1DJ,QAAQC,IAAI,wB,CACZ,MAAOI,GAEPf,KAAKgB,QAAU,MACfN,QAAQC,IAAI,uCACNX,KAAKY,YAAYK,QAAQC,EAAaC,W,SAE5CnB,KAAKgB,QAAU,K,EAKnB,gBAAMI,GACJpB,KAAKqB,mBAAqBrB,KAAKqB,iB,CAIjC,eAAMC,GACJZ,QAAQC,IAAI,0BACZX,KAAKqB,kBAAoB,KAEzB,IAEE,MAAME,EAAQC,aAAaC,QAAQC,GAEnC,IAAKH,EAAO,OAEZvB,KAAK2B,eAAiBC,UAChB5B,KAAKS,Y,CACX,MAAOM,GACPL,QAAQmB,MAAM,kBAAmBd,EAAIe,Q,SAErC9B,KAAKqB,kBAAoB,K,EAI7B,uBAAMU,GAEJC,OAAOC,iBAAiB,0BAA0BC,UAChDxB,QAAQC,IAAI,6CACNX,KAAKsB,WAAW,IAGxBU,OAAOC,iBAAiB,sBAAsBC,UAC5CxB,QAAQC,IAAI,yCACNX,KAAKsB,WAAW,IAGxBjB,SAAS8B,iBAAiB,QAAQC,SAASC,IACzCA,EAAGJ,iBAAiB,UAAU,KAC5BvB,QAAQC,IAAI,iDAGZ2B,YAAWJ,gBACHlC,KAAKsB,WAAW,GACtB,GACF,IAIJiB,EAAQC,eAAeD,EAAQE,gBAEzBzC,KAAK0C,mBAEL1C,KAAK2C,oBACL3C,KAAK4C,iB,CAGb,qBAAMA,GAEJ,MAAOC,EAAeC,SAAmBC,QAAQC,IAAI,CACnDhD,KAAKC,gBAAgBgD,iBAAiBjD,KAAK2B,SAASuB,MAAM5C,MAC1D6C,EAAiCnD,KAAK2B,SAASyB,GAAIpD,KAAK2B,SAASuB,MAAM5C,QAGzEI,QAAQC,IAAI,cAAemC,GAE3B9C,KAAKqD,aAAeP,EAEpB,GAAID,EAAcS,oBAAqB,CACrCtD,KAAKuD,OAAS,I,EAIlB,gBAAMb,GACJ,IAEE1C,KAAK2B,SAAW3B,KAAKwD,KAAO,IAAIC,EAASC,KAAKC,MAAM3D,KAAKwD,aAAe5B,IAExE,GAAI5B,KAAK2B,SAASiC,KAAKR,GAAI,CACzBpD,KAAK6D,eAAiB7D,KAAKC,gBAAgB6D,YAAY9D,KAAK2B,SAASiC,KAAKR,GAAIpD,KAAK2B,SAASuB,MAAM5C,MAClGI,QAAQC,IAAI,WAAYX,KAAK6D,S,CAG/B,MAAME,EAASvC,aAAaC,QAAQzB,KAAK2B,SAASyB,IAElD,GAAIW,EAAQ,CACV/D,KAAKgE,UAAY,KACjBhE,KAAKiE,aAAeF,C,OAGhB/D,KAAKkE,oBAAoBlE,KAAK2B,SAASwC,S,CAC7C,MAAOC,GACP1D,QAAQC,IAAI,gB,EAIhB,iBAAMgC,GACJ3C,KAAKqE,cAAgBrE,KAAKC,gBAAgBqE,SAAStE,KAAK2B,SAASuB,MAAM5C,MAEvEgC,YAAW,KACTtC,KAAK2C,aAAa,GACjB,K,CAIL,yBAAMuB,CAAoBK,GAExB,MAAMC,EAAM,eAAexE,KAAK2B,SAASyB,KAEzC,MAAMqB,EAAiBf,KAAKgB,UAAUH,GAEtC/C,aAAamD,QAAQH,EAAKC,GAE1B,MAAMG,EAAoBlB,KAAKC,MAAMnC,aAAaC,QAAQ+C,IAE1D,MAAML,EAAgC,GAEtC,IAAK,MAAMU,KAAgBN,EAAc,CAEvC,MAAOO,GAAOF,EAAkBG,QAAOC,GAAKA,EAAEC,mBAAqBJ,EAAaI,oBAEhF,MAAOC,EAAS,CAAEC,MAAO,IAAOL,EAAIM,QAAQL,QAAOM,GAAMA,EAAGC,OAAS,YAErE,GAAIR,EAAK,CACPX,EAASoB,KAAIC,OAAAC,OAAAD,OAAAC,OAAA,GACRZ,GAAY,CACfa,SAAUZ,EAAIY,SAAYR,EAAOC,OAAS,EAC1CQ,WAAYb,EAAIa,WAChBP,QAASN,EAAIM,U,KAEV,CACLjB,EAASoB,KAAKV,E,EAKlB7E,KAAK2B,SAASwC,SAAWA,C,CAIpB,aAAMyB,CAAQrF,G,QACnBP,KAAKgB,QAAU,KACfhB,KAAK8B,QAAU,GAEf,IAEE,MAAM+D,EAAStF,EAAMuF,QAAQ,MAAO,IACpC9F,KAAKO,MAAQwF,OAAOF,GAEpB7F,KAAKgG,WAAahG,KAAKC,gBAAgB2F,QAAQ5F,KAAKO,MAAOP,KAAK6D,SAASvD,KAAMN,KAAK2B,SAASuB,MAAM5C,YAE7FN,KAAKY,YAAYK,QAAQC,EAAa+E,UAE5CjG,KAAKkG,UAAY,I,CACjB,MAAO9B,GACPpE,KAAK8B,SAAUqE,GAAAC,EAAAhC,IAAK,MAALA,SAAK,SAALA,EAAOiC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAErE,O,SAEtC9B,KAAKgB,QAAU,K,EAIZ,iBAAMuF,CAAYC,G,QACvBxG,KAAKgB,QAAU,KACfhB,KAAK8B,QAAU,GAEf,IACE9B,KAAK6D,SAASvD,KAAOkG,EAErBxG,KAAKgG,WAAahG,KAAKC,gBAAgB2F,QAAQ5F,KAAKO,MAAOP,KAAK6D,SAASvD,KAAMN,KAAK2B,SAASuB,MAAM5C,YAE7FN,KAAKY,YAAYK,QAAQC,EAAa+E,UAE5CjG,KAAKkG,UAAY,I,CACjB,MAAO9B,GACPpE,KAAK8B,SAAUqE,GAAAC,EAAAhC,IAAK,MAALA,SAAK,SAALA,EAAOiC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAErE,O,SAEtC9B,KAAKgB,QAAU,K,EAInB,aAAAF,GACE,OAAO2F,EAAoBzG,KAAK2B,SAASwC,S,CAG3C,gBAAAuC,GACE1G,KAAKkG,UAAY,K,CAGnB,IAAAS,CAAK5C,GACHvC,aAAamD,QAAQ3E,KAAK2B,SAASyB,GAAIW,EAAO6C,YAC9C5G,KAAKgE,UAAY,KACjBhE,KAAKiE,aAAeF,EAAO6C,U,CAG7B,YAAMC,GACJ7G,KAAK8B,QAAU,GACf9B,KAAKgB,QAAU,KACf,UACQhB,KAAKC,gBAAgB4G,OAAO7G,KAAK2B,SAASyB,IAChDpD,KAAKgE,UAAY,MAEjBxC,aAAasF,WAAW9G,KAAK2B,SAASyB,G,CACtC,MAAOgB,GACPpE,KAAK8B,QAAU,iD,SAEf9B,KAAKgB,QAAU,K,EAInB,mBAAM+F,CAAcxG,GAClBP,KAAK8B,QAAU,GACf,IAAKvB,EAAO,CACVP,KAAK8B,QAAU,uBACf,M,CAGF9B,KAAK6D,SAAStD,MAAQA,EACtB,MAAMsF,EAAStF,EAAMuF,QAAQ,MAAO,IACpC9F,KAAKO,MAAQwF,OAAOF,GAEpB,GAAI7F,KAAK6D,SAASvD,KAAM,CACtB,OAAON,KAAK4F,QAAQrF,E,OAGhBP,KAAKY,YAAYK,QAAQC,EAAa8F,WAC5ChH,KAAKkG,UAAY,I,CAGnB,MAAAe,GAEE,GAAIjH,KAAKkH,UAAW,CAClB,OAAO,I,CAGT,OACEC,EAAA,qBAAmBnG,QAAShB,KAAKqB,mBAC/B8F,EAAA,qBACEC,aAAcpH,KAAKuD,OACnB8D,MAAO,CAAEC,SAAU,YACnBC,IAAKA,GAAOvH,KAAKY,YAAc2G,EAC/BC,UAAWxH,KAAK2B,SAASuB,MAAM5C,KAC/B6D,SAAUnE,KAAKc,gBACf2G,OAAQzH,KAAK2B,SAASyB,GACtBS,SAAU7D,KAAK6D,SACf6D,aAAc,IAAM1H,KAAKc,gBACzB6G,QAAS,IAAM3H,KAAK0C,aACpBW,aAAcrD,KAAKqD,e","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"file":"build.payload.helper-09dcb309.js","mappings":"AAQA,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,iCAAc,CAAA;IACd,uCAAoB,CAAA;AACxB,CAAC,EAHW,eAAe,KAAf,eAAe;;SCNX,mBAAmB,CAAC,eAAoC,EAAE;IAEtE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAM,MAAM,EAAE,IAAI,YAAY,EAAG;QAC7B,IAAI,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QAEvC,IAAI,KAAK,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,eAAe,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtC,QAAQ,CAAC,IAAI,CACT;YACI,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YACjD,QAAQ,EAAE,EAAE,CAAC,UAAU;YACvB,QAAQ,EAAE,KAAK,GAAG,eAAe,GAAG,KAAK,GAAG,eAAe;SAC9D,CACJ,CAAA;KACJ;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,UAAsB,EAAE;IAEzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAI,MAAM,QAAQ,IAAI,OAAO,EAAE;QAC3B,IAAG,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC;SAC/B;KACJ;IAED,OAAO,SAAS,CAAC;AACrB;;;;","names":[],"sources":["src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts"],"sourcesContent":["export interface IProduct {\r\n productVariantId: string;\r\n sku: string;\r\n value: number;\r\n quantity: number;\r\n discount: number;\r\n}\r\n\r\nexport enum AjustesTipoEnum {\r\n P = \"Promocao\",\r\n CC = \"ContaCorrente\"\r\n}\r\n\r\nexport interface IAjustes {\r\n Tipo: AjustesTipoEnum;\r\n Valor: number;\r\n}\r\n\r\nexport interface IUser {\r\n id: number;\r\n}\r\n\r\nexport interface IStore {\r\n name: string;\r\n}\r\n\r\nexport interface IProductWake {\r\n ProdutoVarianteId: number;\r\n SKU: string;\r\n PrecoPor: number;\r\n Quantidade: number;\r\n Ajustes: IAjustes[];\r\n}\r\n\r\nexport interface ICustomer {\r\n birthDate: string;\r\n document: string;\r\n name: string;\r\n phone: string;\r\n}\r\n\r\nexport interface IProccesPinBonusDto {\r\n storeName: string;\r\n name: string;\r\n checkoutId: string;\r\n checkoutProducts: Array<IProduct>;\r\n storeId: string;\r\n userId: string;\r\n cellphone: number;\r\n pin: string;\r\n\r\n}\r\n\r\nexport interface IBonus {\r\n hasBonus: boolean;\r\n bonusBalance: number;\r\n totalBonus: number;\r\n minimumPurchase: number;\r\n bonusIds: string;\r\n firstValidityDate: string\r\n history: [\r\n {\r\n validityStart: string;\r\n validityEnd: string;\r\n value: number\r\n },\r\n {\r\n validityStart: string;\r\n validityEnd: string\r\n value: number\r\n }\r\n ]\r\n storeId: number;\r\n userId: number;\r\n cartId: string\r\n calculatedValue: number;\r\n totalValue: number\r\n}\r\n\r\n\r\nexport interface IReserveDTO {\r\n storeName: string;\r\n cartId: string;\r\n grossValue: number;\r\n redeemedBonus: number;\r\n ticket: string;\r\n storeId: string;\r\n userId: number;\r\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\r\n\r\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\r\n\r\n const products: Array<IProduct> = [];\r\n\r\n for ( const pw of productsWake ) {\r\n let discounts = getDiscount(pw.Ajustes)\r\n\r\n var value = (pw.PrecoPor * pw.Quantidade);\r\n\r\n var discounts_value = (discounts * -1)\r\n\r\n products.push(\r\n {\r\n sku: pw.SKU,\r\n value: value,\r\n productVariantId: pw.ProdutoVarianteId.toString(),\r\n quantity: pw.Quantidade,\r\n discount: value < discounts_value ? value : discounts_value,\r\n }\r\n )\r\n }\r\n\r\n return products;\r\n}\r\n\r\nfunction getDiscount(ajustes: IAjustes[] = []) {\r\n \r\n let discounts = 0;\r\n \r\n for(const discount of ajustes) {\r\n if([AjustesTipoEnum.P, AjustesTipoEnum.CC].includes(discount.Tipo)) {\r\n discounts += discount.Valor;\r\n }\r\n }\r\n\r\n return discounts;\r\n}"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"cart.helper-4d1bf8e2.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\";\r\n\r\nexport class CartWake {\r\n id: string;\r\n middlewareId: string;\r\n orderId: number;\r\n products: IProductWake[] = [];\r\n user: IUser;\r\n store: IStore;\r\n\r\n constructor(cart) {\r\n this.id = cart.Metadados.id || cart.Id;\r\n this.middlewareId = cart.Metadados?.id;\r\n this.orderId = cart.PedidoId;\r\n this.buildUserInfo(cart);\r\n this.buildStoreInfo(cart);\r\n this.products = this.buildStoreCart( cart.Produtos);\r\n }\r\n\r\n private buildStoreCart(newProducts = []) {\r\n const cache = localStorage.getItem(\"bc:cart\");\r\n\r\n if(!cache) {\r\n return this.saveStore(newProducts)\r\n \r\n }\r\n \r\n const cacheProducts:IProductWake[] = JSON.parse(cache);\r\n\r\n if(newProducts.length !== cacheProducts.length) {\r\n return this.saveStore(newProducts);\r\n }\r\n\r\n for (const p of newProducts) {\r\n const [cp] = cacheProducts.filter(cpp => cpp.ProdutoVarianteId == p.ProdutoVarianteId);\r\n\r\n if(cp) {\r\n cp.Quantidade != p.Quantidade;\r\n\r\n return newProducts;\r\n }\r\n }\r\n\r\n return cacheProducts;\r\n\r\n }\r\n\r\n\r\n private saveStore(newProducts) {\r\n localStorage.setItem(\"bc:cart\", JSON.stringify(newProducts));\r\n\r\n return newProducts;\r\n }\r\n\r\n private buildUserInfo(cart) {\r\n this.user = {\r\n id: cart.Usuario ? cart.Usuario.Id : null\r\n }\r\n }\r\n\r\n private buildStoreInfo(cart) {\r\n this.store = {\r\n name: cart.Loja?.Nome\r\n }\r\n }\r\n}","export class ReservedInfoDTO {\r\n bonusBalance: string;\r\n bonusIds: string;\r\n calculatedValue: string;\r\n cartId: string;\r\n metadata: {\r\n url: string,\r\n createdAt: number;\r\n storeId?: string;\r\n userId?: string;\r\n cellphone?: number;\r\n }\r\n orderId: string;\r\n status: number;\r\n totalDiscount: string;\r\n totalValue: string;\r\n isBonusProcessed?: boolean;\r\n\r\n\r\n public static of(payload: any) {\r\n const info = new ReservedInfoDTO();\r\n info.bonusBalance = payload.bonusBalance;\r\n info.bonusIds = payload.bonusIds;\r\n info.calculatedValue = payload.calculatedValue;\r\n info.cartId = payload.cartId;\r\n info.metadata = payload.metadata;\r\n info.orderId = payload.orderId;\r\n info.status = payload.status;\r\n info.totalDiscount = payload.totalDiscount;\r\n info.totalValue = payload.totalValue;\r\n info.isBonusProcessed = payload.isBonusProcessed;\r\n return info;\r\n }\r\n\r\n public isExpired(): boolean {\r\n const createdAt = this?.metadata?.createdAt;\r\n if(!createdAt) return true; \r\n \r\n const current = Date.now();\r\n\r\n const diffms = current - createdAt;\r\n\r\n const diffMinutes = diffms / (1000 * 60);\r\n\r\n console.log('diffMinutes', diffMinutes);\r\n\r\n return diffMinutes > 6;\r\n\r\n }\r\n\r\n}","import { CHECKOUT_CART_WAKE } from \"../../env\";\r\nimport { CartWake } from \"../objectvalues/cart.wake\";\r\nimport { CrmBonusService } from \"../services/crmbonus.service\";\r\nimport { ReservedInfoDTO } from '../dto/reserved-info.dto'\r\n\r\nconst crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\nexport const getCart = async (): Promise<CartWake> => {\r\n const baseUrl = buildUrlBase(); // window.location.origin; //\"https://bycoders.fbits.store\" //window.location.origin;\r\n \r\n console.log('[URL STORE]: ', baseUrl)\r\n\r\n const cart = await crmBonusService.getInfoCart(baseUrl);\r\n\r\n return new CartWake(cart);\r\n}\r\n\r\nexport const getInfoBonusByCartIdAndStoreName = async (cartId, storeName) => {\r\n const info = await crmBonusService.getInfoBonus(cartId, storeName)\r\n\r\n return ReservedInfoDTO.of(info);\r\n}\r\n\r\nexport const persisteMetadata = async (storeName: string, cartId: string, metadata = {}) => {\r\n await crmBonusService.patchInfoBonus({\r\n storeName,\r\n cartId,\r\n metadata\r\n })\r\n}\r\n\r\nconst buildUrlBase = () => {\r\n\r\n const url = window.location.origin; //\"https://bycoders.checkout.fbits.store\" //\r\n\r\n if(url.includes('localhost')) {\r\n return CHECKOUT_CART_WAKE;\r\n }\r\n\r\n if(url.includes('checkout')) {\r\n return url;\r\n }\r\n\r\n if(url.includes('fbits')) {\r\n return url;\r\n }\r\n\r\n if(url.includes(\"www.\")) {\r\n return url.replace(\"www\", \"checkout\")\r\n }\r\n\r\n return `${window.location.protocol}//checkout.${window.location.host}`;\r\n\r\n}"],"version":3}
@@ -1 +0,0 @@
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';\r\n\r\n@Component({\r\n tag: 'countdown-timer',\r\n})\r\nexport class CountdownTimer {\r\n\r\n @Prop() downtime: () => void;\r\n @Prop() dataCriacao: string;\r\n @Prop() minutos: number = 6;\r\n @Prop() segundos: number = 60;\r\n\r\n @State() tempoRestante: number; // em milissegundos\r\n\r\n private intervalId: any;\r\n\r\n componentWillLoad() {\r\n const tempoTotal = this.minutos * this.segundos * 1000;\r\n const data = new Date(this.dataCriacao);\r\n const agora = new Date();\r\n const tempoPassado = agora.getTime() - data.getTime();\r\n\r\n if (tempoPassado >= tempoTotal) {\r\n this.tempoRestante = 0;\r\n this.onTempoEsgotado();\r\n } else {\r\n this.tempoRestante = tempoTotal - tempoPassado;\r\n this.startCountdown();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n startCountdown() {\r\n this.intervalId = setInterval(() => {\r\n this.tempoRestante -= 1000;\r\n if (this.tempoRestante <= 0) {\r\n this.tempoRestante = 0;\r\n clearInterval(this.intervalId);\r\n this.onTempoEsgotado();\r\n }\r\n }, 1000);\r\n }\r\n\r\n onTempoEsgotado() {\r\n console.log('Tempo esgotado! Executando ação...');\r\n this.downtime()\r\n }\r\n\r\n render() {\r\n const minutos = Math.floor(this.tempoRestante / 60000);\r\n const segundos = Math.floor((this.tempoRestante % 60000) / 1000);\r\n const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;\r\n\r\n return (\r\n <label> {tempoFormatado}</label>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,21 +0,0 @@
1
- import { r as registerInstance, h } from './index-bdb70d5a.js';
2
-
3
- const crmButtonCss = "input,button{margin:0;padding:10px;}.crm-contaner-button{height:auto;width:auto}.crm-button{height:48px;width:100%;border:1px solid #000;padding:14px 20px;background-color:#000;color:#fff;line-height:20px;font-weight:500;cursor:pointer}";
4
- const CrmButtonStyle0 = crmButtonCss;
5
-
6
- const Button = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.txtBtn = undefined;
10
- this.loading = undefined;
11
- this.handleClick = undefined;
12
- }
13
- render() {
14
- return (h("div", { key: '00732759335f3dedd853446aff46a18bfb05f6f5', class: "crm-contaner-button" }, h("button", { key: '9cdc1c8adfa2203fb0b4f4cb35f83bae779485a0', class: "crm-button", onClick: () => this.handleClick() }, !this.loading ? this.txtBtn : h("loading-spinner", { size: "15px", color: "#fff" }))));
15
- }
16
- };
17
- Button.style = CrmButtonStyle0;
18
-
19
- export { Button as crm_button };
20
-
21
- //# sourceMappingURL=crm-button.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"crm-button.entry.js","mappings":";;AAAA,MAAM,YAAY,GAAG,8OAA8O,CAAC;AACpQ,wBAAe,YAAY;;MCKd,MAAM;;;;;;;IAOf,MAAM;QACF,QACI,4DAAK,KAAK,EAAC,qBAAqB,IAC5B,+DAAQ,KAAK,EAAC,YAAY,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,IAEpD,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,uBAAiB,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,CAEzE,CACP,EACT;KACJ;;;;;;","names":[],"sources":["src/components/button/crm-button.css?tag=crm-button","src/components/button/index.tsx"],"sourcesContent":["input, button {\r\n margin: 0;\r\n padding: 10px; /* Ajuste o valor conforme necessário */\r\n}\r\n\r\n.crm-contaner-button {\r\n height: auto;\r\n width: auto;\r\n}\r\n\r\n.crm-button {\r\n height: 48px;\r\n width: 100%;\r\n border: 1px solid #000;\r\n padding: 14px 20px;\r\n background-color: #000;\r\n color: #fff;\r\n /* font-size: 14px; */\r\n line-height: 20px;\r\n font-weight: 500;\r\n cursor: pointer;\r\n}","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'crm-button',\r\n styleUrl: 'crm-button.css'\r\n})\r\nexport class Button {\r\n\r\n @Prop() txtBtn: string;\r\n @Prop() loading: boolean;\r\n\r\n @Prop() handleClick: () => void;\r\n\r\n render() {\r\n return (\r\n <div class=\"crm-contaner-button\">\r\n <button class=\"crm-button\" onClick={() => this.handleClick()}>\r\n {\r\n !this.loading ? this.txtBtn : <loading-spinner size=\"15px\" color=\"#fff\" />\r\n }\r\n </button>\r\n </div>\r\n )\r\n }\r\n}"],"version":3}