crmbonus-component-wake 2.0.128 → 2.0.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/app-modal.cjs.entry.js +28 -0
- package/dist/cjs/app-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/cart.helper-d4d8d619.js +77 -0
- package/dist/cjs/cart.helper-d4d8d619.js.map +1 -0
- package/dist/cjs/countdown-timer_2.cjs.entry.js +63 -0
- package/dist/cjs/countdown-timer_2.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-bonus-form.cjs.entry.js +104 -0
- package/dist/cjs/crm-bonus-form.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-bonus-note.cjs.entry.js +101 -0
- package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-bonus.cjs.entry.js +249 -0
- package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -0
- package/dist/cjs/crm-giftback-form_2.cjs.entry.js +253 -0
- package/dist/{crmbonus-component-wake/crm-giftback-form.entry.js.map → cjs/crm-giftback-form_2.cjs.entry.js.map} +1 -1
- package/dist/cjs/crm-tooltip_4.cjs.entry.js +211 -0
- package/dist/cjs/crm-tooltip_4.cjs.entry.js.map +1 -0
- package/dist/cjs/crmbonus-component-wake.cjs.js +27 -0
- package/dist/cjs/crmbonus-component-wake.cjs.js.map +1 -0
- package/dist/cjs/crmbonus.service-9067d00d.js +3877 -0
- package/dist/cjs/crmbonus.service-9067d00d.js.map +1 -0
- package/dist/cjs/giftback-finish_4.cjs.entry.js +131 -0
- package/dist/cjs/giftback-finish_4.cjs.entry.js.map +1 -0
- package/dist/cjs/i18n-f2a6f60e.js +2219 -0
- package/dist/cjs/i18n-f2a6f60e.js.map +1 -0
- package/dist/cjs/index-6054ed44.js +21 -0
- package/dist/cjs/index-6054ed44.js.map +1 -0
- package/dist/cjs/index-d11684bd.js +1599 -0
- package/dist/cjs/index-d11684bd.js.map +1 -0
- package/dist/cjs/index.cjs.js +11 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/info.config.helper-c5d9f781.js +16 -0
- package/dist/cjs/info.config.helper-c5d9f781.js.map +1 -0
- package/dist/cjs/keys.storage-de7744aa.js +17 -0
- package/dist/cjs/keys.storage-de7744aa.js.map +1 -0
- package/dist/cjs/loader.cjs.js +17 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/loading-spinner.cjs.entry.js +24 -0
- package/dist/cjs/loading-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/pedido-finalizado.cjs.entry.js +39 -0
- package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -0
- package/dist/cjs/phone-cancel-input.cjs.entry.js +25 -0
- package/dist/cjs/phone-cancel-input.cjs.entry.js.map +1 -0
- package/dist/cjs/phone-input-mask.cjs.entry.js +61 -0
- package/dist/cjs/phone-input-mask.cjs.entry.js.map +1 -0
- package/dist/cjs/phone-input.cjs.entry.js +25 -0
- package/dist/cjs/phone-input.cjs.entry.js.map +1 -0
- package/dist/cjs/utils-e9413ee3.js +25 -0
- package/dist/cjs/utils-e9413ee3.js.map +1 -0
- package/dist/collection/assets/svg/info-circle-svgrepo-com.svg +6 -0
- package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +6 -0
- package/dist/collection/collection-manifest.json +32 -0
- package/dist/collection/components/button/crm-button.css +22 -0
- package/dist/collection/components/button/index.js +76 -0
- package/dist/collection/components/button/index.js.map +1 -0
- package/dist/collection/components/countdown-timer/countdown-timer.js +81 -0
- package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -0
- package/dist/collection/components/crm-bonus/assets/logo.svg +18 -0
- package/dist/collection/components/crm-bonus/assets/success-svgrepo-com.svg +8 -0
- package/dist/collection/components/crm-bonus/assets/svg/logo.svg +18 -0
- package/dist/collection/components/crm-bonus/assets/svg/success-svgrepo-com.svg +8 -0
- package/dist/collection/components/crm-bonus/crm-bonus.css +84 -0
- package/dist/collection/components/crm-bonus/crm-bonus.js +313 -0
- package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/crm-bonus-form.css +19 -0
- package/dist/collection/components/crm-bonus-form/crm-bonus-form.js +348 -0
- package/dist/collection/components/crm-bonus-form/crm-bonus-form.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.css +10 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js +20 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.css +70 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js +126 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.css +110 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js +127 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.css +108 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.js +110 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js +75 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js.map +1 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js +75 -0
- package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js.map +1 -0
- package/dist/collection/components/giftback-form/giftback-form.css +75 -0
- package/dist/collection/components/giftback-form/giftback-form.js +410 -0
- package/dist/collection/components/giftback-form/giftback-form.js.map +1 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +181 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +221 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js +11 -0
- package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js.map +1 -0
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +103 -0
- package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -0
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +84 -0
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +197 -0
- package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +1 -0
- package/dist/collection/components/loading-container/loading-container.css +47 -0
- package/dist/collection/components/loading-container/loading-container.js +43 -0
- package/dist/collection/components/loading-container/loading-container.js.map +1 -0
- package/dist/collection/components/loading-spinner/loading-spinner.css +17 -0
- package/dist/collection/components/loading-spinner/loading-spinner.js +63 -0
- package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -0
- package/dist/collection/components/modal/app-modal.css +45 -0
- package/dist/collection/components/modal/app-modal.js +83 -0
- package/dist/collection/components/modal/app-modal.js.map +1 -0
- package/dist/collection/components/note/crm-bonus-note.css +71 -0
- package/dist/collection/components/note/crm-bonus-note.js +117 -0
- package/dist/collection/components/note/crm-bonus-note.js.map +1 -0
- package/dist/collection/components/pedido/pedido.js +52 -0
- package/dist/collection/components/pedido/pedido.js.map +1 -0
- package/dist/collection/components/phone/phone-input-mask.css +40 -0
- package/dist/collection/components/phone/phone-input-mask.js +125 -0
- package/dist/collection/components/phone/phone-input-mask.js.map +1 -0
- package/dist/collection/components/tooltip/crm-tooltip.css +49 -0
- package/dist/collection/components/tooltip/tooltip.js +61 -0
- package/dist/collection/components/tooltip/tooltip.js.map +1 -0
- package/dist/collection/contants/index.js +16 -0
- package/dist/collection/contants/index.js.map +1 -0
- package/dist/collection/contants/mocks.js +28 -0
- package/dist/collection/contants/mocks.js.map +1 -0
- package/dist/collection/dto/pin.sent.js +2 -0
- package/dist/collection/dto/pin.sent.js.map +1 -0
- package/dist/collection/dto/update.order.dto.js +2 -0
- package/dist/collection/dto/update.order.dto.js.map +1 -0
- package/dist/collection/dto/validate.pin.bonus.js +5 -0
- package/dist/collection/dto/validate.pin.bonus.js.map +1 -0
- package/dist/collection/helpers/build.payload.helper.js +25 -0
- package/dist/collection/helpers/build.payload.helper.js.map +1 -0
- package/dist/collection/helpers/cart.helper.js +27 -0
- package/dist/collection/helpers/cart.helper.js.map +1 -0
- package/dist/collection/helpers/info.config.helper.js +11 -0
- package/dist/collection/helpers/info.config.helper.js.map +1 -0
- package/dist/collection/helpers/time.helper.js +12 -0
- package/dist/collection/helpers/time.helper.js.map +1 -0
- package/dist/collection/i18n/i18n.js +35 -0
- package/dist/collection/i18n/i18n.js.map +1 -0
- package/dist/collection/index.js +11 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/objectvalues/cart.wake.js +46 -0
- package/dist/collection/objectvalues/cart.wake.js.map +1 -0
- package/dist/collection/services/crmbonus.service.js +118 -0
- package/dist/collection/services/crmbonus.service.js.map +1 -0
- package/dist/collection/utils/keys.storage.js +9 -0
- package/dist/collection/utils/keys.storage.js.map +1 -0
- package/dist/{crmbonus-component-wake/utils-96cf9ae0.js → collection/utils/utils.js} +5 -8
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/app-modal.js +46 -0
- package/dist/components/app-modal.js.map +1 -0
- package/dist/components/countdown-timer.js +8 -0
- package/dist/components/countdown-timer.js.map +1 -0
- package/dist/components/crm-bonus-form.js +165 -0
- package/dist/components/crm-bonus-form.js.map +1 -0
- package/dist/components/crm-bonus-note.js +139 -0
- package/dist/components/crm-bonus-note.js.map +1 -0
- package/dist/components/crm-bonus.js +339 -0
- package/dist/components/crm-bonus.js.map +1 -0
- package/dist/components/crm-button.js +8 -0
- package/dist/components/crm-button.js.map +1 -0
- package/dist/components/crm-giftback-form.js +8 -0
- package/dist/components/crm-giftback-form.js.map +1 -0
- package/dist/components/crm-tooltip.js +8 -0
- package/dist/components/crm-tooltip.js.map +1 -0
- package/dist/components/giftback-finish.js +8 -0
- package/dist/components/giftback-finish.js.map +1 -0
- package/dist/components/giftback-info.js +8 -0
- package/dist/components/giftback-info.js.map +1 -0
- package/dist/components/giftback-pin.js +8 -0
- package/dist/components/giftback-pin.js.map +1 -0
- package/dist/components/giftback-progress.js +8 -0
- package/dist/components/giftback-progress.js.map +1 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/loading-container.js +8 -0
- package/dist/components/loading-container.js.map +1 -0
- package/dist/components/loading-spinner.js +8 -0
- package/dist/components/loading-spinner.js.map +1 -0
- package/dist/components/name-input.js +8 -0
- package/dist/components/name-input.js.map +1 -0
- package/dist/components/p-11085d9b.js +79 -0
- package/dist/components/p-11085d9b.js.map +1 -0
- package/dist/{crmbonus-component-wake/name-input.entry.js → components/p-246a3e9d.js} +37 -8
- package/dist/components/p-246a3e9d.js.map +1 -0
- package/dist/{crmbonus-component-wake/giftback-info.entry.js → components/p-2671d669.js} +52 -12
- package/dist/components/p-2671d669.js.map +1 -0
- package/dist/{crmbonus-component-wake/countdown-timer.entry.js → components/p-2b3b8d6b.js} +27 -7
- package/dist/components/p-2b3b8d6b.js.map +1 -0
- package/dist/components/p-3e84f78c.js +1408 -0
- package/dist/components/p-3e84f78c.js.map +1 -0
- package/dist/components/p-47f9da55.js +46 -0
- package/dist/components/p-47f9da55.js.map +1 -0
- package/dist/components/p-5443db37.js +316 -0
- package/dist/components/p-5443db37.js.map +1 -0
- package/dist/{crmbonus-component-wake/crm-tooltip.entry.js → components/p-58b97429.js} +27 -8
- package/dist/components/p-58b97429.js.map +1 -0
- package/dist/{crmbonus-component-wake/giftback-pin.entry.js → components/p-6186ddcc.js} +38 -8
- package/dist/components/p-6186ddcc.js.map +1 -0
- package/dist/{crmbonus-component-wake/phone-form.entry.js → components/p-6c546e48.js} +47 -8
- package/dist/components/p-6c546e48.js.map +1 -0
- package/dist/{crmbonus-component-wake/crmbonus.service-9f4c6fd7.js → components/p-6eda79c3.js} +93 -165
- package/dist/components/p-6eda79c3.js.map +1 -0
- package/dist/components/p-75ba7b9a.js +14 -0
- package/dist/components/p-75ba7b9a.js.map +1 -0
- package/dist/{crmbonus-component-wake/giftback-progress.entry.js → components/p-7c744cca.js} +37 -8
- package/dist/components/p-7c744cca.js.map +1 -0
- package/dist/components/p-7cfea8fe.js +19 -0
- package/dist/components/p-7cfea8fe.js.map +1 -0
- package/dist/{crmbonus-component-wake/pin-form.entry.js → components/p-83a12a8f.js} +56 -9
- package/dist/components/p-83a12a8f.js.map +1 -0
- package/dist/{crmbonus-component-wake/cart.helper-4e40ffa9.js → components/p-abbfbc98.js} +2 -3
- package/dist/components/p-abbfbc98.js.map +1 -0
- package/dist/{crmbonus-component-wake/giftback-finish.entry.js → components/p-b79c86a8.js} +25 -8
- package/dist/components/p-b79c86a8.js.map +1 -0
- package/dist/components/p-ba369e65.js +21 -0
- package/dist/components/p-ba369e65.js.map +1 -0
- package/dist/components/p-cc1ea33f.js +36 -0
- package/dist/components/p-cc1ea33f.js.map +1 -0
- package/dist/{crmbonus-component-wake/i18n-11138a2c.js → components/p-e8c19a64.js} +1 -16
- package/dist/components/p-e8c19a64.js.map +1 -0
- package/dist/components/p-f9aeffc1.js +12 -0
- package/dist/components/p-f9aeffc1.js.map +1 -0
- package/dist/components/p-fe9c3966.js +39 -0
- package/dist/components/p-fe9c3966.js.map +1 -0
- package/dist/components/pedido-finalizado.js +54 -0
- package/dist/components/pedido-finalizado.js.map +1 -0
- package/dist/components/phone-cancel-input.js +55 -0
- package/dist/components/phone-cancel-input.js.map +1 -0
- package/dist/components/phone-form.js +8 -0
- package/dist/components/phone-form.js.map +1 -0
- package/dist/components/phone-input-mask.js +8 -0
- package/dist/components/phone-input-mask.js.map +1 -0
- package/dist/components/phone-input.js +55 -0
- package/dist/components/phone-input.js.map +1 -0
- package/dist/components/pin-form.js +8 -0
- package/dist/components/pin-form.js.map +1 -0
- package/dist/crmbonus-component-wake/crmbonus-component-wake.css +1 -7
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -48
- package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
- package/dist/crmbonus-component-wake/index.esm.js +1 -12
- package/dist/crmbonus-component-wake/index.esm.js.map +1 -1
- package/dist/crmbonus-component-wake/p-03b77c41.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-03b77c41.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-3d6152b1.js +3 -0
- package/dist/crmbonus-component-wake/p-3d6152b1.js.map +1 -0
- package/dist/crmbonus-component-wake/p-620ec1a3.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-620ec1a3.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-6eda79c3.js +2 -0
- package/dist/crmbonus-component-wake/p-6eda79c3.js.map +1 -0
- package/dist/crmbonus-component-wake/p-74206c91.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-74206c91.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-75ba7b9a.js +2 -0
- package/dist/crmbonus-component-wake/p-75ba7b9a.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7b7fb354.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-7b7fb354.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-7cfea8fe.js +2 -0
- package/dist/crmbonus-component-wake/p-7cfea8fe.js.map +1 -0
- package/dist/crmbonus-component-wake/p-885fc30e.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-885fc30e.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-8df3f949.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-8df3f949.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-90716188.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-90716188.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-a33f7c24.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-a33f7c24.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-abbfbc98.js +2 -0
- package/dist/crmbonus-component-wake/p-abbfbc98.js.map +1 -0
- package/dist/crmbonus-component-wake/p-b7a8f915.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-b7a8f915.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-ba369e65.js +2 -0
- package/dist/crmbonus-component-wake/p-ba369e65.js.map +1 -0
- package/dist/crmbonus-component-wake/p-be3ddacc.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-be3ddacc.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-c23f3a07.entry.js +2 -0
- package/dist/crmbonus-component-wake/{crm-bonus-form.entry.js.map → p-c23f3a07.entry.js.map} +1 -1
- package/dist/crmbonus-component-wake/p-e1255160.js +2 -0
- package/dist/crmbonus-component-wake/p-e1255160.js.map +1 -0
- package/dist/crmbonus-component-wake/p-e8bd92d1.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-e8bd92d1.entry.js.map +1 -0
- package/dist/crmbonus-component-wake/p-e8c19a64.js +2 -0
- package/dist/crmbonus-component-wake/p-e8c19a64.js.map +1 -0
- package/dist/crmbonus-component-wake/p-f9aeffc1.js +2 -0
- package/dist/crmbonus-component-wake/p-f9aeffc1.js.map +1 -0
- package/dist/crmbonus-component-wake/p-fad20959.entry.js +2 -0
- package/dist/crmbonus-component-wake/p-fad20959.entry.js.map +1 -0
- package/dist/env.js +3 -0
- package/dist/env.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/app-modal.entry.js +3 -2
- package/dist/esm/app-modal.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake/cart.helper-a921d7f9.js → esm/cart.helper-30a40560.js} +2 -3
- package/dist/esm/cart.helper-30a40560.js.map +1 -0
- package/dist/esm/countdown-timer_2.entry.js +58 -0
- package/dist/esm/countdown-timer_2.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/crm-bonus-form.entry.js +5 -4
- package/dist/esm/crm-bonus-form.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/crm-bonus-note.entry.js +10 -9
- package/dist/esm/crm-bonus-note.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/crm-bonus.entry.js +8 -7
- package/dist/esm/crm-bonus.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake/crm-giftback-form.entry.js → esm/crm-giftback-form_2.entry.js} +26 -11
- package/dist/esm/crm-giftback-form_2.entry.js.map +1 -0
- package/dist/esm/crm-tooltip_4.entry.js +204 -0
- package/dist/esm/crm-tooltip_4.entry.js.map +1 -0
- package/dist/esm/crmbonus-component-wake.js +22 -0
- package/dist/esm/crmbonus-component-wake.js.map +1 -0
- package/dist/{crmbonus-component-wake/crmbonus.service-67550994.js → esm/crmbonus.service-42fbd7fa.js} +90 -162
- package/dist/esm/crmbonus.service-42fbd7fa.js.map +1 -0
- package/dist/esm/giftback-finish_4.entry.js +124 -0
- package/dist/esm/giftback-finish_4.entry.js.map +1 -0
- package/dist/esm/i18n-e8150dff.js +2217 -0
- package/dist/{crmbonus-component-wake/i18n-11138a2c.js.map → esm/i18n-e8150dff.js.map} +1 -1
- package/dist/esm/index-e8724c8f.js +1571 -0
- package/dist/esm/index-e8724c8f.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/loading-spinner.entry.js +3 -2
- package/dist/esm/loading-spinner.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/pedido-finalizado.entry.js +4 -4
- package/dist/esm/pedido-finalizado.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/phone-cancel-input.entry.js +1 -1
- package/dist/esm/phone-cancel-input.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/phone-input-mask.entry.js +3 -2
- package/dist/esm/phone-input-mask.entry.js.map +1 -0
- package/dist/{crmbonus-component-wake → esm}/phone-input.entry.js +1 -1
- package/dist/esm/phone-input.entry.js.map +1 -0
- package/dist/esm/utils-d642b4db.js +21 -0
- package/dist/esm/utils-d642b4db.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +1 -1
- package/package.json +1 -1
- package/dist/crmbonus-component-wake/app-modal.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/cart.helper-4e40ffa9.js.map +0 -1
- package/dist/crmbonus-component-wake/cart.helper-a921d7f9.js.map +0 -1
- package/dist/crmbonus-component-wake/countdown-timer.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/crm-bonus-note.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/crm-bonus.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/crm-button.entry.js +0 -20
- package/dist/crmbonus-component-wake/crm-button.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/crm-tooltip.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/crmbonus.service-67550994.js.map +0 -1
- package/dist/crmbonus-component-wake/crmbonus.service-9f4c6fd7.js.map +0 -1
- package/dist/crmbonus-component-wake/giftback-finish.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/giftback-info.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/giftback-pin.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/giftback-progress.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/index-d0fd1dc0.js +0 -3039
- package/dist/crmbonus-component-wake/index-d0fd1dc0.js.map +0 -1
- package/dist/crmbonus-component-wake/loading-container.entry.js +0 -18
- package/dist/crmbonus-component-wake/loading-container.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/loading-spinner.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/name-input.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/pedido-finalizado.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/phone-cancel-input.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/phone-form.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/phone-input-mask.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/phone-input.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/pin-form.entry.js.map +0 -1
- package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js +0 -334
- package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js.map +0 -1
- package/dist/crmbonus-component-wake/utils-96cf9ae0.js.map +0 -1
- /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js +0 -0
- /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js.map +0 -0
- /package/dist/{crmbonus-component-wake → esm}/index-5b567099.js +0 -0
- /package/dist/{crmbonus-component-wake → esm}/index-5b567099.js.map +0 -0
- /package/dist/{crmbonus-component-wake → esm}/info.config.helper-42d9ddf9.js +0 -0
- /package/dist/{crmbonus-component-wake → esm}/info.config.helper-42d9ddf9.js.map +0 -0
- /package/dist/{crmbonus-component-wake → esm}/keys.storage-8c76fcd7.js +0 -0
- /package/dist/{crmbonus-component-wake → esm}/keys.storage-8c76fcd7.js.map +0 -0
@@ -0,0 +1,249 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-d11684bd.js');
|
6
|
+
const crmbonus_service = require('./crmbonus.service-9067d00d.js');
|
7
|
+
const index$1 = require('./index-6054ed44.js');
|
8
|
+
const i18n = require('./i18n-f2a6f60e.js');
|
9
|
+
const cart_helper = require('./cart.helper-d4d8d619.js');
|
10
|
+
const keys_storage = require('./keys.storage-de7744aa.js');
|
11
|
+
|
12
|
+
var AjustesTipoEnum;
|
13
|
+
(function (AjustesTipoEnum) {
|
14
|
+
AjustesTipoEnum["P"] = "Promocao";
|
15
|
+
})(AjustesTipoEnum || (AjustesTipoEnum = {}));
|
16
|
+
|
17
|
+
function buildProductsByWake(productsWake = []) {
|
18
|
+
const products = [];
|
19
|
+
for (const pw of productsWake) {
|
20
|
+
let discounts = getDiscount(pw.Ajustes);
|
21
|
+
products.push({
|
22
|
+
sku: pw.SKU,
|
23
|
+
value: (pw.PrecoPor * pw.Quantidade),
|
24
|
+
productVariantId: pw.ProdutoVarianteId.toString(),
|
25
|
+
quantity: pw.Quantidade,
|
26
|
+
discount: (discounts * -1)
|
27
|
+
});
|
28
|
+
}
|
29
|
+
return products;
|
30
|
+
}
|
31
|
+
function getDiscount(ajustes = []) {
|
32
|
+
let discounts = 0;
|
33
|
+
for (const discount of ajustes) {
|
34
|
+
if (discount.Tipo === AjustesTipoEnum.P) {
|
35
|
+
discounts += discount.Valor;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
return discounts;
|
39
|
+
}
|
40
|
+
|
41
|
+
const crmBonusCss = ".container-button.sc-crm-bonus{cursor:pointer;padding:5px 5px 5px 14px}.section-crm.sc-crm-bonus{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm.sc-crm-bonus{margin-top:10px}.section-cart-crm.sc-crm-bonus p.sc-crm-bonus{padding:0;margin:0px 0px 0px 15px}.button.sc-crm-bonus{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer;margin-left:10px;height:70px}.form-container.sc-crm-bonus{width:97%;display:flex;justify-content:space-around}.btn.sc-crm-bonus{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container.sc-crm-bonus .btnCrm.sc-crm-bonus{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert.sc-crm-bonus{font-family:sans-serif;color:#df4d4d;margin-top:5px}";
|
42
|
+
const CrmBonusStyle0 = crmBonusCss;
|
43
|
+
|
44
|
+
const CrmBonus = class {
|
45
|
+
constructor(hostRef) {
|
46
|
+
index.registerInstance(this, hostRef);
|
47
|
+
this.crmBonusService = crmbonus_service.CrmBonusService.getInstance();
|
48
|
+
this.cart = undefined;
|
49
|
+
this.showModal = false;
|
50
|
+
this.cartWake = undefined;
|
51
|
+
this.customer = {
|
52
|
+
birthDate: "",
|
53
|
+
document: "",
|
54
|
+
name: "",
|
55
|
+
phone: ""
|
56
|
+
};
|
57
|
+
this.loading = false;
|
58
|
+
this.message = undefined;
|
59
|
+
this.phone = undefined;
|
60
|
+
this.canCancel = false;
|
61
|
+
this.amountCancel = undefined;
|
62
|
+
this.sent = undefined;
|
63
|
+
this.session = undefined;
|
64
|
+
this.loading_reprocess = false;
|
65
|
+
}
|
66
|
+
async resetBonus() {
|
67
|
+
console.log('[START RESET BONUS]!!!!!');
|
68
|
+
try {
|
69
|
+
await this.crmBonusRef.processBonus(this.buildProducts(), true);
|
70
|
+
console.log('[BONUS RESETADO]!!!!!');
|
71
|
+
}
|
72
|
+
catch (err) {
|
73
|
+
this.loading = false;
|
74
|
+
console.log('[error ao reprocessar bonous]');
|
75
|
+
await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PHONE);
|
76
|
+
}
|
77
|
+
finally {
|
78
|
+
this.loading = false;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
async setloading() {
|
82
|
+
this.loading_reprocess = !this.loading_reprocess;
|
83
|
+
}
|
84
|
+
async reprocess() {
|
85
|
+
this.loading_reprocess = true;
|
86
|
+
try {
|
87
|
+
const isUse = localStorage.getItem(keys_storage.USED_KEY);
|
88
|
+
if (!isUse)
|
89
|
+
return;
|
90
|
+
this.cartWake = await cart_helper.getCart();
|
91
|
+
await this.resetBonus();
|
92
|
+
}
|
93
|
+
catch (err) {
|
94
|
+
console.debug('[watchProducts]', err.message);
|
95
|
+
}
|
96
|
+
finally {
|
97
|
+
this.loading_reprocess = false;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
// @Watch("productsInString")
|
101
|
+
// async watchProducts(newValue: string) {
|
102
|
+
// try {
|
103
|
+
// console.log('[update products list]');
|
104
|
+
// this.productsInString = newValue;
|
105
|
+
// await this.handleLoad();
|
106
|
+
// await this.resetBonus();
|
107
|
+
// } catch (err) {
|
108
|
+
// console.debug('[watchProducts]', err.message);
|
109
|
+
// }
|
110
|
+
// }
|
111
|
+
async componentWillLoad() {
|
112
|
+
i18n.instance.changeLanguage(i18n.instance.language);
|
113
|
+
await this.handleLoad();
|
114
|
+
await this.loadSession();
|
115
|
+
await this.loadConfigStore();
|
116
|
+
}
|
117
|
+
async loadConfigStore() {
|
118
|
+
await this.crmBonusService.getCustomization(this.cartWake.store.name);
|
119
|
+
}
|
120
|
+
async handleLoad() {
|
121
|
+
try {
|
122
|
+
this.cartWake = this.cart ? new cart_helper.CartWake(JSON.parse(this.cart)) : await cart_helper.getCart();
|
123
|
+
console.log('[handleLoad]', this.cartWake);
|
124
|
+
if (this.cartWake.user.id) {
|
125
|
+
this.customer = await this.crmBonusService.getCustomer(this.cartWake.user.id, this.cartWake.store.name);
|
126
|
+
console.log('customer', this.customer);
|
127
|
+
}
|
128
|
+
const amount = localStorage.getItem(this.cartWake.id);
|
129
|
+
if (amount) {
|
130
|
+
this.canCancel = true;
|
131
|
+
this.amountCancel = amount;
|
132
|
+
}
|
133
|
+
await this.buildAndGetProducts(this.cartWake.products);
|
134
|
+
}
|
135
|
+
catch (error) {
|
136
|
+
console.log('info customer');
|
137
|
+
}
|
138
|
+
}
|
139
|
+
async loadSession() {
|
140
|
+
this.session = await this.crmBonusService.getToken(this.cartWake.store.name);
|
141
|
+
setTimeout(() => {
|
142
|
+
this.loadSession();
|
143
|
+
}, 1500000);
|
144
|
+
}
|
145
|
+
async buildAndGetProducts(productsWake) {
|
146
|
+
console.log('productsWake', productsWake);
|
147
|
+
const key = `bc-products:${this.cartWake.id}`;
|
148
|
+
const productsString = JSON.stringify(productsWake);
|
149
|
+
localStorage.setItem(key, productsString);
|
150
|
+
const products_in_cache = JSON.parse(localStorage.getItem(key));
|
151
|
+
const products = [];
|
152
|
+
for (const product_cart of productsWake) {
|
153
|
+
const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId);
|
154
|
+
const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === "Formula");
|
155
|
+
if (pro) {
|
156
|
+
products.push(Object.assign(Object.assign({}, product_cart), { PrecoPor: pro.PrecoPor + (ajuste.Valor * -1), Quantidade: pro.Quantidade, Ajustes: pro.Ajustes }));
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
products.push(product_cart);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);
|
163
|
+
}
|
164
|
+
async sendPin(phone) {
|
165
|
+
var _a, _b;
|
166
|
+
this.loading = true;
|
167
|
+
this.message = "";
|
168
|
+
try {
|
169
|
+
const _phone = phone.replace(/\D/g, '');
|
170
|
+
this.phone = Number(_phone);
|
171
|
+
this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
|
172
|
+
await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PIN);
|
173
|
+
this.showModal = true;
|
174
|
+
}
|
175
|
+
catch (error) {
|
176
|
+
this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
|
177
|
+
}
|
178
|
+
finally {
|
179
|
+
this.loading = false;
|
180
|
+
}
|
181
|
+
}
|
182
|
+
async sendPinName(customerName) {
|
183
|
+
var _a, _b;
|
184
|
+
this.loading = true;
|
185
|
+
this.message = "";
|
186
|
+
try {
|
187
|
+
this.customer.name = customerName;
|
188
|
+
this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);
|
189
|
+
await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PIN);
|
190
|
+
this.showModal = true;
|
191
|
+
}
|
192
|
+
catch (error) {
|
193
|
+
this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
|
194
|
+
}
|
195
|
+
finally {
|
196
|
+
this.loading = false;
|
197
|
+
}
|
198
|
+
}
|
199
|
+
buildProducts() {
|
200
|
+
return buildProductsByWake(this.cartWake.products);
|
201
|
+
}
|
202
|
+
handleCloseModal() {
|
203
|
+
this.showModal = false;
|
204
|
+
}
|
205
|
+
save(amount) {
|
206
|
+
localStorage.setItem(this.cartWake.id, amount.toString());
|
207
|
+
this.canCancel = true;
|
208
|
+
this.amountCancel = amount.toString();
|
209
|
+
}
|
210
|
+
async cancel() {
|
211
|
+
this.message = "";
|
212
|
+
this.loading = true;
|
213
|
+
try {
|
214
|
+
await this.crmBonusService.cancel(this.cartWake.id);
|
215
|
+
this.canCancel = false;
|
216
|
+
localStorage.removeItem(this.cartWake.id);
|
217
|
+
}
|
218
|
+
catch (error) {
|
219
|
+
this.message = "Não consegui cancelar o bônus, tente novamente!";
|
220
|
+
}
|
221
|
+
finally {
|
222
|
+
this.loading = false;
|
223
|
+
}
|
224
|
+
}
|
225
|
+
async handleSendPin(phone) {
|
226
|
+
this.message = "";
|
227
|
+
if (!phone) {
|
228
|
+
this.message = "Informe seu telefone";
|
229
|
+
return;
|
230
|
+
}
|
231
|
+
this.customer.phone = phone;
|
232
|
+
const _phone = phone.replace(/\D/g, '');
|
233
|
+
this.phone = Number(_phone);
|
234
|
+
if (this.customer.name) {
|
235
|
+
return this.sendPin(phone);
|
236
|
+
}
|
237
|
+
await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_NAME);
|
238
|
+
this.showModal = true;
|
239
|
+
}
|
240
|
+
render() {
|
241
|
+
return (index.h("loading-container", { key: '21fafa4b9339db4a55ba454d05eecc0e4a8a2763', loading: this.loading_reprocess }, index.h("crm-giftback-form", { key: 'ef564d7e6794664b107d3996c8d081eafebfecb6', style: { position: "relative" }, ref: ref => this.crmBonusRef = ref, storeName: this.cartWake.store.name, products: this.buildProducts(), cartId: this.cartWake.id, customer: this.customer, loadProducts: () => this.buildProducts() })));
|
242
|
+
}
|
243
|
+
static get assetsDirs() { return ["assets"]; }
|
244
|
+
};
|
245
|
+
CrmBonus.style = CrmBonusStyle0;
|
246
|
+
|
247
|
+
exports.crm_bonus = CrmBonus;
|
248
|
+
|
249
|
+
//# sourceMappingURL=crm-bonus.cjs.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"crm-bonus.entry.cjs.js","mappings":"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","names":["CrmBonusService","StepFormEnum","USED_KEY","getCart","i18next","CartWake","h"],"sources":["src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts","src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=scoped","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["export interface IProduct {\n productVariantId: string;\n sku: string;\n value: number;\n quantity: number;\n discount: number;\n}\n\nexport enum AjustesTipoEnum {\n P = \"Promocao\" \n}\n\nexport interface IAjustes {\n Tipo: AjustesTipoEnum;\n Valor: number;\n}\n\nexport interface IUser {\n id: number;\n}\n\nexport interface IStore {\n name: string;\n}\n\nexport interface IProductWake {\n ProdutoVarianteId: number;\n SKU: string;\n PrecoPor: number;\n Quantidade: number;\n Ajustes: IAjustes[];\n}\n\nexport interface ICustomer {\n birthDate: string;\n document: string;\n name: string;\n phone: string;\n}\n\nexport interface IProccesPinBonusDto {\n storeName: string;\n name: string;\n checkoutId: string;\n checkoutProducts: Array<IProduct>;\n storeId: string;\n userId: string;\n cellphone: number;\n pin: string;\n\n}\n\nexport interface IBonus {\n hasBonus: boolean;\n bonusBalance: number;\n totalBonus: number;\n minimumPurchase: number;\n bonusIds: string;\n firstValidityDate: string\n history: [\n {\n validityStart: string;\n validityEnd: string;\n value: number\n },\n {\n validityStart: string;\n validityEnd: string\n value: number\n }\n ]\n storeId: number;\n userId: number;\n cartId: string\n calculatedValue: number;\n totalValue: number\n}\n\n\nexport interface IReserveDTO {\n storeName: string;\n cartId: string;\n grossValue: number;\n redeemedBonus: number;\n ticket: string;\n storeId: string;\n userId: number;\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\n\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\n\n const products: Array<IProduct> = [];\n\n for ( const pw of productsWake ) {\n let discounts = getDiscount(pw.Ajustes)\n\n products.push(\n {\n sku: pw.SKU,\n value: (pw.PrecoPor * pw.Quantidade),\n productVariantId: pw.ProdutoVarianteId.toString(),\n quantity: pw.Quantidade,\n discount: (discounts * -1)\n }\n )\n }\n\n return products;\n}\n\nfunction getDiscount(ajustes: IAjustes[] = []) {\n \n let discounts = 0;\n \n for(const discount of ajustes) {\n if(discount.Tipo === AjustesTipoEnum.P) {\n discounts += discount.Valor;\n }\n }\n\n return discounts;\n}","\n.container-button {\n /* max-width: 100%; */\n cursor: pointer;\n padding: 5px 5px 5px 14px;\n /* display: flex; */\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n margin-top: 10px;\n}\n\n.section-cart-crm p {\n padding: 0;\n margin: 0px 0px 0px 15px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n font-size: 20px;\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 97%;\n display: flex;\n justify-content: space-around;\n}\n\n\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 0px;\n}\n\n.form-container .btnCrm {\n background: #00162e;\n border-color: #00162e;\n width: 30%;\n color: #fff;\n}\n\n.message-alert {\n font-family: sans-serif;\n color: #df4d4d;\n margin-top: 5px;\n}","import { Component, Method, Prop, State, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { StepFormEnum } from '../../contants';\n\nimport i18next from '../../i18n/i18n'\nimport { buildProductsByWake } from '../../helpers/build.payload.helper';\nimport { getCart } from '../../helpers/cart.helper';\nimport { CartWake } from '../../objectvalues/cart.wake';\nimport { USED_KEY } from '../../utils/keys.storage';\n\n@Component({\n tag: 'crm-bonus',\n styleUrl: 'crm-bonus.css',\n scoped: true,\n assetsDirs: ['assets']\n})\nexport class CrmBonus {\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n private crmBonusRef: HTMLCrmGiftbackFormElement;\n\n @Prop() cart;\n\n @State() showModal: boolean = false;\n \n @State() cartWake: CartWake;\n \n @State() customer: ICustomer = {\n birthDate: \"\",\n document: \"\",\n name: \"\",\n phone: \"\"\n };\n\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: number;\n @State() canCancel: boolean = false;\n @State() amountCancel: string;\n @State() sent: IPinSent;\n\n @State() session: string;\n @State() loading_reprocess = false;\n\n @Method()\n async resetBonus() {\n console.log('[START RESET BONUS]!!!!!');\n \n try {\n await this.crmBonusRef.processBonus(this.buildProducts(), true);\n console.log('[BONUS RESETADO]!!!!!');\n } catch (err) {\n\n this.loading = false;\n console.log('[error ao reprocessar bonous]');\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);\n } finally {\n this.loading = false;\n }\n }\n\n @Method()\n async setloading() {\n this.loading_reprocess = !this.loading_reprocess;\n }\n\n @Method()\n async reprocess() {\n this.loading_reprocess = true\n\n try {\n\n const isUse = localStorage.getItem(USED_KEY);\n\n if(!isUse) return;\n\n this.cartWake = await getCart();\n await this.resetBonus();\n } catch (err) {\n console.debug('[watchProducts]', err.message);\n } finally {\n this.loading_reprocess = false\n }\n }\n\n // @Watch(\"productsInString\")\n // async watchProducts(newValue: string) {\n // try {\n // console.log('[update products list]');\n // this.productsInString = newValue;\n // await this.handleLoad();\n\n // await this.resetBonus();\n // } catch (err) {\n // console.debug('[watchProducts]', err.message);\n // }\n // }\n\n async componentWillLoad() {\n i18next.changeLanguage(i18next.language);\n\n await this.handleLoad();\n\n await this.loadSession();\n await this.loadConfigStore()\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.cartWake.store.name);\n }\n\n async handleLoad() {\n try {\n\n this.cartWake = this.cart ? new CartWake(JSON.parse(this.cart)) : await getCart();\n\n console.log('[handleLoad]', this.cartWake)\n\n if (this.cartWake.user.id) {\n this.customer = await this.crmBonusService.getCustomer(this.cartWake.user.id, this.cartWake.store.name);\n console.log('customer', this.customer);\n }\n\n const amount = localStorage.getItem(this.cartWake.id);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n await this.buildAndGetProducts(this.cartWake.products);\n } catch (error) {\n console.log('info customer')\n }\n }\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.cartWake.store.name);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts(productsWake: IProductWake[]) {\n\n console.log('productsWake', productsWake)\n\n const key = `bc-products:${this.cartWake.id}`;\n\n const productsString = JSON.stringify(productsWake)\n\n localStorage.setItem(key, productsString);\n\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsWake) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === \"Formula\")\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor + (ajuste.Valor * -1),\n Quantidade: pro.Quantidade,\n Ajustes: pro.Ajustes\n })\n } else {\n products.push(product_cart)\n }\n\n }\n\n this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\n\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n public async sendPinName(customerName: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n this.customer.name = customerName;\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return buildProductsByWake(this.cartWake.products);\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartWake.id, amount.toString());\n this.canCancel = true;\n this.amountCancel = amount.toString()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartWake.id);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartWake.id);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n async handleSendPin(phone: string) {\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.customer.phone = phone;\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n if (this.customer.name) {\n return this.sendPin(phone)\n }\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\n this.showModal = true;\n }\n\n render() {\n\n return (\n <loading-container loading={this.loading_reprocess} >\n <crm-giftback-form\n style={{ position: \"relative\" }}\n ref={ref => this.crmBonusRef = ref}\n storeName={this.cartWake.store.name}\n products={this.buildProducts()}\n cartId={this.cartWake.id}\n customer={this.customer}\n loadProducts={() => this.buildProducts()}\n\n />\n </loading-container>\n )\n }\n}\n"],"version":3}
|
@@ -0,0 +1,253 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-d11684bd.js');
|
6
|
+
const crmbonus_service = require('./crmbonus.service-9067d00d.js');
|
7
|
+
const index$1 = require('./index-6054ed44.js');
|
8
|
+
const info_config_helper = require('./info.config.helper-c5d9f781.js');
|
9
|
+
const i18n = require('./i18n-f2a6f60e.js');
|
10
|
+
const keys_storage = require('./keys.storage-de7744aa.js');
|
11
|
+
|
12
|
+
const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{font-family:Roboto;font-size:var(--crmfont-sizebodymd);font-weight:400;line-height:var(--crmline-heightbodymd);letter-spacing:var(--crmletter-spacingtitle-md);text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.crm-container-form{display:flex;flex-direction:column;justify-content:space-around;height:auto;padding:20px 24px 20px 24px;border:1px solid #CCCC;writing-mode:horizontal-tb;gap:16px;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.crm-phone-form{display:flex;flex-direction:column;height:100%;gap:16px}.crm-subtitle{font-size:14px;color:var(--crm-btn);font-weight:100}.crm-title{font-weight:700;line-height:20px;color:#262626;font-size:16px}.crm-message-info{color:#619013;font-weight:500;font-size:12px}.crm-message-error{color:#E11D48;font-weight:500;font-size:12px}";
|
13
|
+
const CrmGiftbackFormStyle0 = giftbackFormCss;
|
14
|
+
|
15
|
+
const CrmBonus = class {
|
16
|
+
constructor(hostRef) {
|
17
|
+
index.registerInstance(this, hostRef);
|
18
|
+
// private phoneInputMask: HTMLPhoneFormElement;
|
19
|
+
this.crmBonusService = crmbonus_service.CrmBonusService.getInstance();
|
20
|
+
this.storeName = undefined;
|
21
|
+
this.cartId = undefined;
|
22
|
+
this.products = undefined;
|
23
|
+
this.customer = undefined;
|
24
|
+
this.loadProducts = undefined;
|
25
|
+
this.value = undefined;
|
26
|
+
this.loading = false;
|
27
|
+
this.message = undefined;
|
28
|
+
this.phone = undefined;
|
29
|
+
this.pinInfo = undefined;
|
30
|
+
this.step = index$1.StepFormEnum.STEP_RESERVE;
|
31
|
+
this.bonus = undefined;
|
32
|
+
this.sucess = "";
|
33
|
+
this.error = "";
|
34
|
+
this.config = undefined;
|
35
|
+
this.hasApplyBonus = false;
|
36
|
+
}
|
37
|
+
async setStep(step) {
|
38
|
+
this.step = step;
|
39
|
+
}
|
40
|
+
async processBonus(products = [], hasNewProduct = false) {
|
41
|
+
this.sucess = "";
|
42
|
+
console.log('processBonus', []);
|
43
|
+
if (hasNewProduct) {
|
44
|
+
this.products = products;
|
45
|
+
}
|
46
|
+
const _bonus = localStorage.getItem(keys_storage.getKeyReserveByCartId(this.cartId));
|
47
|
+
if (_bonus) {
|
48
|
+
const bonus = JSON.parse(_bonus);
|
49
|
+
this.bonus = bonus;
|
50
|
+
this.phone = bonus.phone;
|
51
|
+
this.pinInfo = {
|
52
|
+
storeId: bonus.storeId,
|
53
|
+
userId: bonus.userId
|
54
|
+
};
|
55
|
+
await this.validateBonus("2018");
|
56
|
+
//this.step = StepFormEnum.STEP_RESERVE;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
async handleSendPin(phone) {
|
60
|
+
this.message = "";
|
61
|
+
if (!phone) {
|
62
|
+
this.message = "Informe seu telefone";
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
this.phone = phone;
|
66
|
+
this.sendPin();
|
67
|
+
}
|
68
|
+
async componentWillLoad() {
|
69
|
+
this.sucess = "";
|
70
|
+
this.error = "";
|
71
|
+
this.config = info_config_helper.getInfoCustomization(this.storeName);
|
72
|
+
const phoneAgain = this.getPhoneNumberAgain();
|
73
|
+
if (phoneAgain) {
|
74
|
+
this.step = index$1.StepFormEnum.STEP_PHONE;
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
await this.processBonus();
|
78
|
+
}
|
79
|
+
getPhoneNumberAgain() {
|
80
|
+
const consulta_bonus = localStorage.getItem(keys_storage.getKeyReserveByCartId(this.cartId));
|
81
|
+
if (!consulta_bonus)
|
82
|
+
return true;
|
83
|
+
const bonus = JSON.parse(consulta_bonus);
|
84
|
+
return !bonus.hasBonus;
|
85
|
+
}
|
86
|
+
convertStringToNumber() {
|
87
|
+
const _phone = this.phone.replace(/\D/g, '');
|
88
|
+
return Number(_phone);
|
89
|
+
}
|
90
|
+
async sendPin() {
|
91
|
+
var _a, _b, _c;
|
92
|
+
this.loading = true;
|
93
|
+
this.message = "";
|
94
|
+
this.sucess = "";
|
95
|
+
this.error = "";
|
96
|
+
try {
|
97
|
+
const _phone = this.convertStringToNumber();
|
98
|
+
const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);
|
99
|
+
if (!pinInfoCache) {
|
100
|
+
this.pinInfo = await this.crmBonusService.sendPin(_phone, (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name, this.storeName);
|
101
|
+
}
|
102
|
+
if (pinInfoCache) {
|
103
|
+
const bonus = JSON.parse(pinInfoCache);
|
104
|
+
this.pinInfo = {
|
105
|
+
storeId: bonus.storeId,
|
106
|
+
userId: bonus.userId
|
107
|
+
};
|
108
|
+
await this.validateBonus("2018");
|
109
|
+
this.step = index$1.StepFormEnum.STEP_RESERVE;
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
this.step = index$1.StepFormEnum.STEP_PIN;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
catch (error) {
|
116
|
+
this.message = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
|
117
|
+
}
|
118
|
+
finally {
|
119
|
+
this.loading = false;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
changePhone() {
|
123
|
+
this.sucess = "";
|
124
|
+
this.error = "";
|
125
|
+
this.step = index$1.StepFormEnum.STEP_PHONE;
|
126
|
+
}
|
127
|
+
async validateBonus(pin) {
|
128
|
+
var _a, _b, _c;
|
129
|
+
await this.loadProducts();
|
130
|
+
const used_or_no = localStorage.getItem(keys_storage.USED_KEY);
|
131
|
+
if (used_or_no == "dontUse") {
|
132
|
+
this.step = index$1.StepFormEnum.STEP_RESERVE;
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
this.loading = true;
|
136
|
+
this.sucess = "";
|
137
|
+
this.error = "";
|
138
|
+
const payload = {
|
139
|
+
pin: pin,
|
140
|
+
cellphone: this.convertStringToNumber(),
|
141
|
+
storeId: this.pinInfo.storeId.toString(),
|
142
|
+
userId: this.pinInfo.userId.toString(),
|
143
|
+
checkoutId: this.cartId,
|
144
|
+
checkoutProducts: this.products,
|
145
|
+
name: (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name,
|
146
|
+
storeName: this.storeName
|
147
|
+
};
|
148
|
+
try {
|
149
|
+
this.bonus = await this.crmBonusService.validatePinBonus(payload);
|
150
|
+
if (!this.bonus.hasBonus) {
|
151
|
+
localStorage.setItem(keys_storage.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
|
152
|
+
this.loading = false;
|
153
|
+
this.step = index$1.StepFormEnum.STEP_NO_BONUS;
|
154
|
+
return;
|
155
|
+
}
|
156
|
+
this.sucess = "Código validado com sucesso!";
|
157
|
+
localStorage.setItem(keys_storage.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
|
158
|
+
localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));
|
159
|
+
localStorage.setItem(keys_storage.USED_KEY, "use");
|
160
|
+
localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());
|
161
|
+
this.step = index$1.StepFormEnum.STEP_RESERVE;
|
162
|
+
}
|
163
|
+
catch (error) {
|
164
|
+
const _error = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
|
165
|
+
if (_error.includes("Pin")) {
|
166
|
+
this.error = "Código inválido!";
|
167
|
+
}
|
168
|
+
else {
|
169
|
+
this.error = _error;
|
170
|
+
this.step = index$1.StepFormEnum.STEP_NO_BONUS;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
finally {
|
174
|
+
this.loading = false;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
handleCancel() {
|
178
|
+
// this.step = StepFormEnum.STEP_PHONE;
|
179
|
+
this.cancel();
|
180
|
+
}
|
181
|
+
async cancel() {
|
182
|
+
this.message = "";
|
183
|
+
this.loading = true;
|
184
|
+
try {
|
185
|
+
await this.crmBonusService.cancel(this.cartId);
|
186
|
+
localStorage.setItem(keys_storage.USED_KEY, "dontUse");
|
187
|
+
this.save(0);
|
188
|
+
}
|
189
|
+
catch (error) {
|
190
|
+
this.message = "Não consegui cancelar o bônus, tente novamente!";
|
191
|
+
}
|
192
|
+
finally {
|
193
|
+
this.loading = false;
|
194
|
+
}
|
195
|
+
}
|
196
|
+
async reserveApply(amount) {
|
197
|
+
this.loading = true;
|
198
|
+
this.message = "";
|
199
|
+
try {
|
200
|
+
await this.reserve(amount);
|
201
|
+
this.save(amount);
|
202
|
+
}
|
203
|
+
catch (error) {
|
204
|
+
this.message = "ocorreu um error ao solicitar a aplicação do bonus! tente novamente";
|
205
|
+
this.step = index$1.StepFormEnum.STEP_NO_BONUS;
|
206
|
+
localStorage.removeItem(this.cartId);
|
207
|
+
}
|
208
|
+
finally {
|
209
|
+
this.loading = false;
|
210
|
+
}
|
211
|
+
}
|
212
|
+
save(amount) {
|
213
|
+
localStorage.setItem(this.cartId, amount.toString());
|
214
|
+
}
|
215
|
+
async reserve(amount) {
|
216
|
+
await this.crmBonusService.reserve({
|
217
|
+
redeemedBonus: amount,
|
218
|
+
cartId: this.cartId,
|
219
|
+
ticket: this.cartId,
|
220
|
+
grossValue: Number(this.bonus.totalValue),
|
221
|
+
storeName: this.storeName,
|
222
|
+
storeId: this.bonus.storeId.toString(),
|
223
|
+
userId: this.bonus.userId
|
224
|
+
});
|
225
|
+
}
|
226
|
+
render() {
|
227
|
+
return (index.h("div", { key: '6c4697a291f53468febca649827943dcf170ebf0', class: "crm-container-form fbits-responsive-carrinho-desconto" }, index.h("label", { key: '03d30744802d895cf0e3debada89a002553ed086', class: "crm-title" }, this.config.giftbackTitle), this.step === index$1.StepFormEnum.STEP_PHONE &&
|
228
|
+
index.h("phone-form", { key: 'c587112386a887f01b3c34f219ee2bbc70793977', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === index$1.StepFormEnum.STEP_PIN &&
|
229
|
+
index.h("pin-form", { key: '77ea15afe3c337b99fd9f6b61a6371145970e910', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && index.h("p", { key: '8be745c614e20e582e8d060cc582432b471dc1c8', class: "crm-message-info" }, this.sucess), this.error && index.h("p", { key: '38095e8e2f34b9113273ca060a505f25131e9140', class: "crm-message-error" }, this.error)), this.step === index$1.StepFormEnum.STEP_RESERVE &&
|
230
|
+
index.h("giftback-info", { key: 'f76e120f6e7ccf5a353b69bc78d8d10ae9fc34de', config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus() }), this.step === index$1.StepFormEnum.STEP_NO_BONUS &&
|
231
|
+
(index.h("div", { key: 'bb59357639b70c4f2a23a14f1ed7beace379dacb', class: "container-message" }, i18n.instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
|
232
|
+
}
|
233
|
+
};
|
234
|
+
CrmBonus.style = CrmGiftbackFormStyle0;
|
235
|
+
|
236
|
+
const loadingContainerCss = ".loading-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255, 255, 255, 0.3);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.relative-xy{position:relative}";
|
237
|
+
const LoadingContainerStyle0 = loadingContainerCss;
|
238
|
+
|
239
|
+
const LoadingContainer = class {
|
240
|
+
constructor(hostRef) {
|
241
|
+
index.registerInstance(this, hostRef);
|
242
|
+
this.loading = true;
|
243
|
+
}
|
244
|
+
render() {
|
245
|
+
return (index.h("div", { key: '06a7a57acb07c91ca75d00dd42ca568ac708a3ef', class: "relative-xy" }, this.loading && (index.h("div", { key: '6eee6954ce47b3a60cc9d3f599aa826c30e522db', class: "loading-container" }, index.h("div", { key: '8747ac17ca30704d18739ccd1cf7d31fbbb05419', class: "loading-spinner" }))), index.h("slot", { key: '32ffc7a17474372cf35fe7812fa4f193d00aa224' })));
|
246
|
+
}
|
247
|
+
};
|
248
|
+
LoadingContainer.style = LoadingContainerStyle0;
|
249
|
+
|
250
|
+
exports.crm_giftback_form = CrmBonus;
|
251
|
+
exports.loading_container = LoadingContainer;
|
252
|
+
|
253
|
+
//# sourceMappingURL=crm-giftback-form_2.cjs.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"crm-giftback-form.entry.esm.js","mappings":"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","names":["i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n font-family: Roboto;\n font-size: var(--crmfont-sizebodymd);\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n font-size: 14px;\n color: var(--crm-btn);\n font-weight: 100;\n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n font-size: 16px;\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n font-size: 12px;\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n font-size: 12px;\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n //this.step = StepFormEnum.STEP_RESERVE;\n\n }\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin();\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber();\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n await this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: this.convertStringToNumber(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}"],"version":3}
|
1
|
+
{"file":"crm-giftback-form.loading-container.entry.cjs.js","mappings":"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","names":["CrmBonusService","StepFormEnum","getKeyReserveByCartId","getInfoCustomization","USED_KEY","h","i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx","src/components/loading-container/loading-container.css?tag=loading-container","src/components/loading-container/loading-container.tsx"],"sourcesContent":["* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n font-family: Roboto;\n font-size: var(--crmfont-sizebodymd);\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n font-size: 14px;\n color: var(--crm-btn);\n font-weight: 100;\n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n font-size: 16px;\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n font-size: 12px;\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n font-size: 12px;\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css'\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n\n @State() hasApplyBonus = false;\n\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n this.sucess = \"\";\n\n console.log('processBonus', [])\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n //this.step = StepFormEnum.STEP_RESERVE;\n\n }\n }\n\n async handleSendPin(phone: string) {\n\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin();\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber();\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n\n await this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: this.convertStringToNumber(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.message;\n\n if (_error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n\n\n } finally {\n this.loading = false;\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n this.save(0)\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" >\n\n {/* <loading-container /> */}\n\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}","/* Estilo para centralizar o container do loading */\n.loading-container {\n position: absolute;\n /* Fixa o loading na tela */\n top: 0;\n left: 0;\n width: 100%;\n /* Tamanho total da tela */\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n /* Fundo semitransparente */\n display: flex;\n /* Centraliza o conteúdo */\n justify-content: center;\n align-items: center;\n z-index: 1000;\n /* Coloca o loading acima de outros elementos */\n}\n\n/* Estilo do spinner (círculo giratório) */\n.loading-spinner {\n width: 50px;\n height: 50px;\n border: 5px solid rgba(255, 255, 255, 0.3);\n /* Borda semitransparente */\n border-top: 5px solid white;\n /* Borda que será animada */\n border-radius: 50%;\n /* Faz o círculo */\n animation: spin 1s linear infinite;\n /* Gira continuamente */\n}\n\n/* Keyframes para a animação de rotação */\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.relative-xy {\n position: relative;\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'loading-container',\n styleUrl: 'loading-container.css'\n})\nexport class LoadingContainer {\n\n @Prop() loading: boolean = true;\n\n render() {\n return (\n <div class=\"relative-xy\">\n {\n this.loading && (\n <div class=\"loading-container\">\n <div class=\"loading-spinner\">\n\n </div>\n \n </div>\n )\n }\n <slot></slot>\n </div>\n )\n }\n}"],"version":3}
|