crmbonus-component-wake 2.1.24-local → 2.1.25-local

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/cjs/{cart.helper-7b7f630d.js → cart.helper-65ed0b28.js} +2 -2
  2. package/dist/cjs/{cart.helper-7b7f630d.js.map → cart.helper-65ed0b28.js.map} +1 -1
  3. package/dist/cjs/crm-bonus-form.cjs.entry.js +1 -1
  4. package/dist/cjs/crm-bonus-note.cjs.entry.js +2 -2
  5. package/dist/cjs/crm-bonus.cjs.entry.js +2 -2
  6. package/dist/cjs/crm-giftback-form.cjs.entry.js +7 -7
  7. package/dist/cjs/crm-giftback-form.cjs.entry.js.map +1 -1
  8. package/dist/cjs/crm-tooltip_4.cjs.entry.js +2 -2
  9. package/dist/cjs/{crmbonus.service-d4b81327.js → crmbonus.service-28dc146d.js} +7 -4
  10. package/dist/cjs/crmbonus.service-28dc146d.js.map +1 -0
  11. package/dist/cjs/pedido-finalizado.cjs.entry.js +2 -2
  12. package/dist/collection/components/giftback-form/giftback-form.js +5 -5
  13. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  14. package/dist/collection/services/crmbonus.service.js +6 -3
  15. package/dist/collection/services/crmbonus.service.js.map +1 -1
  16. package/dist/components/crm-bonus-form.js +1 -1
  17. package/dist/components/crm-bonus-note.js +2 -2
  18. package/dist/components/crm-bonus.js +4 -4
  19. package/dist/components/crm-giftback-form.js +1 -1
  20. package/dist/components/giftback-info.js +1 -1
  21. package/dist/components/{p-4734b509.js → p-2ef504da.js} +3 -3
  22. package/dist/components/{p-4734b509.js.map → p-2ef504da.js.map} +1 -1
  23. package/dist/components/{p-239cdde1.js → p-9214f5ab.js} +2 -2
  24. package/dist/components/{p-239cdde1.js.map → p-9214f5ab.js.map} +1 -1
  25. package/dist/components/{p-e61f524b.js → p-a6a8c108.js} +9 -9
  26. package/dist/components/{p-e61f524b.js.map → p-a6a8c108.js.map} +1 -1
  27. package/dist/components/{p-6b783d44.js → p-f29720ba.js} +7 -4
  28. package/dist/components/p-f29720ba.js.map +1 -0
  29. package/dist/components/pedido-finalizado.js +2 -2
  30. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  31. package/dist/crmbonus-component-wake/{p-9c1704c1.entry.js → p-3678704e.entry.js} +2 -2
  32. package/dist/crmbonus-component-wake/{p-9d0e6eb3.entry.js → p-564fcca4.entry.js} +2 -2
  33. package/dist/crmbonus-component-wake/{p-239cdde1.js → p-9214f5ab.js} +2 -2
  34. package/dist/crmbonus-component-wake/{p-33065276.entry.js → p-c3279694.entry.js} +2 -2
  35. package/dist/crmbonus-component-wake/{p-bbea7258.entry.js → p-daade1d7.entry.js} +2 -2
  36. package/dist/crmbonus-component-wake/{p-2c9c622a.entry.js → p-dde5620e.entry.js} +2 -2
  37. package/dist/crmbonus-component-wake/{p-b1a93d2a.entry.js → p-df7b274d.entry.js} +2 -2
  38. package/dist/crmbonus-component-wake/p-df7b274d.entry.js.map +1 -0
  39. package/dist/crmbonus-component-wake/{p-6b783d44.js → p-f29720ba.js} +2 -2
  40. package/dist/crmbonus-component-wake/{p-6b783d44.js.map → p-f29720ba.js.map} +1 -1
  41. package/dist/esm/{cart.helper-4d1bf8e2.js → cart.helper-761b1a57.js} +2 -2
  42. package/dist/esm/{cart.helper-4d1bf8e2.js.map → cart.helper-761b1a57.js.map} +1 -1
  43. package/dist/esm/crm-bonus-form.entry.js +1 -1
  44. package/dist/esm/crm-bonus-note.entry.js +2 -2
  45. package/dist/esm/crm-bonus.entry.js +2 -2
  46. package/dist/esm/crm-giftback-form.entry.js +7 -7
  47. package/dist/esm/crm-giftback-form.entry.js.map +1 -1
  48. package/dist/esm/crm-tooltip_4.entry.js +2 -2
  49. package/dist/esm/{crmbonus.service-aafcb1ec.js → crmbonus.service-fa6aed1b.js} +7 -4
  50. package/dist/esm/crmbonus.service-fa6aed1b.js.map +1 -0
  51. package/dist/esm/pedido-finalizado.entry.js +2 -2
  52. package/package.json +1 -1
  53. package/dist/cjs/crmbonus.service-d4b81327.js.map +0 -1
  54. package/dist/components/p-6b783d44.js.map +0 -1
  55. package/dist/crmbonus-component-wake/p-b1a93d2a.entry.js.map +0 -1
  56. package/dist/esm/crmbonus.service-aafcb1ec.js.map +0 -1
  57. /package/dist/crmbonus-component-wake/{p-9c1704c1.entry.js.map → p-3678704e.entry.js.map} +0 -0
  58. /package/dist/crmbonus-component-wake/{p-9d0e6eb3.entry.js.map → p-564fcca4.entry.js.map} +0 -0
  59. /package/dist/crmbonus-component-wake/{p-239cdde1.js.map → p-9214f5ab.js.map} +0 -0
  60. /package/dist/crmbonus-component-wake/{p-33065276.entry.js.map → p-c3279694.entry.js.map} +0 -0
  61. /package/dist/crmbonus-component-wake/{p-bbea7258.entry.js.map → p-daade1d7.entry.js.map} +0 -0
  62. /package/dist/crmbonus-component-wake/{p-2c9c622a.entry.js.map → p-dde5620e.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"giftback-form.js","sourceRoot":"","sources":["../../../../src/components/giftback-form/giftback-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n \r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n await this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId)\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n\r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer?.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"file":"giftback-form.js","sourceRoot":"","sources":["../../../../src/components/giftback-form/giftback-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n await this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId)\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n\r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer?.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -43,9 +43,10 @@ export class CrmBonusService {
43
43
  localStorage.removeItem(getKeyReserveByCartId(updateOrderDTO.cartId));
44
44
  }
45
45
  async sendPin(phone, name, store) {
46
+ const token = localStorage.getItem(BYCODERS_KEY);
46
47
  const headers = {
47
48
  'Content-Type': 'application/json',
48
- 'Authorization': `Bearer ${this.token}`
49
+ 'Authorization': `Bearer ${token}`
49
50
  };
50
51
  const response = await this.axiosInstance.post("/crmbonus/send-pin", { cellphone: phone, name: name, storeName: store }, { headers: headers });
51
52
  return {
@@ -54,17 +55,19 @@ export class CrmBonusService {
54
55
  };
55
56
  }
56
57
  async validatePinBonus(payload) {
58
+ const token = localStorage.getItem(BYCODERS_KEY);
57
59
  const headers = {
58
60
  'Content-Type': 'application/json',
59
- 'Authorization': `Bearer ${this.token}`
61
+ 'Authorization': `Bearer ${token}`
60
62
  };
61
63
  const response = await this.axiosInstance.post("/crmbonus/process-pin-bonus", payload, { headers });
62
64
  return response.data;
63
65
  }
64
66
  async reserve(payload) {
67
+ const token = localStorage.getItem(BYCODERS_KEY);
65
68
  const headers = {
66
69
  'Content-Type': 'application/json',
67
- 'Authorization': `Bearer ${this.token}`
70
+ 'Authorization': `Bearer ${token}`
68
71
  };
69
72
  const response = await this.axiosInstance.post("/crmbonus/redeem-bonus", payload, { headers });
70
73
  return response.data;
@@ -1 +1 @@
1
- {"version":3,"file":"crmbonus.service.js","sourceRoot":"","sources":["../../../src/services/crmbonus.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { AxiosInstance } from 'axios';\r\nimport { CRM_BONUS_API_URL } from '../../env'\r\nimport { IPinSent } from '../dto/pin.sent';\r\nimport { IBonus, IProccesPinBonusDto, IReserveDTO } from '../dto/validate.pin.bonus';\r\nimport { UpdateOrderDTO } from '../dto/update.order.dto';\r\nimport { BYCODERS_KEY, USED_KEY, getKeyConfigByStoreName, getKeyReserveByCartId } from '../utils/keys.storage';\r\nimport { IPersisteInfoPayload } from '../helpers/payload.interface';\r\n\r\nexport class CrmBonusService {\r\n private axiosInstance: AxiosInstance;\r\n private token: string;\r\n\r\n private static _instance: CrmBonusService = null;\r\n\r\n constructor() {\r\n this.axiosInstance = axios.create({\r\n baseURL: CRM_BONUS_API_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'accept': 'application/json',\r\n },\r\n });\r\n }\r\n\r\n public static getInstance(): CrmBonusService {\r\n if (this._instance) {\r\n return this._instance;\r\n }\r\n\r\n this._instance = new CrmBonusService()\r\n\r\n return this._instance;\r\n }\r\n\r\n async getCustomer(userId: number, store: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/store/${store}/customer/${userId}`, { headers: headers })\r\n\r\n this.token = response?.data?.token\r\n\r\n return response?.data?.customer\r\n }\r\n\r\n async updateOrder(updateOrderDTO: UpdateOrderDTO) {\r\n\r\n const token = localStorage.getItem(\"@BYCODERS_KEY\");\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n await this.axiosInstance.patch(`/checkouts/${updateOrderDTO.cartId}/updateOrder`,\r\n {\r\n orderId: updateOrderDTO.orderId,\r\n externalId: updateOrderDTO.cartIdCrm\r\n }, { headers: headers })\r\n\r\n localStorage.removeItem(\"@BYCODERS_KEY\");\r\n localStorage.removeItem(USED_KEY);\r\n localStorage.removeItem(getKeyReserveByCartId(updateOrderDTO.cartId))\r\n }\r\n\r\n async sendPin(phone: number, name: string, store: string): Promise<IPinSent> {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/send-pin\", { cellphone: phone, name: name, storeName: store }, { headers: headers });\r\n return {\r\n storeId: response.data.storeId,\r\n userId: response.data.userId\r\n }\r\n }\r\n\r\n async validatePinBonus(payload: IProccesPinBonusDto): Promise<IBonus> {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/process-pin-bonus\", payload, { headers })\r\n\r\n return response.data;\r\n }\r\n\r\n async reserve(payload: IReserveDTO) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n const response = await this.axiosInstance.post(\"/crmbonus/redeem-bonus\", payload, { headers });\r\n return response.data;\r\n }\r\n\r\n async cancel(cartId: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/cancel-apply-bonus\", {\r\n ticket: cartId\r\n }, { headers });\r\n return response.data;\r\n }\r\n\r\n async getToken(store: string): Promise<string> {\r\n const response = await this.axiosInstance.post(\"/wake/requestToken\", { storeName: store })\r\n this.token = response?.data?.token;\r\n\r\n localStorage.setItem(BYCODERS_KEY, this.token);\r\n\r\n return response?.data?.token;\r\n }\r\n\r\n async getCustomization(storeName: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/stores/${storeName}/customizations`, { headers });\r\n\r\n localStorage.setItem(getKeyConfigByStoreName(storeName), JSON.stringify(response.data))\r\n console.log('getCustomization', response)\r\n return response.data\r\n }\r\n\r\n async cancelBonus(cartId: string, storeName: string) {\r\n const token = localStorage.getItem(BYCODERS_KEY);\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n await this.axiosInstance.post(`/crmbonus/cancel-bonus`,\r\n {\r\n cartId,\r\n usedBonus: true,\r\n storeName: storeName\r\n }, { headers: headers })\r\n\r\n localStorage.setItem(cartId, \"0\");\r\n\r\n localStorage.removeItem(USED_KEY)\r\n }\r\n\r\n async getInfoBonus(cartId: string, storeName: string) {\r\n\r\n await this.getToken(storeName);\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/crmbonus/order-info/${storeName}/${cartId}`, { headers });\r\n\r\n return response.data\r\n }\r\n\r\n async patchInfoBonus(payload: IPersisteInfoPayload) {\r\n await this.getToken(payload.storeName);\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n await this.axiosInstance.patch(`/checkouts/${payload.cartId}`,\r\n {\r\n metadata: payload.metadata\r\n }, { headers: headers })\r\n\r\n }\r\n\r\n async getInfoCart(checkoutBase: string) {\r\n const response = await fetch(`${checkoutBase}/api/carrinho`, { credentials: \"include\" }).then(res => res.json())\r\n return response;\r\n }\r\n}"]}
1
+ {"version":3,"file":"crmbonus.service.js","sourceRoot":"","sources":["../../../src/services/crmbonus.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { AxiosInstance } from 'axios';\r\nimport { CRM_BONUS_API_URL } from '../../env'\r\nimport { IPinSent } from '../dto/pin.sent';\r\nimport { IBonus, IProccesPinBonusDto, IReserveDTO } from '../dto/validate.pin.bonus';\r\nimport { UpdateOrderDTO } from '../dto/update.order.dto';\r\nimport { BYCODERS_KEY, USED_KEY, getKeyConfigByStoreName, getKeyReserveByCartId } from '../utils/keys.storage';\r\nimport { IPersisteInfoPayload } from '../helpers/payload.interface';\r\n\r\nexport class CrmBonusService {\r\n private axiosInstance: AxiosInstance;\r\n private token: string;\r\n\r\n private static _instance: CrmBonusService = null;\r\n\r\n constructor() {\r\n this.axiosInstance = axios.create({\r\n baseURL: CRM_BONUS_API_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'accept': 'application/json',\r\n },\r\n });\r\n }\r\n\r\n public static getInstance(): CrmBonusService {\r\n if (this._instance) {\r\n return this._instance;\r\n }\r\n\r\n this._instance = new CrmBonusService()\r\n\r\n return this._instance;\r\n }\r\n\r\n async getCustomer(userId: number, store: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/store/${store}/customer/${userId}`, { headers: headers })\r\n\r\n this.token = response?.data?.token\r\n\r\n return response?.data?.customer\r\n }\r\n\r\n async updateOrder(updateOrderDTO: UpdateOrderDTO) {\r\n\r\n const token = localStorage.getItem(\"@BYCODERS_KEY\");\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n await this.axiosInstance.patch(`/checkouts/${updateOrderDTO.cartId}/updateOrder`,\r\n {\r\n orderId: updateOrderDTO.orderId,\r\n externalId: updateOrderDTO.cartIdCrm\r\n }, { headers: headers })\r\n\r\n localStorage.removeItem(\"@BYCODERS_KEY\");\r\n localStorage.removeItem(USED_KEY);\r\n localStorage.removeItem(getKeyReserveByCartId(updateOrderDTO.cartId))\r\n }\r\n\r\n async sendPin(phone: number, name: string, store: string): Promise<IPinSent> {\r\n const token = localStorage.getItem(BYCODERS_KEY);\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/send-pin\", { cellphone: phone, name: name, storeName: store }, { headers: headers });\r\n return {\r\n storeId: response.data.storeId,\r\n userId: response.data.userId\r\n }\r\n }\r\n\r\n async validatePinBonus(payload: IProccesPinBonusDto): Promise<IBonus> {\r\n const token = localStorage.getItem(BYCODERS_KEY);\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/process-pin-bonus\", payload, { headers })\r\n\r\n return response.data;\r\n }\r\n\r\n async reserve(payload: IReserveDTO) {\r\n const token = localStorage.getItem(BYCODERS_KEY);\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n const response = await this.axiosInstance.post(\"/crmbonus/redeem-bonus\", payload, { headers });\r\n return response.data;\r\n }\r\n\r\n async cancel(cartId: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.post(\"/crmbonus/cancel-apply-bonus\", {\r\n ticket: cartId\r\n }, { headers });\r\n return response.data;\r\n }\r\n\r\n async getToken(store: string): Promise<string> {\r\n const response = await this.axiosInstance.post(\"/wake/requestToken\", { storeName: store })\r\n this.token = response?.data?.token;\r\n\r\n localStorage.setItem(BYCODERS_KEY, this.token);\r\n\r\n return response?.data?.token;\r\n }\r\n\r\n async getCustomization(storeName: string) {\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/stores/${storeName}/customizations`, { headers });\r\n\r\n localStorage.setItem(getKeyConfigByStoreName(storeName), JSON.stringify(response.data))\r\n console.log('getCustomization', response)\r\n return response.data\r\n }\r\n\r\n async cancelBonus(cartId: string, storeName: string) {\r\n const token = localStorage.getItem(BYCODERS_KEY);\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n\r\n await this.axiosInstance.post(`/crmbonus/cancel-bonus`,\r\n {\r\n cartId,\r\n usedBonus: true,\r\n storeName: storeName\r\n }, { headers: headers })\r\n\r\n localStorage.setItem(cartId, \"0\");\r\n\r\n localStorage.removeItem(USED_KEY)\r\n }\r\n\r\n async getInfoBonus(cartId: string, storeName: string) {\r\n\r\n await this.getToken(storeName);\r\n\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n const response = await this.axiosInstance.get(`/crmbonus/order-info/${storeName}/${cartId}`, { headers });\r\n\r\n return response.data\r\n }\r\n\r\n async patchInfoBonus(payload: IPersisteInfoPayload) {\r\n await this.getToken(payload.storeName);\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this.token}`\r\n }\r\n\r\n await this.axiosInstance.patch(`/checkouts/${payload.cartId}`,\r\n {\r\n metadata: payload.metadata\r\n }, { headers: headers })\r\n\r\n }\r\n\r\n async getInfoCart(checkoutBase: string) {\r\n const response = await fetch(`${checkoutBase}/api/carrinho`, { credentials: \"include\" }).then(res => res.json())\r\n return response;\r\n }\r\n}"]}
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-9d950d25.js';
2
- import { C as CrmBonusService } from './p-6b783d44.js';
2
+ import { C as CrmBonusService } from './p-f29720ba.js';
3
3
  import { S as StepFormEnum } from './p-ecc51430.js';
4
4
  import { d as defineCustomElement$6 } from './p-f09b7364.js';
5
5
  import { d as defineCustomElement$5 } from './p-6ff4aa18.js';
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-9d950d25.js';
2
2
  import { g as getInfoCustomization } from './p-1b441909.js';
3
- import { C as CrmBonusService, g as getKeyReserveByCartId } from './p-6b783d44.js';
3
+ import { C as CrmBonusService, g as getKeyReserveByCartId } from './p-f29720ba.js';
4
4
  import { i as instance } from './p-c53241bf.js';
5
- import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './p-239cdde1.js';
5
+ import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './p-9214f5ab.js';
6
6
  import { d as defaultStyles } from './p-ecc51430.js';
7
7
  import { b as buildProductsByWake } from './p-0bc27e39.js';
8
8
  import { d as defineCustomElement$3 } from './p-eb1f4328.js';
@@ -1,14 +1,14 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-9d950d25.js';
2
- import { C as CrmBonusService, U as USED_KEY } from './p-6b783d44.js';
2
+ import { C as CrmBonusService, U as USED_KEY } from './p-f29720ba.js';
3
3
  import { d as defaultStyles, S as StepFormEnum } from './p-ecc51430.js';
4
4
  import { i as instance } from './p-c53241bf.js';
5
5
  import { b as buildProductsByWake } from './p-0bc27e39.js';
6
- import { g as getCart, a as getInfoBonusByCartIdAndStoreName, C as CartWake } from './p-239cdde1.js';
6
+ import { g as getCart, a as getInfoBonusByCartIdAndStoreName, C as CartWake } from './p-9214f5ab.js';
7
7
  import { d as defineCustomElement$b } from './p-eb1f4328.js';
8
8
  import { d as defineCustomElement$a } from './p-b86c93cc.js';
9
- import { d as defineCustomElement$9 } from './p-e61f524b.js';
9
+ import { d as defineCustomElement$9 } from './p-a6a8c108.js';
10
10
  import { d as defineCustomElement$8 } from './p-8c9686ed.js';
11
- import { d as defineCustomElement$7 } from './p-4734b509.js';
11
+ import { d as defineCustomElement$7 } from './p-2ef504da.js';
12
12
  import { d as defineCustomElement$6 } from './p-6b1f5521.js';
13
13
  import { d as defineCustomElement$5 } from './p-e31b6c28.js';
14
14
  import { d as defineCustomElement$4 } from './p-bf39a925.js';
@@ -1,4 +1,4 @@
1
- import { C as CrmBonus, d as defineCustomElement$1 } from './p-e61f524b.js';
1
+ import { C as CrmBonus, d as defineCustomElement$1 } from './p-a6a8c108.js';
2
2
 
3
3
  const CrmGiftbackForm = CrmBonus;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { G as GiftbackInfo$1, d as defineCustomElement$1 } from './p-4734b509.js';
1
+ import { G as GiftbackInfo$1, d as defineCustomElement$1 } from './p-2ef504da.js';
2
2
 
3
3
  const GiftbackInfo = GiftbackInfo$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-9d950d25.js';
2
2
  import { i as instance } from './p-c53241bf.js';
3
- import { U as USED_KEY } from './p-6b783d44.js';
3
+ import { U as USED_KEY } from './p-f29720ba.js';
4
4
  import { d as defineLimit, a as formatDateToBr } from './p-af3ba015.js';
5
- import { p as persisteMetadata } from './p-239cdde1.js';
5
+ import { p as persisteMetadata } from './p-9214f5ab.js';
6
6
  import { d as defineCustomElement$2 } from './p-eb1f4328.js';
7
7
  import { d as defineCustomElement$1 } from './p-8c9686ed.js';
8
8
 
@@ -164,4 +164,4 @@ defineCustomElement();
164
164
 
165
165
  export { GiftbackInfo as G, defineCustomElement as d };
166
166
 
167
- //# sourceMappingURL=p-4734b509.js.map
167
+ //# sourceMappingURL=p-2ef504da.js.map
@@ -1 +1 @@
1
- {"file":"p-4734b509.js","mappings":"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","names":["i18next"],"sources":["src/components/giftback-form/subcomponents/giftback-info/giftback-info.css?tag=giftback-info","src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"sourcesContent":[":host {\r\n --text-color: #6D6D5F\r\n}\r\n\r\n.giftback-container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n}\r\n\r\nh3 {\r\n /* font-size: 1.2rem; */\r\n margin-bottom: 8px;\r\n color: #333;\r\n}\r\n\r\n.container-description {\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n margin: 0 0 10px 0;\r\n}\r\n\r\n.container-description p {\r\n /* font-size: 14px; */\r\n font-weight: 400;\r\n margin: 0px;\r\n}\r\n\r\n\r\np {\r\n /* font-size: 14px; */\r\n color: #000;\r\n}\r\n\r\n.value-display h2 {\r\n color: #6D6D5F;\r\n /* Verde para o valor atual */\r\n /* font-size: 1.6rem; */\r\n margin: 16px 0;\r\n}\r\n\r\ninput[type='range'] {\r\n width: 100%;\r\n margin: 12px 0;\r\n -webkit-appearance: none;\r\n background: #ddd;\r\n height: 4px;\r\n border-radius: 4px;\r\n outline: none;\r\n padding: 3px 0px 3px 3px;\r\n}\r\n\r\n/* input[type='range']::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 16px;\r\n height: 16px;\r\n background: var(--text-color);\r\n border-radius: 50%;\r\n cursor: pointer;\r\n} */\r\n\r\ninput[type=\"range\"]::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 20px;\r\n height: 20px;\r\n background: rgb(109, 109, 95);\r\n /* Cor do botão */\r\n border-radius: 50%;\r\n cursor: pointer;\r\n}\r\n\r\n.options {\r\n margin: 0px 0;\r\n display: flex;\r\n gap: 10px;\r\n flex-direction: column;\r\n}\r\n\r\n.options label {\r\n display: flex;\r\n margin: 0px 0;\r\n /* font-size: 0.9rem; */\r\n color: #333;\r\n align-items: center;\r\n}\r\n\r\n.options input[type='radio'] {\r\n margin-right: 8px;\r\n height: 16px;\r\n width: 16px;\r\n}\r\n\r\n.options input[type='radio'] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n margin-right: 8px;\r\n width: 16px;\r\n height: 16px;\r\n border: 2px solid #ddd;\r\n border-radius: 50%;\r\n background-color: #fff;\r\n cursor: pointer;\r\n transition: all 0.3s;\r\n padding: 0px;\r\n}\r\n\r\n.options input[type='radio']:checked {\r\n border-color: #000;\r\n background-color: #FAFAFA;\r\n border: 4px solid #000;\r\n}\r\n\r\n.info-box {\r\n background-color: #f9f9f9;\r\n border: 1px solid #e0e0e0;\r\n border-radius: 4px;\r\n padding: 8px;\r\n /* font-size: 14px; */\r\n color: #262626;\r\n line-height: 20px;\r\n}\r\n\r\n.info-icon {\r\n /* font-size: 0.9rem; */\r\n cursor: pointer;\r\n color: #888;\r\n}\r\n\r\nh3 {\r\n /* font-size: 1.2rem; */\r\n margin-bottom: 8px;\r\n color: #333;\r\n}\r\n\r\n.slider-wrapper {\r\n position: relative;\r\n margin: 21px 0px 0px 0px;\r\n}\r\n\r\n.slider {\r\n width: 100%;\r\n -webkit-appearance: none;\r\n background: #ddd;\r\n height: 4px;\r\n border-radius: 2px;\r\n outline: none;\r\n}\r\n\r\n.slider::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 16px;\r\n height: 16px;\r\n background: var(--text-color);\r\n /* Azul para o slider */\r\n border-radius: 50%;\r\n cursor: pointer;\r\n}\r\n\r\n.slider-value {\r\n position: absolute;\r\n top: -30px;\r\n /* Posição acima do slider */\r\n /* font-size: 16px; */\r\n font-weight: 700;\r\n color: var(--text-color);\r\n /* Verde para o texto */\r\n transform: translateX(-50%);\r\n white-space: nowrap;\r\n /* margin-left: 23px; */\r\n}\r\n\r\n.options-option {\r\n display: flex;\r\n}\r\n\r\n\r\n/* ########################################## */\r\n","import { Component, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\r\n\r\nimport i18next from '../../../../i18n/i18n'\r\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\r\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\r\nimport { IInfoStore } from \"../../../../helpers/info.config.helper\";\r\nimport { ReservedInfoDTO } from \"../../../../dto/reserved-info.dto\";\r\nimport { persisteMetadata } from \"../../../../helpers/cart.helper\";\r\n\r\n@Component({\r\n tag: 'giftback-info',\r\n styleUrls: ['giftback-info.css']\r\n})\r\nexport class GiftbackInfo {\r\n\r\n private _refIinputRange: HTMLInputElement;\r\n\r\n @State() usedValue: number = 0;\r\n @State() selectedOption: string = 'none';\r\n\r\n @Prop() cartId;\r\n @Prop() loading: boolean = false;\r\n @Prop() bonus: Partial<IBonus> = {\r\n totalBonus: 0,\r\n cartId: \"\",\r\n minimumPurchase: 0,\r\n bonusBalance: 0,\r\n calculatedValue: 0,\r\n firstValidityDate: \"\",\r\n totalValue: 0\r\n };\r\n @Prop() reserve: (amountRedeemed: number) => void;\r\n @Prop() cancel: () => void;\r\n @Prop() config: IInfoStore;\r\n @Prop() infoBonus: ReservedInfoDTO;\r\n @Prop() storeName: string\r\n\r\n @State() sliderPosition: number = 0;\r\n @State() sliderValuePosition: number = 0;\r\n\r\n @State() loadingTime = false;\r\n\r\n @Watch(\"bonus\")\r\n changedBonus() {\r\n this.updateBonus()\r\n }\r\n\r\n private updateBonus() {\r\n this.usedValue = this.bonus.bonusBalance;\r\n this.buildPositionSlider(0, this.bonus.totalBonus);\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateBonus();\r\n this.selectedOption = localStorage.getItem(USED_KEY);\r\n }\r\n\r\n handleSliderChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n this.usedValue = parseFloat(input.value);\r\n\r\n // Calculando a posição do texto com base no valor do slider\r\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\r\n // this.sliderPosition = percentage;\r\n\r\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.bonus) {\r\n this._refIinputRange.value = this.bonus?.bonusBalance.toString();\r\n }\r\n }\r\n\r\n private buildPositionSlider(min: number, max: number) {\r\n\r\n const percentage_init = max * 0.1;\r\n\r\n // Calculando a posição do texto com base no valor do slider\r\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\r\n\r\n this.sliderPosition = percentage;\r\n this.sliderValuePosition = percentage + (this.usedValue <= percentage_init ? 10 : 0);\r\n }\r\n\r\n async handleOptionChange(option: string) {\r\n this.selectedOption = option;\r\n\r\n localStorage.setItem(USED_KEY, option);\r\n\r\n await persisteMetadata(this.storeName, this.cartId, { ...this.infoBonus.metadata, createdAt: null })\r\n\r\n switch (this.selectedOption) {\r\n case 'use':\r\n await this.reserve(this.usedValue);\r\n break;\r\n case 'dontUse':\r\n await this.cancel();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n showTime() {\r\n if (!this.infoBonus) return false;\r\n\r\n return !this.infoBonus.isExpired();\r\n\r\n // return this.infoBonus.isBonusProcessed\r\n }\r\n\r\n getTime() {\r\n\r\n const createdAt = new Date(this.infoBonus?.metadata?.createdAt);\r\n const expiration = new Date(createdAt);\r\n expiration.setMinutes(expiration.getMinutes() + 6);\r\n\r\n return {\r\n createdAt,\r\n expiration\r\n }\r\n }\r\n\r\n async downtime() {\r\n await persisteMetadata(this.storeName, this.bonus.cartId, {\r\n createdAt: null,\r\n })\r\n }\r\n\r\n render() {\r\n console.log('this.bonus', this.bonus)\r\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\r\n\r\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus?.totalBonus?.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\r\n\r\n const limit = defineLimit(remainingGiftback);\r\n\r\n return (\r\n\r\n <div class=\"giftback-container\">\r\n <div class=\"container-description\">\r\n <p innerHTML={translateDescription}></p>\r\n <crm-tooltip identity=\"crm-role-description\" text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\r\n </div>\r\n <div class=\"slider-wrapper\">\r\n <div\r\n class=\"slider-value\"\r\n style={{\r\n left: `calc(${this.sliderValuePosition}% - 20px)`, // Ajuste para centralizar o texto\r\n\r\n }}\r\n >\r\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\r\n </div>\r\n <input\r\n ref={ref => this._refIinputRange = ref}\r\n id=\"position_value_id\"\r\n disabled\r\n type=\"range\"\r\n min=\"0\"\r\n max={this.bonus.totalBonus}\r\n value={this.usedValue}\r\n class=\"slider\"\r\n step=\"0.01\"\r\n onInput={(event) => this.handleSliderChange(event)}\r\n style={{\r\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\r\n }}\r\n />\r\n </div>\r\n\r\n {\r\n limit.isComplete && (\r\n <p>\r\n {i18next.t(\"maxAmount\")}\r\n </p>\r\n )\r\n }\r\n\r\n {\r\n !limit.isComplete && (\r\n <div class=\"container-description\">\r\n <p>\r\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\r\n máximo!\r\n </p>\r\n <crm-tooltip identity=\"crm-max-description\" text={i18next.t(\"labelamountPartial\")} />\r\n </div>\r\n )\r\n }\r\n\r\n\r\n <div class=\"options\">\r\n <div class=\"options-option\">\r\n <input\r\n disabled={this.showTime()}\r\n type=\"radio\"\r\n name=\"giftbackOption\"\r\n value=\"use\"\r\n checked={this.selectedOption === 'use'}\r\n onChange={() => this.handleOptionChange('use')}\r\n />\r\n <p>Usar o meu {this.config?.giftbackTitle}</p>\r\n </div>\r\n <div class=\"options-option\">\r\n <input\r\n disabled={this.showTime()}\r\n type=\"radio\"\r\n name=\"giftbackOption\"\r\n value=\"dontUse\"\r\n checked={this.selectedOption === 'dontUse'}\r\n onChange={() => this.handleOptionChange('dontUse')}\r\n />\r\n <p>Não usar o meu {this.config?.giftbackTitle}</p>\r\n </div>\r\n </div>\r\n\r\n {\r\n this.showTime() &&\r\n (\r\n <div class=\"info-box\">\r\n Após <countdown-timer dataCriacao={new Date(this.infoBonus?.metadata?.createdAt).toString()} downtime={() => { window.location.reload() }} />, você poderá alterar sua escolha de usar ou não o Giftback.\r\n </div>\r\n )\r\n }\r\n\r\n {\r\n !this?.infoBonus?.isBonusProcessed && (\r\n <div class=\"info-box\">\r\n O Giftback será aplicado na próxima etapa.\r\n </div>\r\n )\r\n }\r\n\r\n </div>\r\n );\r\n }\r\n}"],"version":3}
1
+ {"file":"p-2ef504da.js","mappings":"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","names":["i18next"],"sources":["src/components/giftback-form/subcomponents/giftback-info/giftback-info.css?tag=giftback-info","src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"sourcesContent":[":host {\r\n --text-color: #6D6D5F\r\n}\r\n\r\n.giftback-container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n}\r\n\r\nh3 {\r\n /* font-size: 1.2rem; */\r\n margin-bottom: 8px;\r\n color: #333;\r\n}\r\n\r\n.container-description {\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n margin: 0 0 10px 0;\r\n}\r\n\r\n.container-description p {\r\n /* font-size: 14px; */\r\n font-weight: 400;\r\n margin: 0px;\r\n}\r\n\r\n\r\np {\r\n /* font-size: 14px; */\r\n color: #000;\r\n}\r\n\r\n.value-display h2 {\r\n color: #6D6D5F;\r\n /* Verde para o valor atual */\r\n /* font-size: 1.6rem; */\r\n margin: 16px 0;\r\n}\r\n\r\ninput[type='range'] {\r\n width: 100%;\r\n margin: 12px 0;\r\n -webkit-appearance: none;\r\n background: #ddd;\r\n height: 4px;\r\n border-radius: 4px;\r\n outline: none;\r\n padding: 3px 0px 3px 3px;\r\n}\r\n\r\n/* input[type='range']::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 16px;\r\n height: 16px;\r\n background: var(--text-color);\r\n border-radius: 50%;\r\n cursor: pointer;\r\n} */\r\n\r\ninput[type=\"range\"]::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 20px;\r\n height: 20px;\r\n background: rgb(109, 109, 95);\r\n /* Cor do botão */\r\n border-radius: 50%;\r\n cursor: pointer;\r\n}\r\n\r\n.options {\r\n margin: 0px 0;\r\n display: flex;\r\n gap: 10px;\r\n flex-direction: column;\r\n}\r\n\r\n.options label {\r\n display: flex;\r\n margin: 0px 0;\r\n /* font-size: 0.9rem; */\r\n color: #333;\r\n align-items: center;\r\n}\r\n\r\n.options input[type='radio'] {\r\n margin-right: 8px;\r\n height: 16px;\r\n width: 16px;\r\n}\r\n\r\n.options input[type='radio'] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n margin-right: 8px;\r\n width: 16px;\r\n height: 16px;\r\n border: 2px solid #ddd;\r\n border-radius: 50%;\r\n background-color: #fff;\r\n cursor: pointer;\r\n transition: all 0.3s;\r\n padding: 0px;\r\n}\r\n\r\n.options input[type='radio']:checked {\r\n border-color: #000;\r\n background-color: #FAFAFA;\r\n border: 4px solid #000;\r\n}\r\n\r\n.info-box {\r\n background-color: #f9f9f9;\r\n border: 1px solid #e0e0e0;\r\n border-radius: 4px;\r\n padding: 8px;\r\n /* font-size: 14px; */\r\n color: #262626;\r\n line-height: 20px;\r\n}\r\n\r\n.info-icon {\r\n /* font-size: 0.9rem; */\r\n cursor: pointer;\r\n color: #888;\r\n}\r\n\r\nh3 {\r\n /* font-size: 1.2rem; */\r\n margin-bottom: 8px;\r\n color: #333;\r\n}\r\n\r\n.slider-wrapper {\r\n position: relative;\r\n margin: 21px 0px 0px 0px;\r\n}\r\n\r\n.slider {\r\n width: 100%;\r\n -webkit-appearance: none;\r\n background: #ddd;\r\n height: 4px;\r\n border-radius: 2px;\r\n outline: none;\r\n}\r\n\r\n.slider::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 16px;\r\n height: 16px;\r\n background: var(--text-color);\r\n /* Azul para o slider */\r\n border-radius: 50%;\r\n cursor: pointer;\r\n}\r\n\r\n.slider-value {\r\n position: absolute;\r\n top: -30px;\r\n /* Posição acima do slider */\r\n /* font-size: 16px; */\r\n font-weight: 700;\r\n color: var(--text-color);\r\n /* Verde para o texto */\r\n transform: translateX(-50%);\r\n white-space: nowrap;\r\n /* margin-left: 23px; */\r\n}\r\n\r\n.options-option {\r\n display: flex;\r\n}\r\n\r\n\r\n/* ########################################## */\r\n","import { Component, Prop, State, Watch, h } from \"@stencil/core\";\r\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\r\n\r\nimport i18next from '../../../../i18n/i18n'\r\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\r\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\r\nimport { IInfoStore } from \"../../../../helpers/info.config.helper\";\r\nimport { ReservedInfoDTO } from \"../../../../dto/reserved-info.dto\";\r\nimport { persisteMetadata } from \"../../../../helpers/cart.helper\";\r\n\r\n@Component({\r\n tag: 'giftback-info',\r\n styleUrls: ['giftback-info.css']\r\n})\r\nexport class GiftbackInfo {\r\n\r\n private _refIinputRange: HTMLInputElement;\r\n\r\n @State() usedValue: number = 0;\r\n @State() selectedOption: string = 'none';\r\n\r\n @Prop() cartId;\r\n @Prop() loading: boolean = false;\r\n @Prop() bonus: Partial<IBonus> = {\r\n totalBonus: 0,\r\n cartId: \"\",\r\n minimumPurchase: 0,\r\n bonusBalance: 0,\r\n calculatedValue: 0,\r\n firstValidityDate: \"\",\r\n totalValue: 0\r\n };\r\n @Prop() reserve: (amountRedeemed: number) => void;\r\n @Prop() cancel: () => void;\r\n @Prop() config: IInfoStore;\r\n @Prop() infoBonus: ReservedInfoDTO;\r\n @Prop() storeName: string\r\n\r\n @State() sliderPosition: number = 0;\r\n @State() sliderValuePosition: number = 0;\r\n\r\n @State() loadingTime = false;\r\n\r\n @Watch(\"bonus\")\r\n changedBonus() {\r\n this.updateBonus()\r\n }\r\n\r\n private updateBonus() {\r\n this.usedValue = this.bonus.bonusBalance;\r\n this.buildPositionSlider(0, this.bonus.totalBonus);\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateBonus();\r\n this.selectedOption = localStorage.getItem(USED_KEY);\r\n }\r\n\r\n handleSliderChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n this.usedValue = parseFloat(input.value);\r\n\r\n // Calculando a posição do texto com base no valor do slider\r\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\r\n // this.sliderPosition = percentage;\r\n\r\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.bonus) {\r\n this._refIinputRange.value = this.bonus?.bonusBalance.toString();\r\n }\r\n }\r\n\r\n private buildPositionSlider(min: number, max: number) {\r\n\r\n const percentage_init = max * 0.1;\r\n\r\n // Calculando a posição do texto com base no valor do slider\r\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\r\n\r\n this.sliderPosition = percentage;\r\n this.sliderValuePosition = percentage + (this.usedValue <= percentage_init ? 10 : 0);\r\n }\r\n\r\n async handleOptionChange(option: string) {\r\n this.selectedOption = option;\r\n\r\n localStorage.setItem(USED_KEY, option);\r\n\r\n await persisteMetadata(this.storeName, this.cartId, { ...this.infoBonus.metadata, createdAt: null })\r\n\r\n switch (this.selectedOption) {\r\n case 'use':\r\n await this.reserve(this.usedValue);\r\n break;\r\n case 'dontUse':\r\n await this.cancel();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n showTime() {\r\n if (!this.infoBonus) return false;\r\n\r\n return !this.infoBonus.isExpired();\r\n\r\n // return this.infoBonus.isBonusProcessed\r\n }\r\n\r\n getTime() {\r\n\r\n const createdAt = new Date(this.infoBonus?.metadata?.createdAt);\r\n const expiration = new Date(createdAt);\r\n expiration.setMinutes(expiration.getMinutes() + 6);\r\n\r\n return {\r\n createdAt,\r\n expiration\r\n }\r\n }\r\n\r\n async downtime() {\r\n await persisteMetadata(this.storeName, this.bonus.cartId, {\r\n createdAt: null,\r\n })\r\n }\r\n\r\n render() {\r\n console.log('this.bonus', this.bonus)\r\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\r\n\r\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus?.totalBonus?.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\r\n\r\n const limit = defineLimit(remainingGiftback);\r\n\r\n return (\r\n\r\n <div class=\"giftback-container\">\r\n <div class=\"container-description\">\r\n <p innerHTML={translateDescription}></p>\r\n <crm-tooltip identity=\"crm-role-description\" text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\r\n </div>\r\n <div class=\"slider-wrapper\">\r\n <div\r\n class=\"slider-value\"\r\n style={{\r\n left: `calc(${this.sliderValuePosition}% - 20px)`, // Ajuste para centralizar o texto\r\n\r\n }}\r\n >\r\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\r\n </div>\r\n <input\r\n ref={ref => this._refIinputRange = ref}\r\n id=\"position_value_id\"\r\n disabled\r\n type=\"range\"\r\n min=\"0\"\r\n max={this.bonus.totalBonus}\r\n value={this.usedValue}\r\n class=\"slider\"\r\n step=\"0.01\"\r\n onInput={(event) => this.handleSliderChange(event)}\r\n style={{\r\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\r\n }}\r\n />\r\n </div>\r\n\r\n {\r\n limit.isComplete && (\r\n <p>\r\n {i18next.t(\"maxAmount\")}\r\n </p>\r\n )\r\n }\r\n\r\n {\r\n !limit.isComplete && (\r\n <div class=\"container-description\">\r\n <p>\r\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\r\n máximo!\r\n </p>\r\n <crm-tooltip identity=\"crm-max-description\" text={i18next.t(\"labelamountPartial\")} />\r\n </div>\r\n )\r\n }\r\n\r\n\r\n <div class=\"options\">\r\n <div class=\"options-option\">\r\n <input\r\n disabled={this.showTime()}\r\n type=\"radio\"\r\n name=\"giftbackOption\"\r\n value=\"use\"\r\n checked={this.selectedOption === 'use'}\r\n onChange={() => this.handleOptionChange('use')}\r\n />\r\n <p>Usar o meu {this.config?.giftbackTitle}</p>\r\n </div>\r\n <div class=\"options-option\">\r\n <input\r\n disabled={this.showTime()}\r\n type=\"radio\"\r\n name=\"giftbackOption\"\r\n value=\"dontUse\"\r\n checked={this.selectedOption === 'dontUse'}\r\n onChange={() => this.handleOptionChange('dontUse')}\r\n />\r\n <p>Não usar o meu {this.config?.giftbackTitle}</p>\r\n </div>\r\n </div>\r\n\r\n {\r\n this.showTime() &&\r\n (\r\n <div class=\"info-box\">\r\n Após <countdown-timer dataCriacao={new Date(this.infoBonus?.metadata?.createdAt).toString()} downtime={() => { window.location.reload() }} />, você poderá alterar sua escolha de usar ou não o Giftback.\r\n </div>\r\n )\r\n }\r\n\r\n {\r\n !this?.infoBonus?.isBonusProcessed && (\r\n <div class=\"info-box\">\r\n O Giftback será aplicado na próxima etapa.\r\n </div>\r\n )\r\n }\r\n\r\n </div>\r\n );\r\n }\r\n}"],"version":3}
@@ -1,4 +1,4 @@
1
- import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './p-6b783d44.js';
1
+ import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './p-f29720ba.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=p-239cdde1.js.map
113
+ //# sourceMappingURL=p-9214f5ab.js.map
@@ -1 +1 @@
1
- {"file":"p-239cdde1.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
+ {"file":"p-9214f5ab.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,13 +1,13 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-9d950d25.js';
2
- import { C as CrmBonusService, g as getKeyReserveByCartId, U as USED_KEY } from './p-6b783d44.js';
2
+ import { C as CrmBonusService, g as getKeyReserveByCartId, U as USED_KEY } from './p-f29720ba.js';
3
3
  import { S as StepFormEnum } from './p-ecc51430.js';
4
4
  import { g as getInfoCustomization } from './p-1b441909.js';
5
5
  import { i as instance } from './p-c53241bf.js';
6
- import { p as persisteMetadata } from './p-239cdde1.js';
6
+ import { p as persisteMetadata } from './p-9214f5ab.js';
7
7
  import { d as defineCustomElement$8 } from './p-eb1f4328.js';
8
8
  import { d as defineCustomElement$7 } from './p-b86c93cc.js';
9
9
  import { d as defineCustomElement$6 } from './p-8c9686ed.js';
10
- import { d as defineCustomElement$5 } from './p-4734b509.js';
10
+ import { d as defineCustomElement$5 } from './p-2ef504da.js';
11
11
  import { d as defineCustomElement$4 } from './p-e31b6c28.js';
12
12
  import { d as defineCustomElement$3 } from './p-bf39a925.js';
13
13
  import { d as defineCustomElement$2 } from './p-0a4cc53e.js';
@@ -273,11 +273,11 @@ const CrmBonus = /*@__PURE__*/ proxyCustomElement(class CrmBonus extends H {
273
273
  render() {
274
274
  var _a;
275
275
  console.log("cartId", this.cartId);
276
- return (h("div", { key: '7d536bc4c088789cba86b682358fb79183441806', class: "crm-container-form fbits-responsive-carrinho-desconto", style: this.customStyles }, h("label", { key: '96f870e70b231c0efb451ce91a4d9d4eda3b6156', class: "crm-title" }, this.config.giftbackTitle), this.error && (h("label", { key: 'ed44b0703c3eebb84f053bf980ef34b32b711d8f', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_PHONE &&
277
- h("phone-form", { key: '942518d4563f88c9b96e3f82b044d458463a1927', value: (_a = this.customer) === null || _a === void 0 ? void 0 : _a.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
278
- h("pin-form", { key: '3a0c860614edccda1349926af996c62d16b5bee6', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && h("p", { key: 'e8c95d4e38d504adbee3383065acc9098feda5bb', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: '1206101b5f87ad3cb80605f42fa42778c0ae50eb', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
279
- h("giftback-info", { key: '6ae79b6048d876f7846488337dc529a705af2136', storeName: this.storeName, infoBonus: this.reservedInfo, config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus(), cartId: this.cartId }), this.step === StepFormEnum.STEP_NO_BONUS &&
280
- (h("div", { key: '61a72142039f31387807a3d58c2b9028eec32157', class: "container-message" }, instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
276
+ return (h("div", { key: '9273eb9c608dd66c54c5b2f61ebd65e0a2f0c85e', class: "crm-container-form fbits-responsive-carrinho-desconto", style: this.customStyles }, h("label", { key: '0e437e4bd24f231a7adc91fe320ad607ee10f90e', class: "crm-title" }, this.config.giftbackTitle), this.error && (h("label", { key: '66632beee50aed90d3fd54ab97ca84f0a8a6adbe', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_PHONE &&
277
+ h("phone-form", { key: '5ec24b0212538b085fca68fd6bb1fdf710a96507', value: (_a = this.customer) === null || _a === void 0 ? void 0 : _a.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
278
+ h("pin-form", { key: '73a2e5ce8924dba0815533c7ca7461920975d95b', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && h("p", { key: 'eb40e33871679aa2b6c90fbd4a465fda981f4c4c', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: '26578d4212a681469f8c2ff06ca25d616a88123f', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
279
+ h("giftback-info", { key: '5789ebdd4161ecd2e3415d5192cc6a4250263edc', storeName: this.storeName, infoBonus: this.reservedInfo, config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus(), cartId: this.cartId }), this.step === StepFormEnum.STEP_NO_BONUS &&
280
+ (h("div", { key: '169ec5b89c8fa184ed8896dc0486bea3ba2188e5', class: "container-message" }, instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
281
281
  }
282
282
  static get style() { return CrmGiftbackFormStyle0; }
283
283
  }, [0, "crm-giftback-form", {
@@ -360,4 +360,4 @@ defineCustomElement();
360
360
 
361
361
  export { CrmBonus as C, defineCustomElement as d };
362
362
 
363
- //# sourceMappingURL=p-e61f524b.js.map
363
+ //# sourceMappingURL=p-a6a8c108.js.map
@@ -1 +1 @@
1
- {"file":"p-e61f524b.js","mappings":"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","names":["i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:host {\r\n --crmfont-sizebodymd: 14px;\r\n --crmline-heightbodymd: 20px;\r\n --crmletter-spacingtitle-md: 0px\r\n}\r\n\r\n.container-message {\r\n /* font-size: var(--crmfont-sizebodymd); */\r\n font-weight: 400;\r\n line-height: var(--crmline-heightbodymd);\r\n letter-spacing: var(--crmletter-spacingtitle-md);\r\n text-align: left;\r\n text-underline-position: from-font;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\n.crm-container-form {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\r\n height: auto;\r\n padding: 20px 24px 20px 24px;\r\n border: 1px solid #CCCC;\r\n writing-mode: horizontal-tb;\r\n gap: 16px;\r\n border-top: 1px solid #ccc !important;\r\n border-bottom: 1px solid #ccc !important;\r\n}\r\n\r\n/* .fbits-responsive-carrinho-desconto {\r\n overflow: hidden;\r\n border: 1px solid #ccc;\r\n border-top: 0;\r\n border-bottom: 0;\r\n} */\r\n\r\n.crm-phone-form {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n /* justify-content: space-around; */\r\n gap: 16px;\r\n}\r\n\r\n.crm-subtitle {\r\n /* font-size: 14px; */\r\n font-size: .875rem;\r\n line-height: 1.25rem;\r\n \r\n}\r\n\r\n.crm-title {\r\n font-weight: 700;\r\n line-height: 20px;\r\n color: #262626;\r\n /* font-size: 16px; */\r\n}\r\n\r\n.crm-message-info {\r\n color: #619013;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}\r\n\r\n.crm-message-error {\r\n color: #E11D48;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n \r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n await this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId)\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n\r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer?.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"],"version":3}
1
+ {"file":"p-a6a8c108.js","mappings":"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","names":["i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:host {\r\n --crmfont-sizebodymd: 14px;\r\n --crmline-heightbodymd: 20px;\r\n --crmletter-spacingtitle-md: 0px\r\n}\r\n\r\n.container-message {\r\n /* font-size: var(--crmfont-sizebodymd); */\r\n font-weight: 400;\r\n line-height: var(--crmline-heightbodymd);\r\n letter-spacing: var(--crmletter-spacingtitle-md);\r\n text-align: left;\r\n text-underline-position: from-font;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\n.crm-container-form {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\r\n height: auto;\r\n padding: 20px 24px 20px 24px;\r\n border: 1px solid #CCCC;\r\n writing-mode: horizontal-tb;\r\n gap: 16px;\r\n border-top: 1px solid #ccc !important;\r\n border-bottom: 1px solid #ccc !important;\r\n}\r\n\r\n/* .fbits-responsive-carrinho-desconto {\r\n overflow: hidden;\r\n border: 1px solid #ccc;\r\n border-top: 0;\r\n border-bottom: 0;\r\n} */\r\n\r\n.crm-phone-form {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n /* justify-content: space-around; */\r\n gap: 16px;\r\n}\r\n\r\n.crm-subtitle {\r\n /* font-size: 14px; */\r\n font-size: .875rem;\r\n line-height: 1.25rem;\r\n \r\n}\r\n\r\n.crm-title {\r\n font-weight: 700;\r\n line-height: 20px;\r\n color: #262626;\r\n /* font-size: 16px; */\r\n}\r\n\r\n.crm-message-info {\r\n color: #619013;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}\r\n\r\n.crm-message-error {\r\n color: #E11D48;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n await this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId)\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n\r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer?.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"],"version":3}