crmbonus-component-wake 2.1.21-homolog-tray → 2.1.22-ngrok
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/dist/cjs/app-modal.cjs.entry.js +1 -1
- package/dist/cjs/app-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/build.payload.helper-409e6cc9.js +49 -0
- package/dist/cjs/build.payload.helper-409e6cc9.js.map +1 -0
- package/dist/cjs/{cart.helper-0a401d80.js → cart.helper-18589347.js} +4 -2
- package/dist/cjs/cart.helper-18589347.js.map +1 -0
- package/dist/cjs/countdown-timer-v2.cjs.entry.js +1 -1
- package/dist/cjs/countdown-timer-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/{countdown-timer.cjs.entry.js → countdown-timer_2.cjs.entry.js} +19 -2
- package/dist/cjs/countdown-timer_2.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-bonus-form.cjs.entry.js +2 -2
- package/dist/cjs/crm-bonus-form.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus-note.cjs.entry.js +64 -15
- package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus-tray.cjs.entry.js +1 -1
- package/dist/cjs/crm-bonus-tray.cjs.entry.js.map +1 -1
- package/dist/cjs/crm-bonus.cjs.entry.js +30 -37
- package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
- package/dist/cjs/{crm-giftback-form_2.cjs.entry.js → crm-giftback-form.cjs.entry.js} +43 -37
- package/dist/cjs/crm-giftback-form.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-tooltip_4.cjs.entry.js +11 -11
- package/dist/cjs/crm-tooltip_4.cjs.entry.js.map +1 -1
- package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
- package/dist/cjs/{crmbonus.service-7a4f6786.js → crmbonus.service-36e689a4.js} +17 -12
- package/dist/cjs/crmbonus.service-36e689a4.js.map +1 -0
- package/dist/cjs/giftback-finish_4.cjs.entry.js +4 -4
- package/dist/cjs/giftback-finish_4.cjs.entry.js.map +1 -1
- package/dist/cjs/i18n-defaa4f8.js.map +1 -1
- package/dist/cjs/index-7a7d7882.js.map +1 -1
- package/dist/cjs/info.config.helper-e35e6e20.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-container.cjs.entry.js +23 -0
- package/dist/cjs/loading-container.cjs.entry.js.map +1 -0
- package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
- package/dist/cjs/loading-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/pedido-finalizado.cjs.entry.js +3 -3
- package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -1
- package/dist/cjs/phone-cancel-input.cjs.entry.js +1 -1
- package/dist/cjs/phone-cancel-input.cjs.entry.js.map +1 -1
- package/dist/cjs/phone-input-mask.cjs.entry.js +1 -1
- package/dist/cjs/phone-input-mask.cjs.entry.js.map +1 -1
- package/dist/cjs/phone-input.cjs.entry.js +1 -1
- package/dist/cjs/phone-input.cjs.entry.js.map +1 -1
- package/dist/cjs/utils-5d59acb1.js.map +1 -1
- package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +5 -5
- package/dist/collection/components/_crm-bonus-form/crm-bonus-form.css +17 -17
- package/dist/collection/components/_crm-bonus-form/crm-bonus-form.js +2 -2
- package/dist/collection/components/_crm-bonus-form/crm-bonus-form.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-finish/giftback-finish.css +8 -8
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-pin/giftback-pin.css +68 -68
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-progress/giftback-progress.css +108 -108
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js +2 -2
- package/dist/collection/components/_crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/name-input/name-input.css +107 -107
- package/dist/collection/components/_crm-bonus-form/subcomponents/name-input/name-input.js +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/name-input/name-input.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/phone/phone.input.js +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/phone/phone.input.js.map +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js +1 -1
- package/dist/collection/components/_crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js.map +1 -1
- package/dist/collection/components/button/crm-button.css +21 -21
- package/dist/collection/components/button/index.js +1 -1
- package/dist/collection/components/button/index.js.map +1 -1
- package/dist/collection/components/countdown-timer/countdown-timer.js +1 -1
- package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -1
- package/dist/collection/components/countdown-timer/countdown-timer.v2.js +2 -2
- package/dist/collection/components/countdown-timer/countdown-timer.v2.js.map +1 -1
- package/dist/collection/components/crm-bonus/assets/logo.svg +17 -17
- package/dist/collection/components/crm-bonus/assets/svg/logo.svg +17 -17
- package/dist/collection/components/crm-bonus/crm-bonus.css +82 -82
- package/dist/collection/components/crm-bonus/crm-bonus.js +44 -5
- package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
- package/dist/collection/components/giftback-form/giftback-form.css +74 -74
- package/dist/collection/components/giftback-form/giftback-form.js +42 -20
- package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +181 -181
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +6 -6
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -1
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +83 -83
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +1 -1
- package/dist/collection/components/loading-container/loading-container.css +46 -46
- package/dist/collection/components/loading-container/loading-container.js +1 -1
- package/dist/collection/components/loading-container/loading-container.js.map +1 -1
- package/dist/collection/components/loading-spinner/loading-spinner.css +16 -16
- package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
- package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -1
- package/dist/collection/components/modal/app-modal.css +44 -44
- package/dist/collection/components/modal/app-modal.js +1 -1
- package/dist/collection/components/modal/app-modal.js.map +1 -1
- package/dist/collection/components/note/crm-bonus-note.css +68 -68
- package/dist/collection/components/note/crm-bonus-note.js +63 -11
- package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
- package/dist/collection/components/pedido/pedido.js +1 -1
- package/dist/collection/components/pedido/pedido.js.map +1 -1
- package/dist/collection/components/phone/phone-input-mask.css +40 -40
- package/dist/collection/components/phone/phone-input-mask.js +1 -1
- package/dist/collection/components/phone/phone-input-mask.js.map +1 -1
- package/dist/collection/components/tooltip/crm-tooltip.css +48 -48
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/contants/index.js.map +1 -1
- package/dist/collection/contants/mocks.js.map +1 -1
- package/dist/collection/dto/pin.sent.js.map +1 -1
- package/dist/collection/dto/reserved-info.dto.js.map +1 -1
- package/dist/collection/dto/update.order.dto.js.map +1 -1
- package/dist/collection/dto/validate.pin.bonus.js +3 -0
- package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
- package/dist/collection/helpers/build.payload.helper.js +15 -3
- package/dist/collection/helpers/build.payload.helper.js.map +1 -1
- package/dist/collection/helpers/cart.helper.js +2 -0
- package/dist/collection/helpers/cart.helper.js.map +1 -1
- package/dist/collection/helpers/info.config.helper.js.map +1 -1
- package/dist/collection/helpers/payload.interface.js.map +1 -1
- package/dist/collection/helpers/time.helper.js.map +1 -1
- package/dist/collection/i18n/i18n.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/objectvalues/cart.wake.js.map +1 -1
- package/dist/collection/services/crmbonus.service.js +15 -10
- package/dist/collection/services/crmbonus.service.js.map +1 -1
- package/dist/collection/tray-ecommerce/crm-bonus-tray.js +1 -1
- package/dist/collection/tray-ecommerce/crm-bonus-tray.js.map +1 -1
- package/dist/collection/utils/keys.storage.js.map +1 -1
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/app-modal.js +1 -1
- package/dist/components/app-modal.js.map +1 -1
- package/dist/components/countdown-timer-v2.js +1 -1
- package/dist/components/countdown-timer-v2.js.map +1 -1
- package/dist/components/countdown-timer.js +1 -1
- package/dist/components/crm-bonus-form.js +7 -7
- package/dist/components/crm-bonus-form.js.map +1 -1
- package/dist/components/crm-bonus-note.js +69 -18
- package/dist/components/crm-bonus-note.js.map +1 -1
- package/dist/components/crm-bonus-tray.js +1 -1
- package/dist/components/crm-bonus-tray.js.map +1 -1
- package/dist/components/crm-bonus.js +40 -46
- package/dist/components/crm-bonus.js.map +1 -1
- package/dist/components/crm-button.js +1 -1
- package/dist/components/crm-giftback-form.js +1 -1
- package/dist/components/crm-tooltip.js +1 -1
- package/dist/components/giftback-finish.js +1 -1
- package/dist/components/giftback-info.js +1 -1
- package/dist/components/giftback-pin.js +1 -1
- package/dist/components/giftback-progress.js +1 -1
- package/dist/components/loading-container.js +1 -1
- package/dist/components/loading-spinner.js +1 -1
- package/dist/components/name-input.js +1 -1
- package/dist/components/{p-63ca9208.js → p-0a33e90f.js} +5 -5
- package/dist/components/p-0a33e90f.js.map +1 -0
- package/dist/components/{p-a428d5df.js → p-142e8246.js} +17 -12
- package/dist/components/p-142e8246.js.map +1 -0
- package/dist/components/p-1b441909.js.map +1 -1
- package/dist/components/p-1bc79b08.js +47 -0
- package/dist/components/p-1bc79b08.js.map +1 -0
- package/dist/components/{p-c4788672.js → p-234f35c4.js} +3 -3
- package/dist/components/p-234f35c4.js.map +1 -0
- package/dist/components/{p-cd108989.js → p-6b1f5521.js} +2 -2
- package/dist/components/p-6b1f5521.js.map +1 -0
- package/dist/components/{p-ec317fb9.js → p-6d61406c.js} +52 -30
- package/dist/components/p-6d61406c.js.map +1 -0
- package/dist/components/{p-dc1871cf.js → p-6ff4aa18.js} +3 -3
- package/dist/components/p-6ff4aa18.js.map +1 -0
- package/dist/{esm/cart.helper-c6fd0b36.js → components/p-7a92a786.js} +4 -2
- package/dist/components/p-7a92a786.js.map +1 -0
- package/dist/components/{p-4ac2b98e.js → p-86dfe7ca.js} +5 -5
- package/dist/components/p-86dfe7ca.js.map +1 -0
- package/dist/components/{p-e81cd527.js → p-8e6146ae.js} +3 -3
- package/dist/components/p-8e6146ae.js.map +1 -0
- package/dist/components/{p-a70a82a3.js → p-ab662b24.js} +3 -3
- package/dist/components/p-ab662b24.js.map +1 -0
- package/dist/components/p-af3ba015.js.map +1 -1
- package/dist/components/{p-39cc3ce4.js → p-b86c93cc.js} +3 -3
- package/dist/components/p-b86c93cc.js.map +1 -0
- package/dist/components/p-c53241bf.js.map +1 -1
- package/dist/components/{p-d8bd654a.js → p-dc0f6d66.js} +10 -10
- package/dist/components/p-dc0f6d66.js.map +1 -0
- package/dist/components/{p-5a7b0549.js → p-e068510c.js} +2 -2
- package/dist/components/p-e068510c.js.map +1 -0
- package/dist/components/{p-e25a1b64.js → p-e31b6c28.js} +2 -2
- package/dist/components/p-e31b6c28.js.map +1 -0
- package/dist/components/{p-86b95c83.js → p-eb1f4328.js} +2 -2
- package/dist/components/p-eb1f4328.js.map +1 -0
- package/dist/components/p-ecc51430.js.map +1 -1
- package/dist/components/{p-3cd7a20f.js → p-f09b7364.js} +2 -2
- package/dist/components/{p-3cd7a20f.js.map → p-f09b7364.js.map} +1 -1
- package/dist/components/pedido-finalizado.js +3 -3
- package/dist/components/pedido-finalizado.js.map +1 -1
- package/dist/components/phone-cancel-input.js +3 -3
- package/dist/components/phone-cancel-input.js.map +1 -1
- package/dist/components/phone-form.js +1 -1
- package/dist/components/phone-input-mask.js +1 -1
- package/dist/components/phone-input.js +3 -3
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/pin-form.js +1 -1
- package/dist/crmbonus-component-wake/assets/logo.svg +17 -17
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
- package/dist/crmbonus-component-wake/{p-a428d5df.js → p-142e8246.js} +2 -2
- package/dist/crmbonus-component-wake/p-142e8246.js.map +1 -0
- package/dist/crmbonus-component-wake/p-1b441909.js.map +1 -1
- package/dist/crmbonus-component-wake/p-1bc79b08.js +2 -0
- package/dist/crmbonus-component-wake/p-1bc79b08.js.map +1 -0
- package/dist/crmbonus-component-wake/p-2bd29eae.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-2bd29eae.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-0a40bcba.entry.js → p-39abc114.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-39abc114.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-427c86db.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-427c86db.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-568072fe.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-568072fe.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-6d5bd437.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-6d5bd437.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-74335744.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-74335744.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7a92a786.js +2 -0
- package/dist/crmbonus-component-wake/p-7a92a786.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7beb0b90.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-7beb0b90.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7ee5c218.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-7ee5c218.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-85d2747a.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-85d2747a.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-8c4ae16d.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-8c4ae16d.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-77d8e96c.entry.js → p-9a32f685.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-9a32f685.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-a7f6ff4a.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-a7f6ff4a.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-af3ba015.js.map +1 -1
- package/dist/crmbonus-component-wake/{p-154b5318.entry.js → p-b5e9a5ea.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-b5e9a5ea.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/{p-bcb65b4e.entry.js → p-b9baad26.entry.js} +2 -2
- package/dist/crmbonus-component-wake/p-b9baad26.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-c53241bf.js.map +1 -1
- package/dist/crmbonus-component-wake/p-d2e98cc5.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-d2e98cc5.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-e5d8700b.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-e5d8700b.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-ecc51430.js.map +1 -1
- package/dist/env.js +1 -1
- package/dist/env.js.map +1 -1
- package/dist/esm/app-modal.entry.js +1 -1
- package/dist/esm/app-modal.entry.js.map +1 -1
- package/dist/esm/build.payload.helper-96f9c8b8.js +47 -0
- package/dist/esm/build.payload.helper-96f9c8b8.js.map +1 -0
- package/dist/{components/p-9ca28ea7.js → esm/cart.helper-107db11e.js} +4 -2
- package/dist/esm/cart.helper-107db11e.js.map +1 -0
- package/dist/esm/countdown-timer-v2.entry.js +1 -1
- package/dist/esm/countdown-timer-v2.entry.js.map +1 -1
- package/dist/esm/{countdown-timer.entry.js → countdown-timer_2.entry.js} +19 -3
- package/dist/esm/countdown-timer_2.entry.js.map +1 -0
- package/dist/esm/crm-bonus-form.entry.js +2 -2
- package/dist/esm/crm-bonus-form.entry.js.map +1 -1
- package/dist/esm/crm-bonus-note.entry.js +64 -15
- package/dist/esm/crm-bonus-note.entry.js.map +1 -1
- package/dist/esm/crm-bonus-tray.entry.js +1 -1
- package/dist/esm/crm-bonus-tray.entry.js.map +1 -1
- package/dist/esm/crm-bonus.entry.js +29 -36
- package/dist/esm/crm-bonus.entry.js.map +1 -1
- package/dist/esm/{crm-giftback-form_2.entry.js → crm-giftback-form.entry.js} +44 -37
- package/dist/esm/crm-giftback-form.entry.js.map +1 -0
- package/dist/esm/crm-tooltip_4.entry.js +11 -11
- package/dist/esm/crm-tooltip_4.entry.js.map +1 -1
- package/dist/esm/crmbonus-component-wake.js +1 -1
- package/dist/esm/{crmbonus.service-0bd0a5ac.js → crmbonus.service-652502f6.js} +17 -12
- package/dist/esm/crmbonus.service-652502f6.js.map +1 -0
- package/dist/esm/giftback-finish_4.entry.js +4 -4
- package/dist/esm/giftback-finish_4.entry.js.map +1 -1
- package/dist/esm/i18n-b9d8b0cc.js.map +1 -1
- package/dist/esm/index-dc3ebdf0.js.map +1 -1
- package/dist/esm/info.config.helper-7cad7a9c.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-container.entry.js +19 -0
- package/dist/esm/loading-container.entry.js.map +1 -0
- package/dist/esm/loading-spinner.entry.js +1 -1
- package/dist/esm/loading-spinner.entry.js.map +1 -1
- package/dist/esm/pedido-finalizado.entry.js +3 -3
- package/dist/esm/pedido-finalizado.entry.js.map +1 -1
- package/dist/esm/phone-cancel-input.entry.js +1 -1
- package/dist/esm/phone-cancel-input.entry.js.map +1 -1
- package/dist/esm/phone-input-mask.entry.js +1 -1
- package/dist/esm/phone-input-mask.entry.js.map +1 -1
- package/dist/esm/phone-input.entry.js +1 -1
- package/dist/esm/phone-input.entry.js.map +1 -1
- package/dist/esm/utils-dec6df66.js.map +1 -1
- package/dist/types/Users/Darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +2 -0
- package/dist/types/components/crm-bonus/crm-bonus.d.ts +2 -0
- package/dist/types/components/giftback-form/giftback-form.d.ts +1 -0
- package/dist/types/components/note/crm-bonus-note.d.ts +8 -1
- package/dist/types/components.d.ts +2 -0
- package/dist/types/dto/reserved-info.dto.d.ts +3 -0
- package/dist/types/dto/validate.pin.bonus.d.ts +4 -1
- package/package.json +58 -58
- package/readme.md +114 -114
- package/dist/cjs/cart.helper-0a401d80.js.map +0 -1
- package/dist/cjs/countdown-timer.cjs.entry.js.map +0 -1
- package/dist/cjs/crm-button.cjs.entry.js +0 -25
- package/dist/cjs/crm-button.cjs.entry.js.map +0 -1
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js.map +0 -1
- package/dist/cjs/crmbonus.service-7a4f6786.js.map +0 -1
- package/dist/components/p-39cc3ce4.js.map +0 -1
- package/dist/components/p-4ac2b98e.js.map +0 -1
- package/dist/components/p-5a7b0549.js.map +0 -1
- package/dist/components/p-63ca9208.js.map +0 -1
- package/dist/components/p-86b95c83.js.map +0 -1
- package/dist/components/p-9ca28ea7.js.map +0 -1
- package/dist/components/p-a428d5df.js.map +0 -1
- package/dist/components/p-a70a82a3.js.map +0 -1
- package/dist/components/p-c4788672.js.map +0 -1
- package/dist/components/p-cd108989.js.map +0 -1
- package/dist/components/p-d8bd654a.js.map +0 -1
- package/dist/components/p-dc1871cf.js.map +0 -1
- package/dist/components/p-e25a1b64.js.map +0 -1
- package/dist/components/p-e81cd527.js.map +0 -1
- package/dist/components/p-ec317fb9.js.map +0 -1
- package/dist/crmbonus-component-wake/p-0055876c.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-0055876c.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-0a40bcba.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-154b5318.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-1b0969ff.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-1b0969ff.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-35b95848.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-35b95848.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-4792c140.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-4792c140.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-53b6a7e8.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-53b6a7e8.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-5aa35e0f.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-5aa35e0f.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-77d8e96c.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-81ec64ff.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-81ec64ff.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-8e2d6659.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-8e2d6659.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-9ca28ea7.js +0 -2
- package/dist/crmbonus-component-wake/p-9ca28ea7.js.map +0 -1
- package/dist/crmbonus-component-wake/p-a428d5df.js.map +0 -1
- package/dist/crmbonus-component-wake/p-b2941d60.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-b2941d60.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-bcb65b4e.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-cc754208.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-cc754208.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-e4aae2ed.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-e4aae2ed.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/p-ed22d88f.entry.js +0 -2
- package/dist/crmbonus-component-wake/p-ed22d88f.entry.js.map +0 -1
- package/dist/esm/cart.helper-c6fd0b36.js.map +0 -1
- package/dist/esm/countdown-timer.entry.js.map +0 -1
- package/dist/esm/crm-button.entry.js +0 -21
- package/dist/esm/crm-button.entry.js.map +0 -1
- package/dist/esm/crm-giftback-form_2.entry.js.map +0 -1
- package/dist/esm/crmbonus.service-0bd0a5ac.js.map +0 -1
- package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +0 -2
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as a,h as r}from"./p-8c362346.js";import{C as o}from"./p-142e8246.js";import{C as t,g as s}from"./p-7a92a786.js";const e=class{constructor(r){a(this,r);this.cart=undefined}async componentWillLoad(){await this.handleOrder()}async handleOrder(){const a=this.cart?new t(JSON.parse(this.cart)):await s();if(a.id&&a.orderId){o.getInstance().updateOrder({cartId:a.id,orderId:a.orderId,cartIdCrm:a.middlewareId});const r=`bc-products:${a.id}`;localStorage.removeItem(r);localStorage.removeItem(a.id)}}render(){return r("div",{key:"2c842ca66602b461296e7070bd57edda194338e4"})}};export{e as pedido_finalizado};
|
2
|
+
//# sourceMappingURL=p-d2e98cc5.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["Pedido","componentWillLoad","this","handleOrder","cart","CartWake","JSON","parse","getCart","id","orderId","CrmBonusService","getInstance","updateOrder","cartId","cartIdCrm","middlewareId","key","localStorage","removeItem","render","h"],"sources":["src/components/pedido/pedido.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { getCart } from \"../../helpers/cart.helper\";\r\nimport { CartWake } from \"../../objectvalues/cart.wake\";\r\n\r\n@Component({\r\n tag: \"pedido-finalizado\"\r\n})\r\nexport class Pedido {\r\n\r\n @Prop() cart;\r\n\r\n async componentWillLoad() {\r\n await this.handleOrder()\r\n }\r\n\r\n async handleOrder() {\r\n\r\n const cart = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\r\n\r\n if (cart.id && cart.orderId) {\r\n CrmBonusService.getInstance().updateOrder({\r\n cartId: cart.id,\r\n orderId: cart.orderId,\r\n cartIdCrm: cart.middlewareId\r\n });\r\n\r\n const key = `bc-products:${cart.id}`;\r\n localStorage.removeItem(key);\r\n localStorage.removeItem(cart.id);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div></div>\r\n )\r\n }\r\n}"],"mappings":"gIAQaA,EAAM,M,6CAIf,uBAAMC,SACIC,KAAKC,a,CAGf,iBAAMA,GAEF,MAAMC,EAAOF,KAAKE,KAAO,IAAIC,EAASC,KAAKC,MAAML,KAAKE,aAAeI,IAErE,GAAIJ,EAAKK,IAAML,EAAKM,QAAS,CACzBC,EAAgBC,cAAcC,YAAY,CACtCC,OAAQV,EAAKK,GACbC,QAASN,EAAKM,QACdK,UAAWX,EAAKY,eAGpB,MAAMC,EAAM,eAAeb,EAAKK,KAChCS,aAAaC,WAAWF,GACxBC,aAAaC,WAAWf,EAAKK,G,EAIrC,MAAAW,GACI,OACIC,EAAA,OAAAJ,IAAA,4C","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,h as n}from"./p-8c362346.js";const e=class{constructor(n){t(this,n);this.downtime=undefined;this.dataCriacao=undefined;this.minutos=6;this.segundos=60;this.tempoRestante=undefined}componentWillLoad(){const t=this.minutos*this.segundos*1e3;const n=new Date(this.dataCriacao);const e=new Date;const s=e.getTime()-n.getTime();if(s>=t){this.tempoRestante=0;this.onTempoEsgotado()}else{this.tempoRestante=t-s;this.startCountdown()}}disconnectedCallback(){clearInterval(this.intervalId)}startCountdown(){this.intervalId=setInterval((()=>{this.tempoRestante-=1e3;if(this.tempoRestante<=0){this.tempoRestante=0;clearInterval(this.intervalId);this.onTempoEsgotado()}}),1e3)}onTempoEsgotado(){console.log("Tempo esgotado! Executando ação...");this.downtime()}render(){const t=Math.floor(this.tempoRestante/6e4);const e=Math.floor(this.tempoRestante%6e4/1e3);const s=`${String(t).padStart(2,"0")}:${String(e).padStart(2,"0")}`;return n("label",{key:"144bcb2c2c16268ea1e8158f1b6940e3f12dedcf"}," ",s)}};const s="input,button{margin:0;padding:10px;}.crm-contaner-button{height:auto;width:auto}.crm-button{height:48px;width:100%;border:1px solid #000;padding:14px 20px;background-color:#000;color:#fff;line-height:20px;font-weight:500;cursor:pointer}";const i=s;const o=class{constructor(n){t(this,n);this.txtBtn=undefined;this.loading=undefined;this.handleClick=undefined}render(){return n("div",{key:"00732759335f3dedd853446aff46a18bfb05f6f5",class:"crm-contaner-button"},n("button",{key:"9cdc1c8adfa2203fb0b4f4cb35f83bae779485a0",class:"crm-button",onClick:()=>this.handleClick()},!this.loading?this.txtBtn:n("loading-spinner",{size:"15px",color:"#fff"})))}};o.style=i;export{e as countdown_timer,o as crm_button};
|
2
|
+
//# sourceMappingURL=p-e5d8700b.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["CountdownTimer","componentWillLoad","tempoTotal","this","minutos","segundos","data","Date","dataCriacao","agora","tempoPassado","getTime","tempoRestante","onTempoEsgotado","startCountdown","disconnectedCallback","clearInterval","intervalId","setInterval","console","log","downtime","render","Math","floor","tempoFormatado","String","padStart","h","key","crmButtonCss","CrmButtonStyle0","Button","class","onClick","handleClick","loading","txtBtn","size","color"],"sources":["src/components/countdown-timer/countdown-timer.tsx","src/components/button/crm-button.css?tag=crm-button","src/components/button/index.tsx"],"sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'countdown-timer',\r\n})\r\nexport class CountdownTimer {\r\n\r\n @Prop() downtime: () => void;\r\n @Prop() dataCriacao: string;\r\n @Prop() minutos: number = 6;\r\n @Prop() segundos: number = 60;\r\n\r\n @State() tempoRestante: number; // em milissegundos\r\n\r\n private intervalId: any;\r\n\r\n componentWillLoad() {\r\n const tempoTotal = this.minutos * this.segundos * 1000;\r\n const data = new Date(this.dataCriacao);\r\n const agora = new Date();\r\n const tempoPassado = agora.getTime() - data.getTime();\r\n\r\n if (tempoPassado >= tempoTotal) {\r\n this.tempoRestante = 0;\r\n this.onTempoEsgotado();\r\n } else {\r\n this.tempoRestante = tempoTotal - tempoPassado;\r\n this.startCountdown();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n startCountdown() {\r\n this.intervalId = setInterval(() => {\r\n this.tempoRestante -= 1000;\r\n if (this.tempoRestante <= 0) {\r\n this.tempoRestante = 0;\r\n clearInterval(this.intervalId);\r\n this.onTempoEsgotado();\r\n }\r\n }, 1000);\r\n }\r\n\r\n onTempoEsgotado() {\r\n console.log('Tempo esgotado! Executando ação...');\r\n this.downtime()\r\n }\r\n\r\n render() {\r\n const minutos = Math.floor(this.tempoRestante / 60000);\r\n const segundos = Math.floor((this.tempoRestante % 60000) / 1000);\r\n const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;\r\n\r\n return (\r\n <label> {tempoFormatado}</label>\r\n );\r\n }\r\n}\r\n","input, button {\r\n margin: 0;\r\n padding: 10px; /* Ajuste o valor conforme necessário */\r\n}\r\n\r\n.crm-contaner-button {\r\n height: auto;\r\n width: auto;\r\n}\r\n\r\n.crm-button {\r\n height: 48px;\r\n width: 100%;\r\n border: 1px solid #000;\r\n padding: 14px 20px;\r\n background-color: #000;\r\n color: #fff;\r\n /* font-size: 14px; */\r\n line-height: 20px;\r\n font-weight: 500;\r\n cursor: pointer;\r\n}","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'crm-button',\r\n styleUrl: 'crm-button.css'\r\n})\r\nexport class Button {\r\n\r\n @Prop() txtBtn: string;\r\n @Prop() loading: boolean;\r\n\r\n @Prop() handleClick: () => void;\r\n\r\n render() {\r\n return (\r\n <div class=\"crm-contaner-button\">\r\n <button class=\"crm-button\" onClick={() => this.handleClick()}>\r\n {\r\n !this.loading ? this.txtBtn : <loading-spinner size=\"15px\" color=\"#fff\" />\r\n }\r\n </button>\r\n </div>\r\n )\r\n }\r\n}"],"mappings":"iDAKaA,EAAc,M,yFAIG,E,cACC,G,6BAM3B,iBAAAC,GACI,MAAMC,EAAaC,KAAKC,QAAUD,KAAKE,SAAW,IAClD,MAAMC,EAAO,IAAIC,KAAKJ,KAAKK,aAC3B,MAAMC,EAAQ,IAAIF,KAClB,MAAMG,EAAeD,EAAME,UAAYL,EAAKK,UAE5C,GAAID,GAAgBR,EAAY,CAC5BC,KAAKS,cAAgB,EACrBT,KAAKU,iB,KACF,CACHV,KAAKS,cAAgBV,EAAaQ,EAClCP,KAAKW,gB,EAIb,oBAAAC,GACIC,cAAcb,KAAKc,W,CAGvB,cAAAH,GACIX,KAAKc,WAAaC,aAAY,KAC1Bf,KAAKS,eAAiB,IACtB,GAAIT,KAAKS,eAAiB,EAAG,CACzBT,KAAKS,cAAgB,EACrBI,cAAcb,KAAKc,YACnBd,KAAKU,iB,IAEV,I,CAGP,eAAAA,GACIM,QAAQC,IAAI,sCACZjB,KAAKkB,U,CAGT,MAAAC,GACI,MAAMlB,EAAUmB,KAAKC,MAAMrB,KAAKS,cAAgB,KAChD,MAAMP,EAAWkB,KAAKC,MAAOrB,KAAKS,cAAgB,IAAS,KAC3D,MAAMa,EAAiB,GAAGC,OAAOtB,GAASuB,SAAS,EAAG,QAAQD,OAAOrB,GAAUsB,SAAS,EAAG,OAE3F,OACIC,EAAA,SAAAC,IAAA,gDAASJ,E,GCzDrB,MAAMK,EAAe,+OACrB,MAAAC,EAAeD,E,MCKFE,EAAM,M,iGAOf,MAAAV,GACI,OACIM,EAAA,OAAAC,IAAA,2CAAKI,MAAM,uBACPL,EAAA,UAAAC,IAAA,2CAAQI,MAAM,aAAaC,QAAS,IAAM/B,KAAKgC,gBAEtChC,KAAKiC,QAAUjC,KAAKkC,OAAST,EAAA,mBAAiBU,KAAK,OAAOC,MAAM,U","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["StepFormEnum","MESSAGE_ERROR_INVALID_NUMBER","StatusGiftBackProcess","defaultStyles"],"sources":["src/contants/index.ts"],"sourcesContent":["export enum StepFormEnum {\n STEP_NAME = 0,\n STEP_PHONE = 1,\n STEP_PIN = 2,\n STEP_RESERVE = 3,\n STEP_APPLY = 4,\n STEP_NO_BONUS = 5\n}\n\nexport const MESSAGE_ERROR_INVALID_NUMBER = \"Número inválido\"\n\nexport enum StatusGiftBackProcess {\n VALIDATE = \"validate\",\n NO_BONUS = \"no_bonus\"\n}\n\nexport const defaultStyles = { 'font-family': 'SANS-SERIF', 'font-size': '16px' };"],"mappings":"IAAYA,GAAZ,SAAYA,GACRA,IAAA,4BACAA,IAAA,8BACAA,IAAA,0BACAA,IAAA,kCACAA,IAAA,8BACAA,IAAA,mCACH,EAPD,CAAYA,MAAY,K,MASXC,EAA+B,kBAE5C,IAAYC,GAAZ,SAAYA,GACRA,EAAA,uBACAA,EAAA,sBACH,EAHD,CAAYA,MAAqB,K,MAKpBC,EAAgB,CAAE,cAAe,aAAc,YAAa,e","ignoreList":[]}
|
1
|
+
{"version":3,"names":["StepFormEnum","MESSAGE_ERROR_INVALID_NUMBER","StatusGiftBackProcess","defaultStyles"],"sources":["src/contants/index.ts"],"sourcesContent":["export enum StepFormEnum {\r\n STEP_NAME = 0,\r\n STEP_PHONE = 1,\r\n STEP_PIN = 2,\r\n STEP_RESERVE = 3,\r\n STEP_APPLY = 4,\r\n STEP_NO_BONUS = 5\r\n}\r\n\r\nexport const MESSAGE_ERROR_INVALID_NUMBER = \"Número inválido\"\r\n\r\nexport enum StatusGiftBackProcess {\r\n VALIDATE = \"validate\",\r\n NO_BONUS = \"no_bonus\"\r\n}\r\n\r\nexport const defaultStyles = { 'font-family': 'SANS-SERIF', 'font-size': '16px' };"],"mappings":"IAAYA,GAAZ,SAAYA,GACRA,IAAA,4BACAA,IAAA,8BACAA,IAAA,0BACAA,IAAA,kCACAA,IAAA,8BACAA,IAAA,mCACH,EAPD,CAAYA,MAAY,K,MASXC,EAA+B,kBAE5C,IAAYC,GAAZ,SAAYA,GACRA,EAAA,uBACAA,EAAA,sBACH,EAHD,CAAYA,MAAqB,K,MAKpBC,EAAgB,CAAE,cAAe,aAAc,YAAa,e","ignoreList":[]}
|
package/dist/env.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
export const CRM_BONUS_API_URL = "https://
|
1
|
+
export const CRM_BONUS_API_URL = "https://typically-workable-perch.ngrok-free.app/api"; //"http://localhost:4000/api";// "https://wake-middleware.crmbonus.com/api"; //"https://wake-middleware.crmbonus.com/api";// "https://crmbonus-wake-hub-staging-5daedbc4e22b.herokuapp.com/api" //"https://crmbonus-service-staging-d15ba5377115.herokuapp.com"; //"https://typically-workable-perch.ngrok-free.app"; // "http://localhost:3500";
|
2
2
|
export const CHECKOUT_CART_WAKE = "http://localhost:3001";
|
3
3
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../env.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../env.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,iBAAiB,GAAG,qDAAqD,CAAC,CAAC,iVAAiV;AACza,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA","sourcesContent":["\r\nexport const CRM_BONUS_API_URL = \"https://typically-workable-perch.ngrok-free.app/api\"; //\"http://localhost:4000/api\";// \"https://wake-middleware.crmbonus.com/api\"; //\"https://wake-middleware.crmbonus.com/api\";// \"https://crmbonus-wake-hub-staging-5daedbc4e22b.herokuapp.com/api\" //\"https://crmbonus-service-staging-d15ba5377115.herokuapp.com\"; //\"https://typically-workable-perch.ngrok-free.app\"; // \"http://localhost:3500\";\r\nexport const CHECKOUT_CART_WAKE = \"http://localhost:3001\""]}
|
@@ -14,7 +14,7 @@ const AppModal = class {
|
|
14
14
|
this.modalClosed.emit();
|
15
15
|
}
|
16
16
|
render() {
|
17
|
-
return (h("div", { key: '
|
17
|
+
return (h("div", { key: 'd5f92be2916dc72136754e79e80102b1c9b852a2', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '7e36ec821cc70a321161d7e02783a59cec600d62', class: "modal" }, h("div", { key: '3ae49e91814824a98872d7b4c7d19e3258124cce', class: "modal-header" }, h("h3", { key: '72c84c6950625cd953120aac1241cd425173f61e' }, this.modalTitle), h("button", { key: 'f3f10a6d5b67053407a445ccf992e779a2c4bc2c', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '759d6d90c0592302264d9985709cc1e04a01e72a', class: "modal-body" }, h("slot", { key: 'b6dae8f162a22d6e2c7b428d519e628b4099fb92' })))));
|
18
18
|
}
|
19
19
|
};
|
20
20
|
AppModal.style = AppModalStyle0;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"app-modal.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,8gBAA8gB,CAAC;AACniB,uBAAe,WAAW;;MCMb,QAAQ;;;;sBAG0B,KAAK;;;IAQxC,UAAU;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC3B;IAED,MAAM;QACF,QACI,4DAAK,KAAK,EAAE,kBAAkB,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,EAAE,EAAE,IACxD,4DAAK,KAAK,EAAC,OAAO,IACd,4DAAK,KAAK,EAAC,cAAc,IACrB,6DAAK,IAAI,CAAC,UAAU,CAAM,EAC1B,+DAAQ,KAAK,EAAC,cAAc,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,aAEpD,CACP,EACN,4DAAK,KAAK,EAAC,YAAY,IACnB,8DAAQ,CACN,CACJ,CACJ,EACT;KACJ;;;;;;","names":[],"sources":["src/components/modal/app-modal.css?tag=app-modal&encapsulation=shadow","src/components/modal/app-modal.tsx"],"sourcesContent":[".modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n display: none;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n }\n \n .modal-backdrop.visible {\n display: flex;\n }\n \n .modal {\n background: white;\n border-radius: 8px;\n padding: 1rem;\n max-width: 500px;\n width: 90%;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n }\n \n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #ddd;\n margin-bottom: 1rem;\n }\n \n .close-button {\n background: none;\n border: none;\n /* font-size: 1.5rem; */\n cursor: pointer;\n }\n \n .modal-body {\n /* padding: 1rem 0; */\n }\n ","import { Component, Event, EventEmitter, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'app-modal',\n styleUrl: 'app-modal.css',\n shadow: true,\n})\nexport class AppModal {\n\n // Controle da visibilidade do modal\n @Prop({ reflect: true }) isOpen: boolean = false;\n\n // Título do modal\n @Prop() modalTitle: string;\n\n // Evento emitido ao fechar o modal\n @Event() modalClosed: EventEmitter<void>;\n\n private closeModal() {\n this.modalClosed.emit();\n }\n\n render() {\n return (\n <div class={`modal-backdrop ${this.isOpen ? 'visible' : ''}`}>\n <div class=\"modal\">\n <div class=\"modal-header\">\n <h3>{this.modalTitle}</h3>\n <button class=\"close-button\" onClick={() => this.closeModal()}>\n ×\n </button>\n </div>\n <div class=\"modal-body\">\n <slot />\n </div>\n </div>\n </div>\n )\n }\n}"],"version":3}
|
1
|
+
{"file":"app-modal.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,8gBAA8gB,CAAC;AACniB,uBAAe,WAAW;;MCMb,QAAQ;;;;sBAG0B,KAAK;;;IAQxC,UAAU;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC3B;IAED,MAAM;QACF,QACI,4DAAK,KAAK,EAAE,kBAAkB,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,EAAE,EAAE,IACxD,4DAAK,KAAK,EAAC,OAAO,IACd,4DAAK,KAAK,EAAC,cAAc,IACrB,6DAAK,IAAI,CAAC,UAAU,CAAM,EAC1B,+DAAQ,KAAK,EAAC,cAAc,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,aAEpD,CACP,EACN,4DAAK,KAAK,EAAC,YAAY,IACnB,8DAAQ,CACN,CACJ,CACJ,EACT;KACJ;;;;;;","names":[],"sources":["src/components/modal/app-modal.css?tag=app-modal&encapsulation=shadow","src/components/modal/app-modal.tsx"],"sourcesContent":[".modal-backdrop {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n display: none;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 1000;\r\n }\r\n \r\n .modal-backdrop.visible {\r\n display: flex;\r\n }\r\n \r\n .modal {\r\n background: white;\r\n border-radius: 8px;\r\n padding: 1rem;\r\n max-width: 500px;\r\n width: 90%;\r\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\r\n }\r\n \r\n .modal-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n border-bottom: 1px solid #ddd;\r\n margin-bottom: 1rem;\r\n }\r\n \r\n .close-button {\r\n background: none;\r\n border: none;\r\n /* font-size: 1.5rem; */\r\n cursor: pointer;\r\n }\r\n \r\n .modal-body {\r\n /* padding: 1rem 0; */\r\n }\r\n ","import { Component, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'app-modal',\r\n styleUrl: 'app-modal.css',\r\n shadow: true,\r\n})\r\nexport class AppModal {\r\n\r\n // Controle da visibilidade do modal\r\n @Prop({ reflect: true }) isOpen: boolean = false;\r\n\r\n // Título do modal\r\n @Prop() modalTitle: string;\r\n\r\n // Evento emitido ao fechar o modal\r\n @Event() modalClosed: EventEmitter<void>;\r\n\r\n private closeModal() {\r\n this.modalClosed.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`modal-backdrop ${this.isOpen ? 'visible' : ''}`}>\r\n <div class=\"modal\">\r\n <div class=\"modal-header\">\r\n <h3>{this.modalTitle}</h3>\r\n <button class=\"close-button\" onClick={() => this.closeModal()}>\r\n ×\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <slot />\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n }\r\n}"],"version":3}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
var AjustesTipoEnum;
|
2
|
+
(function (AjustesTipoEnum) {
|
3
|
+
AjustesTipoEnum["P"] = "Promocao";
|
4
|
+
AjustesTipoEnum["CC"] = "ContaCorrente";
|
5
|
+
AjustesTipoEnum["PP"] = "PromocaoProduto";
|
6
|
+
AjustesTipoEnum["F"] = "Formula";
|
7
|
+
})(AjustesTipoEnum || (AjustesTipoEnum = {}));
|
8
|
+
|
9
|
+
function buildProductsByWake(productsWake = []) {
|
10
|
+
const products = [];
|
11
|
+
for (const pw of productsWake) {
|
12
|
+
let discounts = getDiscount(pw.Ajustes);
|
13
|
+
let discounts_formula = getDiscountFormula(pw.Ajustes);
|
14
|
+
var value = (pw.PrecoPor * pw.Quantidade) + discounts_formula;
|
15
|
+
var discounts_value = (discounts * -1);
|
16
|
+
products.push({
|
17
|
+
sku: pw.SKU,
|
18
|
+
value: value,
|
19
|
+
productVariantId: pw.ProdutoVarianteId.toString(),
|
20
|
+
quantity: pw.Quantidade,
|
21
|
+
discount: value < discounts_value ? value : discounts_value,
|
22
|
+
});
|
23
|
+
}
|
24
|
+
return products;
|
25
|
+
}
|
26
|
+
function getDiscount(ajustes = []) {
|
27
|
+
let discounts = 0;
|
28
|
+
for (const discount of ajustes) {
|
29
|
+
if ([AjustesTipoEnum.P, AjustesTipoEnum.CC].includes(discount.Tipo)) {
|
30
|
+
discounts += discount.Valor;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
return discounts;
|
34
|
+
}
|
35
|
+
function getDiscountFormula(ajustes = []) {
|
36
|
+
let discounts = 0;
|
37
|
+
for (const discount of ajustes) {
|
38
|
+
if ([AjustesTipoEnum.F].includes(discount.Tipo)) {
|
39
|
+
discounts += (discount.Valor * -1);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
return discounts;
|
43
|
+
}
|
44
|
+
|
45
|
+
export { buildProductsByWake as b };
|
46
|
+
|
47
|
+
//# sourceMappingURL=build.payload.helper-96f9c8b8.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"build.payload.helper-96f9c8b8.js","mappings":"AAQA,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,iCAAc,CAAA;IACd,uCAAoB,CAAA;IACpB,yCAAsB,CAAA;IACtB,gCAAa,CAAA;AACjB,CAAC,EALW,eAAe,KAAf,eAAe;;SCNX,mBAAmB,CAAC,eAAoC,EAAE;IAEtE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAM,MAAM,EAAE,IAAI,YAAY,EAAG;QAC7B,IAAI,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,IAAI,iBAAiB,CAAC;QAE9D,IAAI,eAAe,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtC,QAAQ,CAAC,IAAI,CACT;YACI,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YACjD,QAAQ,EAAE,EAAE,CAAC,UAAU;YACvB,QAAQ,EAAE,KAAK,GAAG,eAAe,GAAG,KAAK,GAAG,eAAe;SAC9D,CACJ,CAAA;KACJ;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,UAAsB,EAAE;IAEzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAI,MAAM,QAAQ,IAAI,OAAO,EAAE;QAC3B,IAAG,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC;SAC/B;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB,EAAE;IAEhD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAI,MAAM,QAAQ,IAAI,OAAO,EAAE;QAC3B,IAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5C,SAAS,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;SACtC;KACJ;IAED,OAAO,SAAS,CAAC;AACrB;;;;","names":[],"sources":["src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts"],"sourcesContent":["export interface IProduct {\r\n productVariantId: string;\r\n sku: string;\r\n value: number;\r\n quantity: number;\r\n discount: number;\r\n}\r\n\r\nexport enum AjustesTipoEnum {\r\n P = \"Promocao\",\r\n CC = \"ContaCorrente\",\r\n PP = \"PromocaoProduto\",\r\n F = \"Formula\"\r\n}\r\n\r\nexport interface IAjustes {\r\n Tipo: AjustesTipoEnum;\r\n Valor: number;\r\n}\r\n\r\nexport interface IUser {\r\n id: number;\r\n}\r\n\r\nexport interface IStore {\r\n name: string;\r\n}\r\n\r\nexport interface IProductWake {\r\n ProdutoVarianteId: number;\r\n SKU: string;\r\n PrecoPor: number;\r\n Quantidade: number;\r\n Ajustes: IAjustes[];\r\n}\r\n\r\nexport interface ICustomer {\r\n birthDate: string;\r\n document: string;\r\n name: string;\r\n phone: string;\r\n}\r\n\r\nexport interface IProccesPinBonusDto {\r\n storeName: string;\r\n name: string;\r\n checkoutId: string;\r\n checkoutProducts: Array<IProduct>;\r\n storeId: string;\r\n userId: string;\r\n cellphone: number;\r\n pin: string;\r\n\r\n}\r\n\r\nexport interface IBonus {\r\n hasBonus: boolean;\r\n bonusBalance: number;\r\n totalBonus: number;\r\n minimumPurchase: number;\r\n bonusIds: string;\r\n firstValidityDate: string\r\n history: [\r\n {\r\n validityStart: string;\r\n validityEnd: string;\r\n value: number\r\n },\r\n {\r\n validityStart: string;\r\n validityEnd: string\r\n value: number\r\n }\r\n ]\r\n storeId: number;\r\n userId: number;\r\n cartId: string\r\n calculatedValue: number;\r\n totalValue: number\r\n}\r\n\r\n\r\nexport interface IReserveDTO {\r\n storeName: string;\r\n cartId: string;\r\n grossValue: number;\r\n redeemedBonus: number;\r\n ticket: string;\r\n storeId: string;\r\n userId: number;\r\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\r\n\r\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\r\n\r\n const products: Array<IProduct> = [];\r\n\r\n for ( const pw of productsWake ) {\r\n let discounts = getDiscount(pw.Ajustes)\r\n let discounts_formula = getDiscountFormula(pw.Ajustes);\r\n\r\n var value = (pw.PrecoPor * pw.Quantidade) + discounts_formula;\r\n\r\n var discounts_value = (discounts * -1)\r\n\r\n products.push(\r\n {\r\n sku: pw.SKU,\r\n value: value,\r\n productVariantId: pw.ProdutoVarianteId.toString(),\r\n quantity: pw.Quantidade,\r\n discount: value < discounts_value ? value : discounts_value,\r\n }\r\n )\r\n }\r\n\r\n return products;\r\n}\r\n\r\nfunction getDiscount(ajustes: IAjustes[] = []) {\r\n \r\n let discounts = 0;\r\n \r\n for(const discount of ajustes) {\r\n if([AjustesTipoEnum.P, AjustesTipoEnum.CC].includes(discount.Tipo)) {\r\n discounts += discount.Valor;\r\n }\r\n }\r\n\r\n return discounts;\r\n}\r\n\r\nfunction getDiscountFormula(ajustes: IAjustes[] = []) {\r\n \r\n let discounts = 0;\r\n \r\n for(const discount of ajustes) {\r\n if([AjustesTipoEnum.F].includes(discount.Tipo)) {\r\n discounts += (discount.Valor * -1);\r\n }\r\n }\r\n\r\n return discounts;\r\n}"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './
|
1
|
+
import { C as CrmBonusService, a as CHECKOUT_CART_WAKE } from './crmbonus.service-652502f6.js';
|
2
2
|
|
3
3
|
class CartWake {
|
4
4
|
constructor(cart) {
|
@@ -85,11 +85,13 @@ const getInfoBonusByCartIdAndStoreName = async (cartId, storeName) => {
|
|
85
85
|
return ReservedInfoDTO.of(info);
|
86
86
|
};
|
87
87
|
const persisteMetadata = async (storeName, cartId, metadata = {}) => {
|
88
|
+
console.log('[bc:salvando metadados]');
|
88
89
|
await crmBonusService.patchInfoBonus({
|
89
90
|
storeName,
|
90
91
|
cartId,
|
91
92
|
metadata
|
92
93
|
});
|
94
|
+
console.log('[bc:salvo metadados]');
|
93
95
|
};
|
94
96
|
const buildUrlBase = () => {
|
95
97
|
const url = window.location.origin; //"https://bycoders.checkout.fbits.store" //
|
@@ -110,4 +112,4 @@ const buildUrlBase = () => {
|
|
110
112
|
|
111
113
|
export { CartWake as C, getInfoBonusByCartIdAndStoreName as a, getCart as g, persisteMetadata as p };
|
112
114
|
|
113
|
-
//# sourceMappingURL=
|
115
|
+
//# sourceMappingURL=cart.helper-107db11e.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"cart.helper-107db11e.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 console.log('[bc:salvando metadados]');\r\n await crmBonusService.patchInfoBonus({\r\n storeName,\r\n cartId,\r\n metadata\r\n });\r\n console.log('[bc:salvo metadados]');\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}
|
@@ -64,7 +64,7 @@ const CountdownTimer = class {
|
|
64
64
|
return `${parseInt(minutes.toString())}m ${seconds}s`;
|
65
65
|
}
|
66
66
|
render() {
|
67
|
-
return (h("label", { key: '
|
67
|
+
return (h("label", { key: '3efd285d3c548ad1a41e81a33ae32a51b452e0f6' }, " ", this.minutes));
|
68
68
|
}
|
69
69
|
};
|
70
70
|
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"countdown-timer-v2.entry.js","mappings":"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","names":[],"sources":["src/components/countdown-timer/countdown-timer.v2.tsx"],"sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'countdown-timer-v2',\n shadow: true,\n})\nexport class CountdownTimer {\n\n @Prop() downtime: () => void;\n @Prop() reload: boolean = false;\n\n @Prop() dates = {\n expiration: new Date(),\n createdAt: new Date()\n };\n\n\n @State() seconds: number = 0;\n @State() minutes: string;\n\n private intervalId: NodeJS.Timer;\n\n componentWillLoad() {\n const time = this.buildTime();\n this.iniciarContador(time);\n }\n\n private buildTime(): number {\n\n const initial = localStorage.getItem(\"bc:time\");\n\n if (initial && !this.reload) {\n return Number(initial);\n }\n\n const dataFinal: Date = new Date(this.dates.expiration);\n const agora: Date = new Date(this.dates.createdAt);\n\n const diferencaMs = dataFinal.getTime() - agora.getTime();\n\n if (diferencaMs <= 0) {\n return diferencaMs;\n }\n\n const diferencaSegundos = diferencaMs / 1000; // Converter milissegundos para segundos\n const minutos = Math.floor(diferencaSegundos / 60); // Calcular minutos\n const segundos = Math.floor(diferencaSegundos % 60); // Calcular segundos restantes\n\n const m = minutos >= 10 ? minutos : `0${minutos}`\n const s = segundos >= 10 ? segundos : `0${segundos}`\n\n this.minutes = `${m}:${s}`;\n\n return diferencaSegundos;\n\n }\n\n iniciarContador(params) {\n let segundosRestantes = params;\n const intervalo = setInterval(() => {\n const minutosExibidos = Math.floor(segundosRestantes / 60);\n const segundosExibidos = (segundosRestantes % 60).toFixed();\n\n let textContent =\n `${String(minutosExibidos).padStart(2, '0')}:${String(segundosExibidos).padStart(2, '0')}`;\n\n if (segundosRestantes < 0) {\n clearInterval(intervalo);\n textContent = \"00:00\";\n localStorage.removeItem(\"bc:time\");\n this.downtime()\n return;\n }\n\n segundosRestantes--;\n\n localStorage.setItem(\"bc:time\", segundosRestantes);\n this.minutes = textContent\n }, 1000);\n }\n\n disconnectedCallback() {\n clearInterval(this.intervalId);\n }\n\n padLeft() {\n const minutes = this.seconds / 60;\n const seconds = this.seconds % 60;\n\n if (minutes < 1) return `${seconds}s`\n\n return `${parseInt(minutes.toString())}m ${seconds}s`\n }\n\n render() {\n return (\n <label> {this.minutes}</label>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"countdown-timer-v2.entry.js","mappings":"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","names":[],"sources":["src/components/countdown-timer/countdown-timer.v2.tsx"],"sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'countdown-timer-v2',\r\n shadow: true,\r\n})\r\nexport class CountdownTimer {\r\n\r\n @Prop() downtime: () => void;\r\n @Prop() reload: boolean = false;\r\n\r\n @Prop() dates = {\r\n expiration: new Date(),\r\n createdAt: new Date()\r\n };\r\n\r\n\r\n @State() seconds: number = 0;\r\n @State() minutes: string;\r\n\r\n private intervalId: NodeJS.Timer;\r\n\r\n componentWillLoad() {\r\n const time = this.buildTime();\r\n this.iniciarContador(time);\r\n }\r\n\r\n private buildTime(): number {\r\n\r\n const initial = localStorage.getItem(\"bc:time\");\r\n\r\n if (initial && !this.reload) {\r\n return Number(initial);\r\n }\r\n\r\n const dataFinal: Date = new Date(this.dates.expiration);\r\n const agora: Date = new Date(this.dates.createdAt);\r\n\r\n const diferencaMs = dataFinal.getTime() - agora.getTime();\r\n\r\n if (diferencaMs <= 0) {\r\n return diferencaMs;\r\n }\r\n\r\n const diferencaSegundos = diferencaMs / 1000; // Converter milissegundos para segundos\r\n const minutos = Math.floor(diferencaSegundos / 60); // Calcular minutos\r\n const segundos = Math.floor(diferencaSegundos % 60); // Calcular segundos restantes\r\n\r\n const m = minutos >= 10 ? minutos : `0${minutos}`\r\n const s = segundos >= 10 ? segundos : `0${segundos}`\r\n\r\n this.minutes = `${m}:${s}`;\r\n\r\n return diferencaSegundos;\r\n\r\n }\r\n\r\n iniciarContador(params) {\r\n let segundosRestantes = params;\r\n const intervalo = setInterval(() => {\r\n const minutosExibidos = Math.floor(segundosRestantes / 60);\r\n const segundosExibidos = (segundosRestantes % 60).toFixed();\r\n\r\n let textContent =\r\n `${String(minutosExibidos).padStart(2, '0')}:${String(segundosExibidos).padStart(2, '0')}`;\r\n\r\n if (segundosRestantes < 0) {\r\n clearInterval(intervalo);\r\n textContent = \"00:00\";\r\n localStorage.removeItem(\"bc:time\");\r\n this.downtime()\r\n return;\r\n }\r\n\r\n segundosRestantes--;\r\n\r\n localStorage.setItem(\"bc:time\", segundosRestantes);\r\n this.minutes = textContent\r\n }, 1000);\r\n }\r\n\r\n disconnectedCallback() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n padLeft() {\r\n const minutes = this.seconds / 60;\r\n const seconds = this.seconds % 60;\r\n\r\n if (minutes < 1) return `${seconds}s`\r\n\r\n return `${parseInt(minutes.toString())}m ${seconds}s`\r\n }\r\n\r\n render() {\r\n return (\r\n <label> {this.minutes}</label>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
@@ -44,10 +44,26 @@ const CountdownTimer = class {
|
|
44
44
|
const minutos = Math.floor(this.tempoRestante / 60000);
|
45
45
|
const segundos = Math.floor((this.tempoRestante % 60000) / 1000);
|
46
46
|
const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;
|
47
|
-
return (h("label", { key: '
|
47
|
+
return (h("label", { key: '144bcb2c2c16268ea1e8158f1b6940e3f12dedcf' }, " ", tempoFormatado));
|
48
48
|
}
|
49
49
|
};
|
50
50
|
|
51
|
-
|
51
|
+
const crmButtonCss = "input,button{margin:0;padding:10px;}.crm-contaner-button{height:auto;width:auto}.crm-button{height:48px;width:100%;border:1px solid #000;padding:14px 20px;background-color:#000;color:#fff;line-height:20px;font-weight:500;cursor:pointer}";
|
52
|
+
const CrmButtonStyle0 = crmButtonCss;
|
52
53
|
|
53
|
-
|
54
|
+
const Button = class {
|
55
|
+
constructor(hostRef) {
|
56
|
+
registerInstance(this, hostRef);
|
57
|
+
this.txtBtn = undefined;
|
58
|
+
this.loading = undefined;
|
59
|
+
this.handleClick = undefined;
|
60
|
+
}
|
61
|
+
render() {
|
62
|
+
return (h("div", { key: '00732759335f3dedd853446aff46a18bfb05f6f5', class: "crm-contaner-button" }, h("button", { key: '9cdc1c8adfa2203fb0b4f4cb35f83bae779485a0', class: "crm-button", onClick: () => this.handleClick() }, !this.loading ? this.txtBtn : h("loading-spinner", { size: "15px", color: "#fff" }))));
|
63
|
+
}
|
64
|
+
};
|
65
|
+
Button.style = CrmButtonStyle0;
|
66
|
+
|
67
|
+
export { CountdownTimer as countdown_timer, Button as crm_button };
|
68
|
+
|
69
|
+
//# sourceMappingURL=countdown-timer_2.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"countdown-timer.crm-button.entry.js","mappings":";;MAKa,cAAc;;;;;uBAIG,CAAC;wBACA,EAAE;;;IAM7B,iBAAiB;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtD,IAAI,YAAY,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;KACJ;IAED,oBAAoB;QAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,cAAc;QACV,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;SACJ,EAAE,IAAI,CAAC,CAAC;KACZ;IAED,eAAe;QACX,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAA;KAClB;IAED,MAAM;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAElG,QACI,qEAAS,cAAc,CAAS,EAClC;KACL;;;AC3DL,MAAM,YAAY,GAAG,8OAA8O,CAAC;AACpQ,wBAAe,YAAY;;MCKd,MAAM;;;;;;;IAOf,MAAM;QACF,QACI,4DAAK,KAAK,EAAC,qBAAqB,IAC5B,+DAAQ,KAAK,EAAC,YAAY,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,IAEpD,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,uBAAiB,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,CAEzE,CACP,EACT;KACJ;;;;;;","names":[],"sources":["src/components/countdown-timer/countdown-timer.tsx","src/components/button/crm-button.css?tag=crm-button","src/components/button/index.tsx"],"sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'countdown-timer',\r\n})\r\nexport class CountdownTimer {\r\n\r\n @Prop() downtime: () => void;\r\n @Prop() dataCriacao: string;\r\n @Prop() minutos: number = 6;\r\n @Prop() segundos: number = 60;\r\n\r\n @State() tempoRestante: number; // em milissegundos\r\n\r\n private intervalId: any;\r\n\r\n componentWillLoad() {\r\n const tempoTotal = this.minutos * this.segundos * 1000;\r\n const data = new Date(this.dataCriacao);\r\n const agora = new Date();\r\n const tempoPassado = agora.getTime() - data.getTime();\r\n\r\n if (tempoPassado >= tempoTotal) {\r\n this.tempoRestante = 0;\r\n this.onTempoEsgotado();\r\n } else {\r\n this.tempoRestante = tempoTotal - tempoPassado;\r\n this.startCountdown();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n startCountdown() {\r\n this.intervalId = setInterval(() => {\r\n this.tempoRestante -= 1000;\r\n if (this.tempoRestante <= 0) {\r\n this.tempoRestante = 0;\r\n clearInterval(this.intervalId);\r\n this.onTempoEsgotado();\r\n }\r\n }, 1000);\r\n }\r\n\r\n onTempoEsgotado() {\r\n console.log('Tempo esgotado! Executando ação...');\r\n this.downtime()\r\n }\r\n\r\n render() {\r\n const minutos = Math.floor(this.tempoRestante / 60000);\r\n const segundos = Math.floor((this.tempoRestante % 60000) / 1000);\r\n const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;\r\n\r\n return (\r\n <label> {tempoFormatado}</label>\r\n );\r\n }\r\n}\r\n","input, button {\r\n margin: 0;\r\n padding: 10px; /* Ajuste o valor conforme necessário */\r\n}\r\n\r\n.crm-contaner-button {\r\n height: auto;\r\n width: auto;\r\n}\r\n\r\n.crm-button {\r\n height: 48px;\r\n width: 100%;\r\n border: 1px solid #000;\r\n padding: 14px 20px;\r\n background-color: #000;\r\n color: #fff;\r\n /* font-size: 14px; */\r\n line-height: 20px;\r\n font-weight: 500;\r\n cursor: pointer;\r\n}","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'crm-button',\r\n styleUrl: 'crm-button.css'\r\n})\r\nexport class Button {\r\n\r\n @Prop() txtBtn: string;\r\n @Prop() loading: boolean;\r\n\r\n @Prop() handleClick: () => void;\r\n\r\n render() {\r\n return (\r\n <div class=\"crm-contaner-button\">\r\n <button class=\"crm-button\" onClick={() => this.handleClick()}>\r\n {\r\n !this.loading ? this.txtBtn : <loading-spinner size=\"15px\" color=\"#fff\" />\r\n }\r\n </button>\r\n </div>\r\n )\r\n }\r\n}"],"version":3}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-bdb70d5a.js';
|
2
|
-
import { C as CrmBonusService } from './crmbonus.service-
|
2
|
+
import { C as CrmBonusService } from './crmbonus.service-652502f6.js';
|
3
3
|
import { S as StepFormEnum } from './index-dc3ebdf0.js';
|
4
4
|
|
5
5
|
const crmBonusFormCss = ".form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}.disabled{opacity:0.6;cursor:not-allowed}.message-error{color:#d11111;font-weight:bold;margin-left:16px}";
|
@@ -89,7 +89,7 @@ const CrmBonusForm = class {
|
|
89
89
|
this.cancel();
|
90
90
|
}
|
91
91
|
render() {
|
92
|
-
return (h(Host, { key: '
|
92
|
+
return (h(Host, { key: '6cc4f52efdbcb77d480c9e85fcd0b0c10f0598a7' }, this.step == StepFormEnum.STEP_NAME && h("name-input", { key: '2c9bc7d4af5536f929b9a9a50caff90a43e19959', loading: this.loadingModal, value: this.customer.name, applyName: (name) => this.handleCustomerName(name) }), this.step === StepFormEnum.STEP_PIN && h("giftback-pin", { key: 'e2fe1b7afba602d4a8106fb331c55cb82eafe82a', cancel: () => this.handleCancel(), sent: this.sent, validate: (data) => this.validateBonus(data), loading: this.loading }), this.step === StepFormEnum.STEP_RESERVE && h("giftback-progress", { key: '7ff0c00d64909713715f735f1c803b093055badc', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === StepFormEnum.STEP_APPLY && h("giftback-finish", { key: '30458626eb3d32b0ab9fca3d1e09c72983560b0b' }), h("p", { key: '0fdd0de0a48433ba39ec07f5f8735e947231a178', class: "message-error" }, this.message)));
|
93
93
|
}
|
94
94
|
};
|
95
95
|
CrmBonusForm.style = CrmBonusFormStyle0;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"crm-bonus-form.entry.js","mappings":"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","names":[],"sources":["src/components/_crm-bonus-form/crm-bonus-form.css?tag=crm-bonus-form&encapsulation=shadow","src/components/_crm-bonus-form/crm-bonus-form.tsx"],"sourcesContent":[".form-container {\n width: 100%;\n display: flex;\n justify-content: center;\n justify-content: space-around;\n}\n\n.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.message-error {\n color: #d11111;\n font-weight: bold;\n /* font-size: small; */\n margin-left: 16px;\n}","import { Component, Host, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent';\n\n@Component({\n tag: 'crm-bonus-form',\n styleUrl: 'crm-bonus-form.css',\n shadow: true\n})\nexport class CrmBonusForm {\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer = {\n phone: \"\",\n birthDate: \"\",\n document: \"\",\n name: \"\"\n };\n @Prop() sent: IPinSent;\n @Prop() stepNext: StepFormEnum;\n @Prop() phone: number;\n @Prop() loadingModal: boolean;\n\n @Prop() saveStore: (amount: number) => void;\n\n @Prop() cancel: () => void;\n\n @Prop() handleCustomerName: (name: string) => void;\n\n @State() loading: boolean = false;\n\n @State() step: number = StepFormEnum.STEP_NAME;\n\n @State() message: string;\n\n @State() bonus: IBonus;\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n public async validateBonus(pin: string) {\n this.loading = true;\n this.message = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: parseInt(this.phone.toString()),\n storeId: this.sent.storeId.toString(),\n userId: this.sent.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: null,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n this.step = StepFormEnum.STEP_RESERVE;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n\n this.step = StepFormEnum.STEP_APPLY;\n\n this.saveStore(amount);\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserve(amount: number) {\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n public handleCancel() {\n this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n render() {\n return (\n <Host>\n {/* {this.step === StepFormEnum.STEP_PHONE && <phone-input value={this.customer.phone} sendPin={(phone) => this.sendPin(phone)} loading={this.loading} />} */}\n \n {this.step == StepFormEnum.STEP_NAME && <name-input loading={this.loadingModal} value={this.customer.name} applyName={(name) => this.handleCustomerName(name)} />}\n {this.step === StepFormEnum.STEP_PIN && <giftback-pin cancel={() => this.handleCancel()} sent={this.sent} validate={(data) => this.validateBonus(data)} loading={this.loading} />}\n\n {this.step === StepFormEnum.STEP_RESERVE && <giftback-progress loading={this.loading} cancel={() => this.handleCancel()} bonus={this.bonus} reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)} />}\n {this.step === StepFormEnum.STEP_APPLY && <giftback-finish />}\n <p class=\"message-error\">{this.message}</p>\n </Host>\n )\n }\n}"],"version":3}
|
1
|
+
{"file":"crm-bonus-form.entry.js","mappings":"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","names":[],"sources":["src/components/_crm-bonus-form/crm-bonus-form.css?tag=crm-bonus-form&encapsulation=shadow","src/components/_crm-bonus-form/crm-bonus-form.tsx"],"sourcesContent":[".form-container {\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n justify-content: space-around;\r\n}\r\n\r\n.disabled {\r\n opacity: 0.6;\r\n cursor: not-allowed;\r\n}\r\n\r\n.message-error {\r\n color: #d11111;\r\n font-weight: bold;\r\n /* font-size: small; */\r\n margin-left: 16px;\r\n}","import { Component, Host, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent';\r\n\r\n@Component({\r\n tag: 'crm-bonus-form',\r\n styleUrl: 'crm-bonus-form.css',\r\n shadow: true\r\n})\r\nexport class CrmBonusForm {\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 phone: \"\",\r\n birthDate: \"\",\r\n document: \"\",\r\n name: \"\"\r\n };\r\n @Prop() sent: IPinSent;\r\n @Prop() stepNext: StepFormEnum;\r\n @Prop() phone: number;\r\n @Prop() loadingModal: boolean;\r\n\r\n @Prop() saveStore: (amount: number) => void;\r\n\r\n @Prop() cancel: () => void;\r\n\r\n @Prop() handleCustomerName: (name: string) => void;\r\n\r\n @State() loading: boolean = false;\r\n\r\n @State() step: number = StepFormEnum.STEP_NAME;\r\n\r\n @State() message: string;\r\n\r\n @State() bonus: IBonus;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n this.loading = true;\r\n this.message = \"\";\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: parseInt(this.phone.toString()),\r\n storeId: this.sent.storeId.toString(),\r\n userId: this.sent.userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: null,\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 this.step = StepFormEnum.STEP_RESERVE;\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n\r\n this.step = StepFormEnum.STEP_APPLY;\r\n\r\n this.saveStore(amount);\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserve(amount: number) {\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 public handleCancel() {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n {/* {this.step === StepFormEnum.STEP_PHONE && <phone-input value={this.customer.phone} sendPin={(phone) => this.sendPin(phone)} loading={this.loading} />} */}\r\n \r\n {this.step == StepFormEnum.STEP_NAME && <name-input loading={this.loadingModal} value={this.customer.name} applyName={(name) => this.handleCustomerName(name)} />}\r\n {this.step === StepFormEnum.STEP_PIN && <giftback-pin cancel={() => this.handleCancel()} sent={this.sent} validate={(data) => this.validateBonus(data)} loading={this.loading} />}\r\n\r\n {this.step === StepFormEnum.STEP_RESERVE && <giftback-progress loading={this.loading} cancel={() => this.handleCancel()} bonus={this.bonus} reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)} />}\r\n {this.step === StepFormEnum.STEP_APPLY && <giftback-finish />}\r\n <p class=\"message-error\">{this.message}</p>\r\n </Host>\r\n )\r\n }\r\n}"],"version":3}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import { r as registerInstance, h } from './index-bdb70d5a.js';
|
2
2
|
import { g as getInfoCustomization } from './info.config.helper-7cad7a9c.js';
|
3
|
-
import { g as getKeyReserveByCartId } from './crmbonus.service-
|
3
|
+
import { C as CrmBonusService, g as getKeyReserveByCartId } from './crmbonus.service-652502f6.js';
|
4
4
|
import { i as instance } from './i18n-b9d8b0cc.js';
|
5
|
-
import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './cart.helper-
|
5
|
+
import { C as CartWake, g as getCart, a as getInfoBonusByCartIdAndStoreName } from './cart.helper-107db11e.js';
|
6
6
|
import { d as defaultStyles } from './index-dc3ebdf0.js';
|
7
|
+
import { b as buildProductsByWake } from './build.payload.helper-96f9c8b8.js';
|
7
8
|
|
8
|
-
const moneyDollarsSvgrepoComSvg = 'data:image/svg+xml;base64,
|
9
|
+
const moneyDollarsSvgrepoComSvg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMiIvPg0KPHBhdGggZD0iTTE1IDkuOTQ3MjhDMTQuNSA5LjMgMTMuOCA4LjUgMTIgOC41QzEwLjIgOC41IDkgOS41MTM5MyA5IDkuOTQ3MjhDOSAxMC4zODA2IDkuMDY3ODYgMTAuOTI3NyAxMCAxMS41QzEwLjc1MjIgMTEuOTYxOCAxMi42Njg0IDEyLjA0MzkgMTMuNSAxMi41QzE0LjY3OSAxMy4xNDY3IDE0Ljg0OTcgMTMuODIwMiAxNC44NDk3IDE0LjA1MjJDMTQuODQ5NyAxNC42ODM3IDEzLjQxNzUgMTUuNDg1MiAxMiAxNS41QzEwLjUzNiAxNS41MTUzIDkuNSAxNC43IDkgMTQuMDUyMiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPHBhdGggZD0iTTEyIDdWMTciIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPg0KPC9zdmc+';
|
9
10
|
|
10
11
|
function setTime() {
|
11
12
|
if (localStorage.getItem("bc:time-allow")) {
|
@@ -19,12 +20,13 @@ function setTime() {
|
|
19
20
|
}
|
20
21
|
}
|
21
22
|
|
22
|
-
const crmBonusNoteCss = ".note-container {\n border: 1px solid #dddddd;\n padding: 0 15px 15px;\n margin: 0 0 26px 0px;\n display: flex;\n flex-direction: column;\n gap: 13px;\n\n\n & .description {\n display: flex;\n flex-direction: column;\n gap: 13px;\n }\n}\n\n.note-container hr {\n border: 1px solid #CCC;\n}\n\n.note-container .back-cart {\n display: flex;\n text-align: center;\n}\n\n.note-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n\n.note-title {\n font-weight: 700;\n text-align: left;\n display: flex;\n gap: 6px;\n align-items: center;\n margin-top: 11px;\n color: #000;\n}\n\n.note-description {\n color: #6d6d5f;\n padding: 0;\n margin: 0 auto;\n}\n\n.back-cart {\n /* font-size: .9em; */\n color: #27272A;\n text-decoration: none;\n cursor: pointer;\n margin-top: 11px;\n}\n\n.note-description-2 {\n color: var(--crm-scheme-fg-main-inverse, #262626);\n /* font-size: var(--crm-font-size-body-lg, 16px); */\n font-style: normal;\n font-weight: var(--crm-font-weight-body-bold, 400);\n line-height: var(--crm-line-height-body-md, 20px);\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\n margin-top: 11px;\n color: #000;\n}\n\n.note-description-not {\n /* font-size: 16px; */\n}";
|
23
|
+
const crmBonusNoteCss = ".note-container {\r\n border: 1px solid #dddddd;\r\n padding: 0 15px 15px;\r\n margin: 0 0 26px 0px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 13px;\r\n\r\n\r\n & .description {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 13px;\r\n }\r\n}\r\n\r\n.note-container hr {\r\n border: 1px solid #CCC;\r\n}\r\n\r\n.note-container .back-cart {\r\n display: flex;\r\n text-align: center;\r\n}\r\n\r\n.note-header {\r\n display: flex;\r\n align-items: baseline;\r\n justify-content: space-between;\r\n}\r\n\r\n.note-title {\r\n font-weight: 700;\r\n text-align: left;\r\n display: flex;\r\n gap: 6px;\r\n align-items: center;\r\n margin-top: 11px;\r\n color: #000;\r\n}\r\n\r\n.note-description {\r\n color: #6d6d5f;\r\n padding: 0;\r\n margin: 0 auto;\r\n}\r\n\r\n.back-cart {\r\n /* font-size: .9em; */\r\n color: #27272A;\r\n text-decoration: none;\r\n cursor: pointer;\r\n margin-top: 11px;\r\n}\r\n\r\n.note-description-2 {\r\n color: var(--crm-scheme-fg-main-inverse, #262626);\r\n /* font-size: var(--crm-font-size-body-lg, 16px); */\r\n font-style: normal;\r\n font-weight: var(--crm-font-weight-body-bold, 400);\r\n line-height: var(--crm-line-height-body-md, 20px);\r\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\r\n margin-top: 11px;\r\n color: #000;\r\n}\r\n\r\n.note-description-not {\r\n /* font-size: 16px; */\r\n}";
|
23
24
|
const CrmBonusNoteStyle0 = crmBonusNoteCss;
|
24
25
|
|
25
26
|
const CrmBonusNote = class {
|
26
27
|
constructor(hostRef) {
|
27
28
|
registerInstance(this, hostRef);
|
29
|
+
this.crmBonusService = CrmBonusService.getInstance();
|
28
30
|
this.cart = undefined;
|
29
31
|
this.cartWake = undefined;
|
30
32
|
this.url = undefined;
|
@@ -32,13 +34,16 @@ const CrmBonusNote = class {
|
|
32
34
|
this.bonus = undefined;
|
33
35
|
this.showEdit = false;
|
34
36
|
this.styles = defaultStyles;
|
37
|
+
this.infoBonus = undefined;
|
38
|
+
this.loading = false;
|
35
39
|
this.info = undefined;
|
36
40
|
}
|
37
41
|
async componentWillLoad() {
|
42
|
+
console.log("[CRM-BONUS-NOTE] componentWillLoad");
|
38
43
|
await this.upadateCheckToFreteAndGetUrl();
|
39
44
|
}
|
40
45
|
async upadateCheckToFreteAndGetUrl() {
|
41
|
-
var _a, _b;
|
46
|
+
var _a, _b, _c;
|
42
47
|
this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();
|
43
48
|
const key = getKeyReserveByCartId(this.cartWake.id);
|
44
49
|
try {
|
@@ -55,6 +60,11 @@ const CrmBonusNote = class {
|
|
55
60
|
if ((_a = info === null || info === void 0 ? void 0 : info.metadata) === null || _a === void 0 ? void 0 : _a.url) {
|
56
61
|
this.url = (_b = info === null || info === void 0 ? void 0 : info.metadata) === null || _b === void 0 ? void 0 : _b.url;
|
57
62
|
}
|
63
|
+
this.infoBonus = {
|
64
|
+
storeId: info === null || info === void 0 ? void 0 : info.metadata.storeId,
|
65
|
+
userId: info === null || info === void 0 ? void 0 : info.metadata.userId,
|
66
|
+
cellphone: (_c = info === null || info === void 0 ? void 0 : info.metadata) === null || _c === void 0 ? void 0 : _c.cellphone,
|
67
|
+
};
|
58
68
|
console.log('info', info);
|
59
69
|
this.info = info;
|
60
70
|
}
|
@@ -71,6 +81,33 @@ const CrmBonusNote = class {
|
|
71
81
|
envio.checked = false;
|
72
82
|
});
|
73
83
|
}
|
84
|
+
async processBonus() {
|
85
|
+
var _a, _b;
|
86
|
+
this.loading = true;
|
87
|
+
try {
|
88
|
+
const cart = await getCart();
|
89
|
+
console.log('[cart-note]', cart);
|
90
|
+
const products = buildProductsByWake(cart.products);
|
91
|
+
const payload = {
|
92
|
+
pin: "2018",
|
93
|
+
cellphone: this.infoBonus.cellphone,
|
94
|
+
storeId: (_a = this.infoBonus) === null || _a === void 0 ? void 0 : _a.storeId.toString(),
|
95
|
+
userId: (_b = this.infoBonus) === null || _b === void 0 ? void 0 : _b.userId.toString(),
|
96
|
+
checkoutId: this.cartWake.id,
|
97
|
+
checkoutProducts: products,
|
98
|
+
name: "",
|
99
|
+
storeName: this.cartWake.store.name
|
100
|
+
};
|
101
|
+
this.bonus = await this.crmBonusService.validatePinBonus(payload);
|
102
|
+
}
|
103
|
+
catch (error) {
|
104
|
+
console.error('Error processing bonus:', error);
|
105
|
+
}
|
106
|
+
finally {
|
107
|
+
this.loading = false;
|
108
|
+
await this.upadateCheckToFreteAndGetUrl();
|
109
|
+
}
|
110
|
+
}
|
74
111
|
handleHide() {
|
75
112
|
const amount = localStorage.getItem(this.cartWake.id);
|
76
113
|
return !!amount;
|
@@ -88,12 +125,6 @@ const CrmBonusNote = class {
|
|
88
125
|
}
|
89
126
|
setTime();
|
90
127
|
}
|
91
|
-
buildTime() {
|
92
|
-
var _a, _b, _c, _d;
|
93
|
-
if (!((_b = (_a = this.info) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.createdAt))
|
94
|
-
return "";
|
95
|
-
return new Date((_d = (_c = this.info) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.createdAt).toString();
|
96
|
-
}
|
97
128
|
hasBonus() {
|
98
129
|
const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));
|
99
130
|
const info = {
|
@@ -115,10 +146,28 @@ const CrmBonusNote = class {
|
|
115
146
|
var _a;
|
116
147
|
const giftbackname = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.giftbackTitle) || "Giftback";
|
117
148
|
const infobonus = this.hasBonus();
|
118
|
-
|
119
|
-
|
120
|
-
(
|
121
|
-
|
149
|
+
const inputContaCorrenteNo = document.getElementById('btn-contaCorrente-nao');
|
150
|
+
if (inputContaCorrenteNo) {
|
151
|
+
inputContaCorrenteNo.addEventListener('change', async () => {
|
152
|
+
console.log('O rádio foi selecionado! NÃO');
|
153
|
+
setTimeout(async () => {
|
154
|
+
await this.processBonus();
|
155
|
+
}, 4000);
|
156
|
+
});
|
157
|
+
}
|
158
|
+
const inputContaCorrenteYes = document.getElementById('btn-contaCorrente-sim');
|
159
|
+
if (inputContaCorrenteYes) {
|
160
|
+
inputContaCorrenteYes.addEventListener('change', async () => {
|
161
|
+
console.log('O rádio foi selecionado! SIM');
|
162
|
+
setTimeout(async () => {
|
163
|
+
await this.processBonus();
|
164
|
+
}, 4000);
|
165
|
+
});
|
166
|
+
}
|
167
|
+
return (h("loading-container", { key: '4a1ae1a0024c591abd8d281bdf98064147a791ae', loading: this.loading }, h("div", { key: '8119bf347d8677c1794b13913b1e3fadc7a3d373', class: "note-container", style: this.styles }, h("div", { key: '0d1b2fedc01da88d5ab768cdafeb2474dc60cda0', class: "note-header" }, h("p", { key: '1a1e6c741d5ca9272afbb0fc6bf94fd291029e48', class: "note-title" }, h("img", { key: '0c957b65dce439ea0e4eb58bffe8b4da0c7e11e2', src: moneyDollarsSvgrepoComSvg, width: 23 }), this.config.giftbackTitle), infobonus.hasBonus && (h("div", { key: '128028e06b2fd8fd8eaddf71ebd449458ffed35e' }, this.showEdit && (h("p", { key: '8dba62a02ff00c5d545a225e855728ae61dffa57', class: "back-cart", onClick: () => this.backCart() }, instance.t("edit")))))), infobonus.hasBonus &&
|
168
|
+
(h("p", { key: 'e5c5aff658ebb4557b9ae9755ae13e887857ed96', class: "note-description-2" }, instance.t("withApplyBonus", { giftbackname: giftbackname }), " ", h("strong", { key: '98006717e11f5ecd88ac0048dadcb1979ae89c45' }, "R$ ", this.getAmount(), "."))), (infobonus.requestBonus && !infobonus.hasBonus) &&
|
169
|
+
(h("p", { key: '728e9abb6dedb522d28b09db64f55a22cdc50fa3', class: "note-description-not" }, instance.t("noBonus", { giftbackname: giftbackname }))), !infobonus.requestBonus &&
|
170
|
+
(h("div", { key: '7854623248ed56cac9022d4897b6c526f7f6a49a', class: "description" }, h("p", { key: '43cb9fc68afb764d1f702d57a096426438a2f671', class: "note-description-not" }, instance.t("noBonus", { giftbackname: giftbackname })))))));
|
122
171
|
}
|
123
172
|
};
|
124
173
|
CrmBonusNote.style = CrmBonusNoteStyle0;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"crm-bonus-note.entry.js","mappings":"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","names":["money","i18next"],"sources":["src/assets/svg/money-dollars-svgrepo-com.svg","src/helpers/time.helper.ts","src/components/note/crm-bonus-note.css?tag=crm-bonus-note","src/components/note/crm-bonus-note.tsx"],"sourcesContent":["<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->\n<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#000000\" stroke-width=\"2\"/>\n<path d=\"M15 9.94728C14.5 9.3 13.8 8.5 12 8.5C10.2 8.5 9 9.51393 9 9.94728C9 10.3806 9.06786 10.9277 10 11.5C10.7522 11.9618 12.6684 12.0439 13.5 12.5C14.679 13.1467 14.8497 13.8202 14.8497 14.0522C14.8497 14.6837 13.4175 15.4852 12 15.5C10.536 15.5153 9.5 14.7 9 14.0522\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 7V17\" stroke=\"#000000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>","export function setTime() {\n\n if(localStorage.getItem(\"bc:time-allow\")) {\n return\n }\n\n const time = localStorage.getItem(\"bc:time\");\n\n if(!time) {\n localStorage.setItem(\"bc:time\", \"360\");\n localStorage.setItem(\"bc:time-allow\", \"true\");\n return\n } \n}",".note-container {\n border: 1px solid #dddddd;\n padding: 0 15px 15px;\n margin: 0 0 26px 0px;\n display: flex;\n flex-direction: column;\n gap: 13px;\n\n\n & .description {\n display: flex;\n flex-direction: column;\n gap: 13px;\n }\n}\n\n.note-container hr {\n border: 1px solid #CCC;\n}\n\n.note-container .back-cart {\n display: flex;\n text-align: center;\n}\n\n.note-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n\n.note-title {\n font-weight: 700;\n text-align: left;\n display: flex;\n gap: 6px;\n align-items: center;\n margin-top: 11px;\n color: #000;\n}\n\n.note-description {\n color: #6d6d5f;\n padding: 0;\n margin: 0 auto;\n}\n\n.back-cart {\n /* font-size: .9em; */\n color: #27272A;\n text-decoration: none;\n cursor: pointer;\n margin-top: 11px;\n}\n\n.note-description-2 {\n color: var(--crm-scheme-fg-main-inverse, #262626);\n /* font-size: var(--crm-font-size-body-lg, 16px); */\n font-style: normal;\n font-weight: var(--crm-font-weight-body-bold, 400);\n line-height: var(--crm-line-height-body-md, 20px);\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\n margin-top: 11px;\n color: #000;\n}\n\n.note-description-not {\n /* font-size: 16px; */\n}","import { Component, Prop, State, h } from \"@stencil/core\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport money from '../../assets/svg/money-dollars-svgrepo-com.svg'\nimport { getKeyReserveByCartId } from \"../../utils/keys.storage\";\nimport i18next from \"../../i18n/i18n\"\nimport { IBonus, ReservedInfoDTO } from \"../../components\";\nimport { setTime } from \"../../helpers/time.helper\";\nimport { CartWake } from \"../../objectvalues/cart.wake\";\nimport { getCart, getInfoBonusByCartIdAndStoreName } from \"../../helpers/cart.helper\";\nimport { defaultStyles } from \"../../contants\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop() cart;\n\n @State() cartWake: CartWake;\n @State() url: string;\n @State() config: IInfoStore;\n @State() bonus: IBonus;\n @State() showEdit: boolean = false;\n\n @State() styles = defaultStyles;\n @State() info: ReservedInfoDTO;\n\n async componentWillLoad() {\n await this.upadateCheckToFreteAndGetUrl();\n }\n\n async upadateCheckToFreteAndGetUrl() {\n\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\n\n const key = getKeyReserveByCartId(this.cartWake.id);\n try {\n const info = await getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name);\n\n if (info.bonusBalance) {\n localStorage.setItem(this.cartWake.id, info.bonusBalance);\n localStorage.setItem(key, JSON.stringify({\n hasBonus: true,\n }));\n }\n\n if (info.isBonusProcessed) {\n this.startTime();\n }\n\n if(info?.metadata?.url) {\n this.url = info?.metadata?.url;\n }\n\n console.log('info', info);\n\n this.info = info;\n } catch (error) {\n localStorage.removeItem(key);\n localStorage.removeItem(this.cartWake.id);\n }\n\n this.config = getInfoCustomization(this.cartWake.store.name);\n\n if (this.config.keepStoreFrontStyle) {\n this.styles = null;\n }\n\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartWake.id);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartWake.id);\n\n return amount ? Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\" : \"0,00\";\n }\n\n async backCart() {\n window.location.href = this.url;\n }\n\n\n private startTime() {\n\n if (!localStorage.getItem(\"bc:time-allow\")) {\n localStorage.removeItem(\"bc:time\")\n }\n\n setTime();\n }\n\n private buildTime() {\n if(!this.info?.metadata?.createdAt)\n return \"\";\n\n return new Date(this.info?.metadata?.createdAt).toString();\n }\n\n\n hasBonus() {\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));\n\n const info = {\n hasBonus: false,\n requestBonus: false\n }\n\n if (_bonus) {\n this.bonus = JSON.parse(_bonus);\n info.hasBonus = this.bonus.hasBonus;\n info.requestBonus = true;\n }\n\n return info;\n }\n\n getTime() {\n const time = localStorage.getItem(\"bc:time\")\n\n return time ? Number(time) : 0;\n }\n\n render() {\n\n const giftbackname = this.config?.giftbackTitle || \"Giftback\";\n\n const infobonus = this.hasBonus()\n\n return (\n <div>\n <div class=\"note-container\" style={this.styles}>\n <div class=\"note-header\">\n\n <p class=\"note-title\">\n <img src={money} width={23} />\n {this.config.giftbackTitle}\n </p>\n {\n infobonus.hasBonus && (\n <div>\n {this.showEdit && (\n <p class=\"back-cart\" onClick={() => this.backCart()}>\n {i18next.t(\"edit\")}\n </p>\n )}\n {!this.showEdit && <countdown-timer dataCriacao={this.buildTime()} downtime={() => { this.showEdit = true }} />}\n </div>\n )\n }\n </div>\n\n {\n infobonus.hasBonus &&\n (\n <p class=\"note-description-2\">\n {i18next.t(\"withApplyBonus\", { giftbackname: giftbackname })} <strong>R$ {this.getAmount()}.</strong>\n </p>\n )\n }\n\n {\n (infobonus.requestBonus && !infobonus.hasBonus) &&\n (\n <p class=\"note-description-not\">\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n )\n }\n\n {\n !infobonus.requestBonus &&\n (\n <div class=\"description\">\n <p class=\"note-description-not\">\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n </div>\n )\n }\n </div>\n </div>\n )\n }\n}"],"version":3}
|
1
|
+
{"file":"crm-bonus-note.entry.js","mappings":"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","names":["money","i18next"],"sources":["src/assets/svg/money-dollars-svgrepo-com.svg","src/helpers/time.helper.ts","src/components/note/crm-bonus-note.css?tag=crm-bonus-note","src/components/note/crm-bonus-note.tsx"],"sourcesContent":["<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->\r\n<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#000000\" stroke-width=\"2\"/>\r\n<path d=\"M15 9.94728C14.5 9.3 13.8 8.5 12 8.5C10.2 8.5 9 9.51393 9 9.94728C9 10.3806 9.06786 10.9277 10 11.5C10.7522 11.9618 12.6684 12.0439 13.5 12.5C14.679 13.1467 14.8497 13.8202 14.8497 14.0522C14.8497 14.6837 13.4175 15.4852 12 15.5C10.536 15.5153 9.5 14.7 9 14.0522\" stroke=\"#000000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M12 7V17\" stroke=\"#000000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>","export function setTime() {\r\n\r\n if(localStorage.getItem(\"bc:time-allow\")) {\r\n return\r\n }\r\n\r\n const time = localStorage.getItem(\"bc:time\");\r\n\r\n if(!time) {\r\n localStorage.setItem(\"bc:time\", \"360\");\r\n localStorage.setItem(\"bc:time-allow\", \"true\");\r\n return\r\n } \r\n}",".note-container {\r\n border: 1px solid #dddddd;\r\n padding: 0 15px 15px;\r\n margin: 0 0 26px 0px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 13px;\r\n\r\n\r\n & .description {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 13px;\r\n }\r\n}\r\n\r\n.note-container hr {\r\n border: 1px solid #CCC;\r\n}\r\n\r\n.note-container .back-cart {\r\n display: flex;\r\n text-align: center;\r\n}\r\n\r\n.note-header {\r\n display: flex;\r\n align-items: baseline;\r\n justify-content: space-between;\r\n}\r\n\r\n.note-title {\r\n font-weight: 700;\r\n text-align: left;\r\n display: flex;\r\n gap: 6px;\r\n align-items: center;\r\n margin-top: 11px;\r\n color: #000;\r\n}\r\n\r\n.note-description {\r\n color: #6d6d5f;\r\n padding: 0;\r\n margin: 0 auto;\r\n}\r\n\r\n.back-cart {\r\n /* font-size: .9em; */\r\n color: #27272A;\r\n text-decoration: none;\r\n cursor: pointer;\r\n margin-top: 11px;\r\n}\r\n\r\n.note-description-2 {\r\n color: var(--crm-scheme-fg-main-inverse, #262626);\r\n /* font-size: var(--crm-font-size-body-lg, 16px); */\r\n font-style: normal;\r\n font-weight: var(--crm-font-weight-body-bold, 400);\r\n line-height: var(--crm-line-height-body-md, 20px);\r\n letter-spacing: var(--crm-letter-spacing-title-md, 0px);\r\n margin-top: 11px;\r\n color: #000;\r\n}\r\n\r\n.note-description-not {\r\n /* font-size: 16px; */\r\n}","import { Component, Prop, State, h } from \"@stencil/core\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport money from '../../assets/svg/money-dollars-svgrepo-com.svg'\r\nimport { getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { IBonus, ReservedInfoDTO } from \"../../components\";\r\nimport { setTime } from \"../../helpers/time.helper\";\r\nimport { CartWake } from \"../../objectvalues/cart.wake\";\r\nimport { getCart, getInfoBonusByCartIdAndStoreName } from \"../../helpers/cart.helper\";\r\nimport { defaultStyles } from \"../../contants\";\r\nimport { IProccesPinBonusDto } from \"../../dto/validate.pin.bonus\";\r\nimport { buildProductsByWake } from \"../../helpers/build.payload.helper\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\n\r\n@Component({\r\n tag: 'crm-bonus-note',\r\n styleUrl: 'crm-bonus-note.css'\r\n})\r\nexport class CrmBonusNote {\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop() cart;\r\n\r\n @State() cartWake: CartWake;\r\n @State() url: string;\r\n @State() config: IInfoStore;\r\n @State() bonus: IBonus;\r\n @State() showEdit: boolean = false;\r\n\r\n @State() styles = defaultStyles;\r\n @State() infoBonus: {\r\n storeId: string,\r\n userId: string,\r\n cellphone: number\r\n }\r\n\r\n @State() loading: boolean = false;\r\n @State() info: ReservedInfoDTO;\r\n\r\n async componentWillLoad() {\r\n console.log(\"[CRM-BONUS-NOTE] componentWillLoad\");\r\n await this.upadateCheckToFreteAndGetUrl();\r\n }\r\n\r\n async upadateCheckToFreteAndGetUrl() {\r\n\r\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\r\n\r\n const key = getKeyReserveByCartId(this.cartWake.id);\r\n try {\r\n const info = await getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name);\r\n\r\n if (info.bonusBalance) {\r\n localStorage.setItem(this.cartWake.id, info.bonusBalance);\r\n localStorage.setItem(key, JSON.stringify({\r\n hasBonus: true,\r\n }));\r\n }\r\n\r\n if (info.isBonusProcessed) {\r\n this.startTime();\r\n }\r\n\r\n if (info?.metadata?.url) {\r\n this.url = info?.metadata?.url;\r\n }\r\n\r\n this.infoBonus = {\r\n storeId: info?.metadata.storeId,\r\n userId: info?.metadata.userId,\r\n cellphone: info?.metadata?.cellphone,\r\n }\r\n\r\n console.log('info', info);\r\n\r\n this.info = info;\r\n } catch (error) {\r\n localStorage.removeItem(key);\r\n localStorage.removeItem(this.cartWake.id);\r\n }\r\n\r\n this.config = getInfoCustomization(this.cartWake.store.name);\r\n\r\n if (this.config.keepStoreFrontStyle) {\r\n this.styles = null;\r\n }\r\n\r\n const envios = document.getElementsByName('forma-envio');\r\n envios.forEach((envio: any) => {\r\n envio.checked = false;\r\n });\r\n\r\n }\r\n\r\n async processBonus() {\r\n this.loading = true;\r\n try {\r\n const cart = await getCart();\r\n\r\n console.log('[cart-note]', cart);\r\n\r\n const products = buildProductsByWake(cart.products);\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: \"2018\",\r\n cellphone: this.infoBonus.cellphone,\r\n storeId: this.infoBonus?.storeId.toString(),\r\n userId: this.infoBonus?.userId.toString(),\r\n checkoutId: this.cartWake.id,\r\n checkoutProducts: products,\r\n name: \"\",\r\n storeName: this.cartWake.store.name\r\n }\r\n\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n } catch (error) {\r\n console.error('Error processing bonus:', error);\r\n } finally {\r\n this.loading = false;\r\n\r\n await this.upadateCheckToFreteAndGetUrl();\r\n }\r\n\r\n }\r\n\r\n handleHide() {\r\n const amount = localStorage.getItem(this.cartWake.id);\r\n return !!amount;\r\n }\r\n\r\n getAmount() {\r\n const amount = localStorage.getItem(this.cartWake.id);\r\n\r\n return amount ? Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\" : \"0,00\";\r\n }\r\n\r\n async backCart() {\r\n window.location.href = this.url;\r\n }\r\n\r\n\r\n private startTime() {\r\n\r\n if (!localStorage.getItem(\"bc:time-allow\")) {\r\n localStorage.removeItem(\"bc:time\")\r\n }\r\n\r\n setTime();\r\n }\r\n\r\n hasBonus() {\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartWake.id));\r\n\r\n const info = {\r\n hasBonus: false,\r\n requestBonus: false\r\n }\r\n\r\n if (_bonus) {\r\n this.bonus = JSON.parse(_bonus);\r\n info.hasBonus = this.bonus.hasBonus;\r\n info.requestBonus = true;\r\n }\r\n\r\n return info;\r\n }\r\n\r\n getTime() {\r\n const time = localStorage.getItem(\"bc:time\")\r\n\r\n return time ? Number(time) : 0;\r\n }\r\n\r\n render() {\r\n\r\n const giftbackname = this.config?.giftbackTitle || \"Giftback\";\r\n\r\n const infobonus = this.hasBonus();\r\n\r\n const inputContaCorrenteNo = document.getElementById('btn-contaCorrente-nao');\r\n\r\n if (inputContaCorrenteNo) {\r\n inputContaCorrenteNo.addEventListener('change', async () => {\r\n console.log('O rádio foi selecionado! NÃO');\r\n\r\n setTimeout(async () => {\r\n await this.processBonus();\r\n }, 4000);\r\n });\r\n }\r\n\r\n const inputContaCorrenteYes = document.getElementById('btn-contaCorrente-sim');\r\n\r\n if (inputContaCorrenteYes) {\r\n inputContaCorrenteYes.addEventListener('change', async () => {\r\n console.log('O rádio foi selecionado! SIM');\r\n setTimeout(async () => {\r\n await this.processBonus();\r\n }, 4000);\r\n });\r\n }\r\n\r\n return (\r\n <loading-container loading={this.loading} >\r\n <div class=\"note-container\" style={this.styles}>\r\n <div class=\"note-header\">\r\n\r\n <p class=\"note-title\">\r\n <img src={money} width={23} />\r\n {this.config.giftbackTitle}\r\n </p>\r\n {\r\n infobonus.hasBonus && (\r\n <div>\r\n {this.showEdit && (\r\n <p class=\"back-cart\" onClick={() => this.backCart()}>\r\n {i18next.t(\"edit\")}\r\n </p>\r\n )}\r\n </div>\r\n )\r\n }\r\n </div>\r\n\r\n {\r\n infobonus.hasBonus &&\r\n (\r\n <p class=\"note-description-2\">\r\n {i18next.t(\"withApplyBonus\", { giftbackname: giftbackname })} <strong>R$ {this.getAmount()}.</strong>\r\n </p>\r\n )\r\n }\r\n\r\n {\r\n (infobonus.requestBonus && !infobonus.hasBonus) &&\r\n (\r\n <p class=\"note-description-not\">\r\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\r\n </p>\r\n )\r\n }\r\n\r\n {\r\n !infobonus.requestBonus &&\r\n (\r\n <div class=\"description\">\r\n <p class=\"note-description-not\">\r\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\r\n </p>\r\n </div>\r\n )\r\n }\r\n </div>\r\n </loading-container>\r\n )\r\n }\r\n}"],"version":3}
|
@@ -5,7 +5,7 @@ const crmBonusTray = class {
|
|
5
5
|
registerInstance(this, hostRef);
|
6
6
|
}
|
7
7
|
render() {
|
8
|
-
return (h("div", { key: '
|
8
|
+
return (h("div", { key: 'b6bc65194b83ea61b085410d60680f3e9cb16ca0' }, "COMPONENT BYCODER"));
|
9
9
|
}
|
10
10
|
};
|
11
11
|
|