@eventlook/sdk 1.5.0-beta.1 → 1.5.0-beta.3
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/.prettierrc +1 -14
- package/README.md +5 -25
- package/dist/cjs/index.js +49195 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mui-tel-input.es-Bjml407E.js +3856 -0
- package/dist/cjs/mui-tel-input.es-Bjml407E.js.map +1 -0
- package/dist/esm/index.js +49194 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mui-tel-input.es-Bt2rE3An.js +3851 -0
- package/dist/esm/mui-tel-input.es-Bt2rE3An.js.map +1 -0
- package/dist/types/components/Label.d.ts +1 -1
- package/dist/types/components/TextIconLabel.d.ts +1 -2
- package/dist/types/form/PaymentSuccess.d.ts +1 -1
- package/dist/types/form/TicketSelectionMap.d.ts +1 -1
- package/dist/types/modules/shopping-cart.d.ts +2 -2
- package/dist/types/utils/types/event.type.d.ts +0 -5
- package/dist/types/utils/types/global.type.d.ts +1 -1
- package/dist/types/utils/types/user.type.d.ts +1 -1
- package/eslint.config.mjs +103 -27
- package/package.json +14 -19
- package/rollup.config.mjs +40 -21
- package/src/@types/index.d.ts +3 -3
- package/src/components/TextIconLabel.tsx +1 -2
- package/src/components/animate/IconButtonAnimate.tsx +1 -2
- package/src/components/animate/MotionLazyContainer.tsx +1 -1
- package/src/components/hook-form/RHFCodes.tsx +1 -2
- package/src/components/hook-form/RHFSelect.tsx +1 -1
- package/src/form/PaymentSuccess.tsx +2 -2
- package/src/form/ScriptLoader.tsx +1 -2
- package/src/form/Shipping.tsx +75 -77
- package/src/form/TicketForm.tsx +3 -3
- package/src/locales/en.tsx +1 -1
- package/src/utils/types/event.type.ts +0 -6
- package/tsconfig.build.json +1 -0
- package/dist/cjs/components/ClientOnly.js +0 -19
- package/dist/cjs/components/ClientOnly.js.map +0 -1
- package/dist/cjs/components/CustomSkeleton.js +0 -15
- package/dist/cjs/components/CustomSkeleton.js.map +0 -1
- package/dist/cjs/components/Image.js +0 -71
- package/dist/cjs/components/Image.js.map +0 -1
- package/dist/cjs/components/Label.js +0 -65
- package/dist/cjs/components/Label.js.map +0 -1
- package/dist/cjs/components/TextIconLabel.js +0 -19
- package/dist/cjs/components/TextIconLabel.js.map +0 -1
- package/dist/cjs/components/TicketFormSkeleton.js +0 -55
- package/dist/cjs/components/TicketFormSkeleton.js.map +0 -1
- package/dist/cjs/components/Trans.js +0 -87
- package/dist/cjs/components/Trans.js.map +0 -1
- package/dist/cjs/components/animate/IconButtonAnimate.js +0 -29
- package/dist/cjs/components/animate/IconButtonAnimate.js.map +0 -1
- package/dist/cjs/components/animate/MotionContainer.js +0 -18
- package/dist/cjs/components/animate/MotionContainer.js.map +0 -1
- package/dist/cjs/components/animate/variants/bounce.js +0 -98
- package/dist/cjs/components/animate/variants/bounce.js.map +0 -1
- package/dist/cjs/components/animate/variants/container.js +0 -25
- package/dist/cjs/components/animate/variants/container.js.map +0 -1
- package/dist/cjs/components/animate/variants/transition.js +0 -17
- package/dist/cjs/components/animate/variants/transition.js.map +0 -1
- package/dist/cjs/components/confirm-dialog/ConfirmDialog.js +0 -24
- package/dist/cjs/components/confirm-dialog/ConfirmDialog.js.map +0 -1
- package/dist/cjs/components/hook-form/FormProvider.js +0 -14
- package/dist/cjs/components/hook-form/FormProvider.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFCheckbox.js +0 -15
- package/dist/cjs/components/hook-form/RHFCheckbox.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFDatePicker.js +0 -22
- package/dist/cjs/components/hook-form/RHFDatePicker.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFPhone.js +0 -24
- package/dist/cjs/components/hook-form/RHFPhone.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFRadioGroup.js +0 -29
- package/dist/cjs/components/hook-form/RHFRadioGroup.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFSelect.js +0 -34
- package/dist/cjs/components/hook-form/RHFSelect.js.map +0 -1
- package/dist/cjs/components/hook-form/RHFTextField.js +0 -15
- package/dist/cjs/components/hook-form/RHFTextField.js.map +0 -1
- package/dist/cjs/components/iconify/Iconify.js +0 -14
- package/dist/cjs/components/iconify/Iconify.js.map +0 -1
- package/dist/cjs/context/GlobalContext.js +0 -65
- package/dist/cjs/context/GlobalContext.js.map +0 -1
- package/dist/cjs/form/ChildEventCard.js +0 -60
- package/dist/cjs/form/ChildEventCard.js.map +0 -1
- package/dist/cjs/form/ChildEventDialog.js +0 -30
- package/dist/cjs/form/ChildEventDialog.js.map +0 -1
- package/dist/cjs/form/ChildEvents.js +0 -17
- package/dist/cjs/form/ChildEvents.js.map +0 -1
- package/dist/cjs/form/ContactPerson.js +0 -40
- package/dist/cjs/form/ContactPerson.js.map +0 -1
- package/dist/cjs/form/EmailConfirmation.js +0 -27
- package/dist/cjs/form/EmailConfirmation.js.map +0 -1
- package/dist/cjs/form/MerchandiseSelection.js +0 -17
- package/dist/cjs/form/MerchandiseSelection.js.map +0 -1
- package/dist/cjs/form/OrderSuccess.js +0 -57
- package/dist/cjs/form/OrderSuccess.js.map +0 -1
- package/dist/cjs/form/Payment.js +0 -214
- package/dist/cjs/form/Payment.js.map +0 -1
- package/dist/cjs/form/PaymentOverviewBox.js +0 -412
- package/dist/cjs/form/PaymentOverviewBox.js.map +0 -1
- package/dist/cjs/form/PaymentPending.js +0 -26
- package/dist/cjs/form/PaymentPending.js.map +0 -1
- package/dist/cjs/form/PaymentSuccess.js +0 -203
- package/dist/cjs/form/PaymentSuccess.js.map +0 -1
- package/dist/cjs/form/ReleaseCountdown.js +0 -34
- package/dist/cjs/form/ReleaseCountdown.js.map +0 -1
- package/dist/cjs/form/ReleaseWithMerchandise.js +0 -130
- package/dist/cjs/form/ReleaseWithMerchandise.js.map +0 -1
- package/dist/cjs/form/ScriptLoader.js +0 -21
- package/dist/cjs/form/ScriptLoader.js.map +0 -1
- package/dist/cjs/form/Shipping.js +0 -119
- package/dist/cjs/form/Shipping.js.map +0 -1
- package/dist/cjs/form/TicketForm.js +0 -470
- package/dist/cjs/form/TicketForm.js.map +0 -1
- package/dist/cjs/form/TicketSelection.js +0 -177
- package/dist/cjs/form/TicketSelection.js.map +0 -1
- package/dist/cjs/form/TicketSelectionMap.js +0 -67
- package/dist/cjs/form/TicketSelectionMap.js.map +0 -1
- package/dist/cjs/form/TicketWithMerchandiseSelection.js +0 -121
- package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +0 -1
- package/dist/cjs/form/TimeslotSelection.js +0 -68
- package/dist/cjs/form/TimeslotSelection.js.map +0 -1
- package/dist/cjs/form/extra-field/ExtraField.js +0 -20
- package/dist/cjs/form/extra-field/ExtraField.js.map +0 -1
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js +0 -60
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js.map +0 -1
- package/dist/cjs/form/index.js +0 -69
- package/dist/cjs/form/index.js.map +0 -1
- package/dist/cjs/form/payment/FeeBox.js +0 -42
- package/dist/cjs/form/payment/FeeBox.js.map +0 -1
- package/dist/cjs/form/payment/PaymentOverviewCheckbox.js +0 -47
- package/dist/cjs/form/payment/PaymentOverviewCheckbox.js.map +0 -1
- package/dist/cjs/form/payment/PaymentSkeleton.js +0 -14
- package/dist/cjs/form/payment/PaymentSkeleton.js.map +0 -1
- package/dist/cjs/form/product/ProductCard.js +0 -61
- package/dist/cjs/form/product/ProductCard.js.map +0 -1
- package/dist/cjs/form/product/ProductVariantsDialog.js +0 -173
- package/dist/cjs/form/product/ProductVariantsDialog.js.map +0 -1
- package/dist/cjs/form/shipping/ShippingSkeleton.js +0 -14
- package/dist/cjs/form/shipping/ShippingSkeleton.js.map +0 -1
- package/dist/cjs/form/style.js +0 -50
- package/dist/cjs/form/style.js.map +0 -1
- package/dist/cjs/form/timeslot/TimeslotCalendar.js +0 -57
- package/dist/cjs/form/timeslot/TimeslotCalendar.js.map +0 -1
- package/dist/cjs/hooks/data/useActiveEventProducts.js +0 -22
- package/dist/cjs/hooks/data/useActiveEventProducts.js.map +0 -1
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js +0 -22
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js.map +0 -1
- package/dist/cjs/hooks/data/useEvent.js +0 -22
- package/dist/cjs/hooks/data/useEvent.js.map +0 -1
- package/dist/cjs/hooks/data/useEventActiveReleases.js +0 -26
- package/dist/cjs/hooks/data/useEventActiveReleases.js.map +0 -1
- package/dist/cjs/hooks/data/useEventShippingMethods.js +0 -22
- package/dist/cjs/hooks/data/useEventShippingMethods.js.map +0 -1
- package/dist/cjs/hooks/data/useEventTimeslots.js +0 -23
- package/dist/cjs/hooks/data/useEventTimeslots.js.map +0 -1
- package/dist/cjs/hooks/useCountdown.js +0 -40
- package/dist/cjs/hooks/useCountdown.js.map +0 -1
- package/dist/cjs/hooks/useDebounce.js +0 -17
- package/dist/cjs/hooks/useDebounce.js.map +0 -1
- package/dist/cjs/hooks/useErrors.js +0 -28
- package/dist/cjs/hooks/useErrors.js.map +0 -1
- package/dist/cjs/hooks/useGlobal.js +0 -11
- package/dist/cjs/hooks/useGlobal.js.map +0 -1
- package/dist/cjs/hooks/useResponsive.js +0 -29
- package/dist/cjs/hooks/useResponsive.js.map +0 -1
- package/dist/cjs/locales/cs.js +0 -163
- package/dist/cjs/locales/cs.js.map +0 -1
- package/dist/cjs/locales/en.js +0 -164
- package/dist/cjs/locales/en.js.map +0 -1
- package/dist/cjs/locales/es.js +0 -164
- package/dist/cjs/locales/es.js.map +0 -1
- package/dist/cjs/locales/index.js +0 -18
- package/dist/cjs/locales/index.js.map +0 -1
- package/dist/cjs/locales/pl.js +0 -164
- package/dist/cjs/locales/pl.js.map +0 -1
- package/dist/cjs/locales/sk.js +0 -164
- package/dist/cjs/locales/sk.js.map +0 -1
- package/dist/cjs/locales/uk.js +0 -164
- package/dist/cjs/locales/uk.js.map +0 -1
- package/dist/cjs/modules/event-timeslot.js +0 -12
- package/dist/cjs/modules/event-timeslot.js.map +0 -1
- package/dist/cjs/modules/event.js +0 -24
- package/dist/cjs/modules/event.js.map +0 -1
- package/dist/cjs/modules/order.js +0 -14
- package/dist/cjs/modules/order.js.map +0 -1
- package/dist/cjs/modules/promo-code.js +0 -13
- package/dist/cjs/modules/promo-code.js.map +0 -1
- package/dist/cjs/modules/shopping-cart.js +0 -16
- package/dist/cjs/modules/shopping-cart.js.map +0 -1
- package/dist/cjs/utils/axios.js +0 -20
- package/dist/cjs/utils/axios.js.map +0 -1
- package/dist/cjs/utils/data/cookie.js +0 -6
- package/dist/cjs/utils/data/cookie.js.map +0 -1
- package/dist/cjs/utils/data/currency.js +0 -9
- package/dist/cjs/utils/data/currency.js.map +0 -1
- package/dist/cjs/utils/data/event.js +0 -8
- package/dist/cjs/utils/data/event.js.map +0 -1
- package/dist/cjs/utils/data/extra-field.js +0 -16
- package/dist/cjs/utils/data/extra-field.js.map +0 -1
- package/dist/cjs/utils/data/gender.js +0 -9
- package/dist/cjs/utils/data/gender.js.map +0 -1
- package/dist/cjs/utils/data/global.js +0 -6
- package/dist/cjs/utils/data/global.js.map +0 -1
- package/dist/cjs/utils/data/gopay.js +0 -14
- package/dist/cjs/utils/data/gopay.js.map +0 -1
- package/dist/cjs/utils/data/language.js +0 -14
- package/dist/cjs/utils/data/language.js.map +0 -1
- package/dist/cjs/utils/data/lottie/bank-transfer.json.js +0 -20
- package/dist/cjs/utils/data/lottie/bank-transfer.json.js.map +0 -1
- package/dist/cjs/utils/data/promo-code.js +0 -8
- package/dist/cjs/utils/data/promo-code.js.map +0 -1
- package/dist/cjs/utils/data/shipping-method.js +0 -8
- package/dist/cjs/utils/data/shipping-method.js.map +0 -1
- package/dist/cjs/utils/formatNumber.js +0 -19
- package/dist/cjs/utils/formatNumber.js.map +0 -1
- package/dist/cjs/utils/global.js +0 -26
- package/dist/cjs/utils/global.js.map +0 -1
- package/dist/cjs/utils/gtm.js +0 -125
- package/dist/cjs/utils/gtm.js.map +0 -1
- package/dist/cjs/utils/isBrowser.js +0 -6
- package/dist/cjs/utils/isBrowser.js.map +0 -1
- package/dist/cjs/utils/place.js +0 -6
- package/dist/cjs/utils/place.js.map +0 -1
- package/dist/cjs/utils/price.js +0 -15
- package/dist/cjs/utils/price.js.map +0 -1
- package/dist/cjs/utils/product.js +0 -29
- package/dist/cjs/utils/product.js.map +0 -1
- package/dist/cjs/utils/translation.js +0 -6
- package/dist/cjs/utils/translation.js.map +0 -1
- package/dist/cjs/utils/url.js +0 -18
- package/dist/cjs/utils/url.js.map +0 -1
- package/dist/esm/components/ClientOnly.js +0 -15
- package/dist/esm/components/ClientOnly.js.map +0 -1
- package/dist/esm/components/CustomSkeleton.js +0 -11
- package/dist/esm/components/CustomSkeleton.js.map +0 -1
- package/dist/esm/components/Image.js +0 -67
- package/dist/esm/components/Image.js.map +0 -1
- package/dist/esm/components/Label.js +0 -61
- package/dist/esm/components/Label.js.map +0 -1
- package/dist/esm/components/TextIconLabel.js +0 -15
- package/dist/esm/components/TextIconLabel.js.map +0 -1
- package/dist/esm/components/TicketFormSkeleton.js +0 -51
- package/dist/esm/components/TicketFormSkeleton.js.map +0 -1
- package/dist/esm/components/Trans.js +0 -85
- package/dist/esm/components/Trans.js.map +0 -1
- package/dist/esm/components/animate/IconButtonAnimate.js +0 -27
- package/dist/esm/components/animate/IconButtonAnimate.js.map +0 -1
- package/dist/esm/components/animate/MotionContainer.js +0 -14
- package/dist/esm/components/animate/MotionContainer.js.map +0 -1
- package/dist/esm/components/animate/variants/bounce.js +0 -96
- package/dist/esm/components/animate/variants/bounce.js.map +0 -1
- package/dist/esm/components/animate/variants/container.js +0 -23
- package/dist/esm/components/animate/variants/container.js.map +0 -1
- package/dist/esm/components/animate/variants/transition.js +0 -14
- package/dist/esm/components/animate/variants/transition.js.map +0 -1
- package/dist/esm/components/confirm-dialog/ConfirmDialog.js +0 -20
- package/dist/esm/components/confirm-dialog/ConfirmDialog.js.map +0 -1
- package/dist/esm/components/hook-form/FormProvider.js +0 -10
- package/dist/esm/components/hook-form/FormProvider.js.map +0 -1
- package/dist/esm/components/hook-form/RHFCheckbox.js +0 -13
- package/dist/esm/components/hook-form/RHFCheckbox.js.map +0 -1
- package/dist/esm/components/hook-form/RHFDatePicker.js +0 -18
- package/dist/esm/components/hook-form/RHFDatePicker.js.map +0 -1
- package/dist/esm/components/hook-form/RHFPhone.js +0 -20
- package/dist/esm/components/hook-form/RHFPhone.js.map +0 -1
- package/dist/esm/components/hook-form/RHFRadioGroup.js +0 -25
- package/dist/esm/components/hook-form/RHFRadioGroup.js.map +0 -1
- package/dist/esm/components/hook-form/RHFSelect.js +0 -32
- package/dist/esm/components/hook-form/RHFSelect.js.map +0 -1
- package/dist/esm/components/hook-form/RHFTextField.js +0 -11
- package/dist/esm/components/hook-form/RHFTextField.js.map +0 -1
- package/dist/esm/components/iconify/Iconify.js +0 -10
- package/dist/esm/components/iconify/Iconify.js.map +0 -1
- package/dist/esm/context/GlobalContext.js +0 -62
- package/dist/esm/context/GlobalContext.js.map +0 -1
- package/dist/esm/form/ChildEventCard.js +0 -56
- package/dist/esm/form/ChildEventCard.js.map +0 -1
- package/dist/esm/form/ChildEventDialog.js +0 -26
- package/dist/esm/form/ChildEventDialog.js.map +0 -1
- package/dist/esm/form/ChildEvents.js +0 -13
- package/dist/esm/form/ChildEvents.js.map +0 -1
- package/dist/esm/form/ContactPerson.js +0 -36
- package/dist/esm/form/ContactPerson.js.map +0 -1
- package/dist/esm/form/EmailConfirmation.js +0 -23
- package/dist/esm/form/EmailConfirmation.js.map +0 -1
- package/dist/esm/form/MerchandiseSelection.js +0 -13
- package/dist/esm/form/MerchandiseSelection.js.map +0 -1
- package/dist/esm/form/OrderSuccess.js +0 -53
- package/dist/esm/form/OrderSuccess.js.map +0 -1
- package/dist/esm/form/Payment.js +0 -210
- package/dist/esm/form/Payment.js.map +0 -1
- package/dist/esm/form/PaymentOverviewBox.js +0 -408
- package/dist/esm/form/PaymentOverviewBox.js.map +0 -1
- package/dist/esm/form/PaymentPending.js +0 -22
- package/dist/esm/form/PaymentPending.js.map +0 -1
- package/dist/esm/form/PaymentSuccess.js +0 -199
- package/dist/esm/form/PaymentSuccess.js.map +0 -1
- package/dist/esm/form/ReleaseCountdown.js +0 -30
- package/dist/esm/form/ReleaseCountdown.js.map +0 -1
- package/dist/esm/form/ReleaseWithMerchandise.js +0 -126
- package/dist/esm/form/ReleaseWithMerchandise.js.map +0 -1
- package/dist/esm/form/ScriptLoader.js +0 -17
- package/dist/esm/form/ScriptLoader.js.map +0 -1
- package/dist/esm/form/Shipping.js +0 -115
- package/dist/esm/form/Shipping.js.map +0 -1
- package/dist/esm/form/TicketForm.js +0 -447
- package/dist/esm/form/TicketForm.js.map +0 -1
- package/dist/esm/form/TicketSelection.js +0 -173
- package/dist/esm/form/TicketSelection.js.map +0 -1
- package/dist/esm/form/TicketSelectionMap.js +0 -63
- package/dist/esm/form/TicketSelectionMap.js.map +0 -1
- package/dist/esm/form/TicketWithMerchandiseSelection.js +0 -117
- package/dist/esm/form/TicketWithMerchandiseSelection.js.map +0 -1
- package/dist/esm/form/TimeslotSelection.js +0 -64
- package/dist/esm/form/TimeslotSelection.js.map +0 -1
- package/dist/esm/form/extra-field/ExtraField.js +0 -16
- package/dist/esm/form/extra-field/ExtraField.js.map +0 -1
- package/dist/esm/form/extra-field/ReleaseExtraFields.js +0 -56
- package/dist/esm/form/extra-field/ReleaseExtraFields.js.map +0 -1
- package/dist/esm/form/index.js +0 -65
- package/dist/esm/form/index.js.map +0 -1
- package/dist/esm/form/payment/FeeBox.js +0 -38
- package/dist/esm/form/payment/FeeBox.js.map +0 -1
- package/dist/esm/form/payment/PaymentOverviewCheckbox.js +0 -43
- package/dist/esm/form/payment/PaymentOverviewCheckbox.js.map +0 -1
- package/dist/esm/form/payment/PaymentSkeleton.js +0 -10
- package/dist/esm/form/payment/PaymentSkeleton.js.map +0 -1
- package/dist/esm/form/product/ProductCard.js +0 -57
- package/dist/esm/form/product/ProductCard.js.map +0 -1
- package/dist/esm/form/product/ProductVariantsDialog.js +0 -169
- package/dist/esm/form/product/ProductVariantsDialog.js.map +0 -1
- package/dist/esm/form/shipping/ShippingSkeleton.js +0 -10
- package/dist/esm/form/shipping/ShippingSkeleton.js.map +0 -1
- package/dist/esm/form/style.js +0 -44
- package/dist/esm/form/style.js.map +0 -1
- package/dist/esm/form/timeslot/TimeslotCalendar.js +0 -53
- package/dist/esm/form/timeslot/TimeslotCalendar.js.map +0 -1
- package/dist/esm/hooks/data/useActiveEventProducts.js +0 -18
- package/dist/esm/hooks/data/useActiveEventProducts.js.map +0 -1
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js +0 -18
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js.map +0 -1
- package/dist/esm/hooks/data/useEvent.js +0 -18
- package/dist/esm/hooks/data/useEvent.js.map +0 -1
- package/dist/esm/hooks/data/useEventActiveReleases.js +0 -22
- package/dist/esm/hooks/data/useEventActiveReleases.js.map +0 -1
- package/dist/esm/hooks/data/useEventShippingMethods.js +0 -18
- package/dist/esm/hooks/data/useEventShippingMethods.js.map +0 -1
- package/dist/esm/hooks/data/useEventTimeslots.js +0 -19
- package/dist/esm/hooks/data/useEventTimeslots.js.map +0 -1
- package/dist/esm/hooks/useCountdown.js +0 -36
- package/dist/esm/hooks/useCountdown.js.map +0 -1
- package/dist/esm/hooks/useDebounce.js +0 -13
- package/dist/esm/hooks/useDebounce.js.map +0 -1
- package/dist/esm/hooks/useErrors.js +0 -24
- package/dist/esm/hooks/useErrors.js.map +0 -1
- package/dist/esm/hooks/useGlobal.js +0 -7
- package/dist/esm/hooks/useGlobal.js.map +0 -1
- package/dist/esm/hooks/useResponsive.js +0 -25
- package/dist/esm/hooks/useResponsive.js.map +0 -1
- package/dist/esm/locales/cs.js +0 -159
- package/dist/esm/locales/cs.js.map +0 -1
- package/dist/esm/locales/en.js +0 -160
- package/dist/esm/locales/en.js.map +0 -1
- package/dist/esm/locales/es.js +0 -160
- package/dist/esm/locales/es.js.map +0 -1
- package/dist/esm/locales/index.js +0 -7
- package/dist/esm/locales/index.js.map +0 -1
- package/dist/esm/locales/pl.js +0 -160
- package/dist/esm/locales/pl.js.map +0 -1
- package/dist/esm/locales/sk.js +0 -160
- package/dist/esm/locales/sk.js.map +0 -1
- package/dist/esm/locales/uk.js +0 -160
- package/dist/esm/locales/uk.js.map +0 -1
- package/dist/esm/modules/event-timeslot.js +0 -10
- package/dist/esm/modules/event-timeslot.js.map +0 -1
- package/dist/esm/modules/event.js +0 -19
- package/dist/esm/modules/event.js.map +0 -1
- package/dist/esm/modules/order.js +0 -10
- package/dist/esm/modules/order.js.map +0 -1
- package/dist/esm/modules/promo-code.js +0 -11
- package/dist/esm/modules/promo-code.js.map +0 -1
- package/dist/esm/modules/shopping-cart.js +0 -13
- package/dist/esm/modules/shopping-cart.js.map +0 -1
- package/dist/esm/utils/axios.js +0 -16
- package/dist/esm/utils/axios.js.map +0 -1
- package/dist/esm/utils/data/cookie.js +0 -4
- package/dist/esm/utils/data/cookie.js.map +0 -1
- package/dist/esm/utils/data/currency.js +0 -9
- package/dist/esm/utils/data/currency.js.map +0 -1
- package/dist/esm/utils/data/event.js +0 -8
- package/dist/esm/utils/data/event.js.map +0 -1
- package/dist/esm/utils/data/extra-field.js +0 -16
- package/dist/esm/utils/data/extra-field.js.map +0 -1
- package/dist/esm/utils/data/gender.js +0 -9
- package/dist/esm/utils/data/gender.js.map +0 -1
- package/dist/esm/utils/data/global.js +0 -4
- package/dist/esm/utils/data/global.js.map +0 -1
- package/dist/esm/utils/data/gopay.js +0 -14
- package/dist/esm/utils/data/gopay.js.map +0 -1
- package/dist/esm/utils/data/language.js +0 -14
- package/dist/esm/utils/data/language.js.map +0 -1
- package/dist/esm/utils/data/lottie/bank-transfer.json.js +0 -4
- package/dist/esm/utils/data/lottie/bank-transfer.json.js.map +0 -1
- package/dist/esm/utils/data/promo-code.js +0 -8
- package/dist/esm/utils/data/promo-code.js.map +0 -1
- package/dist/esm/utils/data/shipping-method.js +0 -8
- package/dist/esm/utils/data/shipping-method.js.map +0 -1
- package/dist/esm/utils/formatNumber.js +0 -17
- package/dist/esm/utils/formatNumber.js.map +0 -1
- package/dist/esm/utils/global.js +0 -21
- package/dist/esm/utils/global.js.map +0 -1
- package/dist/esm/utils/gtm.js +0 -112
- package/dist/esm/utils/gtm.js.map +0 -1
- package/dist/esm/utils/isBrowser.js +0 -4
- package/dist/esm/utils/isBrowser.js.map +0 -1
- package/dist/esm/utils/place.js +0 -4
- package/dist/esm/utils/place.js.map +0 -1
- package/dist/esm/utils/price.js +0 -12
- package/dist/esm/utils/price.js.map +0 -1
- package/dist/esm/utils/product.js +0 -27
- package/dist/esm/utils/product.js.map +0 -1
- package/dist/esm/utils/translation.js +0 -4
- package/dist/esm/utils/translation.js.map +0 -1
- package/dist/esm/utils/url.js +0 -16
- package/dist/esm/utils/url.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Shipping.js","sources":["../../../src/form/Shipping.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport useEventShippingMethods from '@hooks/data/useEventShippingMethods';\nimport { IEvent } from '@utils/types/event.type';\nimport ShippingSkeleton from '@form/shipping/ShippingSkeleton';\nimport {\n Box,\n Button,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n Stack,\n Typography,\n} from '@mui/material';\nimport { ShippingMethodItem } from '@form/style';\nimport { Iconify } from '@components/iconify';\nimport { Controller, useFormContext, useWatch } from 'react-hook-form';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport { ShippingTypes } from '@utils/data/shipping-method';\nimport useGlobal from '@hooks/useGlobal';\nimport ScriptLoader from '@form/ScriptLoader';\nimport { IEventProductForm } from '@utils/types/product.type';\n\ninterface Props {\n event: IEvent;\n}\n\nconst Shipping: React.FC<Props> = ({ event }) => {\n const { t, lang, options } = useGlobal();\n const { data: shippingMethods, isLoading } = useEventShippingMethods(event.id, {\n currency: event.currency,\n });\n const { control, watch, setValue } = useFormContext<ITicketForm>();\n const tickets: Record<string, ITicketFormTicket[]> = useWatch({\n name: 'tickets',\n defaultValue: {},\n });\n const flatTickets: ITicketFormTicket[] = useMemo(() => Object.values(tickets).flat(), [tickets]);\n const products: Record<string, IEventProductForm[]> = useWatch({\n name: 'products',\n defaultValue: {},\n });\n const flatProducts: IEventProductForm[] = useMemo(\n () => Object.values(products).flat(),\n [products]\n );\n const shippingMethodId = watch('shipping.shippingMethodId');\n const branchId = watch('shipping.branchId');\n const [displayBranchName, setDisplayBranchName] = useState<string | null>(null);\n const [firstRender, setFirstRender] = useState<boolean>(true);\n const filteredShippingMethods = useMemo(\n () =>\n shippingMethods?.filter(\n (shippingMethod) =>\n !flatProducts?.find((product) =>\n product.excludedShippingMethodIds?.includes(shippingMethod?.id)\n ) &&\n !flatTickets.find((ticket) =>\n ticket.products.find((product) =>\n product.excludedShippingMethodIds?.includes(shippingMethod?.id)\n )\n )\n ),\n [shippingMethods, shippingMethodId, flatTickets, flatProducts]\n );\n\n const paymentImages = {\n [ShippingTypes.PACKETA]: (\n <Iconify icon=\"arcticons:packeta\" color=\"rgb(186,27,2)\" width={32} height={32} />\n ),\n [ShippingTypes.PICK_UP]: <Iconify icon=\"flowbite:store-solid\" width={32} height={32} />,\n };\n\n const onSelectBranch = (branch: any) => {\n if (branch) {\n setValue('shipping.branchId', branch.id);\n setDisplayBranchName(branch.name);\n } else {\n setValue('shipping.shippingMethodId', null);\n setValue('shipping.branchId', null);\n setDisplayBranchName(null);\n }\n };\n\n const handleChangeBranch = () => {\n setValue('shipping.branchId', null);\n setDisplayBranchName(null);\n };\n\n useEffect(() => {\n if (firstRender && filteredShippingMethods.length === 1) {\n setValue('shipping.shippingMethodId', filteredShippingMethods[0].id);\n setFirstRender(false);\n }\n }, [firstRender, filteredShippingMethods]);\n\n useEffect(() => {\n const selectedShippingMethod = shippingMethods.find(\n (method) => method.id === Number(shippingMethodId)\n );\n\n if (selectedShippingMethod) {\n setValue('shipping.price', selectedShippingMethod.price);\n\n if (selectedShippingMethod.type === ShippingTypes.PACKETA) {\n if (!branchId) {\n const interval = setInterval(() => {\n if (window.Packeta && window.Packeta.Widget) {\n clearInterval(interval);\n window.Packeta.Widget.pick(options?.packetaApiKey, onSelectBranch, {\n language: lang,\n });\n }\n }, 100);\n }\n } else {\n setValue('shipping.branchId', null);\n setDisplayBranchName(null);\n }\n } else {\n setValue('shipping.price', 0);\n }\n }, [shippingMethodId, shippingMethods, branchId]);\n\n return (\n <>\n <ScriptLoader />\n <div>\n {isLoading ? (\n <ShippingSkeleton />\n ) : (\n <>\n {filteredShippingMethods.length === 0 ? (\n <Typography variant=\"h4\" color=\"error\">\n {t('event.tickets.stepper.5.error')}\n </Typography>\n ) : (\n <>\n <Controller\n name=\"shipping.shippingMethodId\"\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormControl component=\"fieldset\" sx={{ width: '100%' }}>\n <RadioGroup {...field}>\n {filteredShippingMethods.map((shippingMethod) => (\n <ShippingMethodItem\n key={shippingMethod.id}\n active={Number(shippingMethodId) === shippingMethod.id}\n >\n <FormControlLabel\n value={shippingMethod.id}\n control={<Radio />}\n label={\n <Stack\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Stack direction=\"row\" alignItems=\"center\">\n <Box\n sx={{\n marginRight: 2,\n }}\n >\n <Typography sx={{ lineHeight: 1.2 }}>\n {t(`shipping_method.types.${shippingMethod.type}`)}\n </Typography>\n {displayBranchName &&\n shippingMethod.type === ShippingTypes.PACKETA &&\n shippingMethod.id === Number(shippingMethodId) && (\n <Typography variant=\"caption\" sx={{ lineHeight: 1 }}>\n {displayBranchName}\n </Typography>\n )}\n </Box>\n {paymentImages[shippingMethod.type]}\n </Stack>\n {shippingMethod.type === ShippingTypes.PACKETA &&\n shippingMethod.id === Number(shippingMethodId) &&\n branchId && (\n <Box>\n <Button\n onClick={handleChangeBranch}\n variant=\"outlined\"\n size=\"small\"\n >\n {t('change')}\n </Button>\n </Box>\n )}\n </Stack>\n }\n sx={{\n '&:not(:last-of-type)': {\n mb: 0,\n },\n '& .MuiFormControlLabel-label': {\n width: '100%',\n mr: 0,\n },\n }}\n />\n </ShippingMethodItem>\n ))}\n </RadioGroup>\n\n {!!error && (\n <FormHelperText error={!!error} sx={{ mx: 0 }}>\n {error?.message}\n </FormHelperText>\n )}\n </FormControl>\n )}\n />\n </>\n )}\n </>\n )}\n </div>\n </>\n );\n};\n\nexport default Shipping;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
import OrderSuccess from './OrderSuccess.js';
|
|
2
|
-
import PaymentSuccess from './PaymentSuccess.js';
|
|
3
|
-
import React, { useState, useRef, useEffect, useMemo } from 'react';
|
|
4
|
-
import { useForm } from 'react-hook-form';
|
|
5
|
-
import { Box, Typography, Grid, Stepper, Step, StepLabel, StepContent, Stack, Link } from '@mui/material';
|
|
6
|
-
import { RHFCheckbox } from '../components/hook-form/RHFCheckbox.js';
|
|
7
|
-
import FormProvider from '../components/hook-form/FormProvider.js';
|
|
8
|
-
import dayjs from 'dayjs';
|
|
9
|
-
import TicketSelection from './TicketSelection.js';
|
|
10
|
-
import ContactPerson from './ContactPerson.js';
|
|
11
|
-
import Payment from './Payment.js';
|
|
12
|
-
import EmailConfirmation from './EmailConfirmation.js';
|
|
13
|
-
import { getSearchParamsInObject } from '../utils/url.js';
|
|
14
|
-
import * as Yup from 'yup';
|
|
15
|
-
import { yupResolver } from '@hookform/resolvers/yup';
|
|
16
|
-
import { postOrder } from '../modules/order.js';
|
|
17
|
-
import PaymentOverviewBox from './PaymentOverviewBox.js';
|
|
18
|
-
import { getGtmPageView, getGtmViewCart, gtmViewCart, getGtmAddPaymentInfo, mapUserToUserData, gtmAddPaymentInfo, getGtmBeginCheckout, gtmBeginCheckout, getGtmPurchase, gtmPurchase } from '../utils/gtm.js';
|
|
19
|
-
import ReleaseCountdown from './ReleaseCountdown.js';
|
|
20
|
-
import { cloneObject } from '../utils/global.js';
|
|
21
|
-
import PaymentPending from './PaymentPending.js';
|
|
22
|
-
import MerchandiseSelection from './MerchandiseSelection.js';
|
|
23
|
-
import TicketWithMerchandiseSelection from './TicketWithMerchandiseSelection.js';
|
|
24
|
-
import useActiveEventProducts from '../hooks/data/useActiveEventProducts.js';
|
|
25
|
-
import Shipping from './Shipping.js';
|
|
26
|
-
import useErrors from '../hooks/useErrors.js';
|
|
27
|
-
import { EventType } from '../utils/data/event.js';
|
|
28
|
-
import TimeslotSelection from './TimeslotSelection.js';
|
|
29
|
-
import useGlobal from '../hooks/useGlobal.js';
|
|
30
|
-
import { Trans } from '../components/Trans.js';
|
|
31
|
-
import { EVENTLOOK_ORDER_FORM_ID } from '../utils/data/global.js';
|
|
32
|
-
import ChildEventSection from './ChildEvents.js';
|
|
33
|
-
import TicketSelectionMap from './TicketSelectionMap.js';
|
|
34
|
-
|
|
35
|
-
const TicketForm = ({ event, hasGopayIdSsr, selectedReleaseId, isIframe, isInline, }) => {
|
|
36
|
-
const { t, setGlobal, callbacks, links, user, options, showSnackbar, content, seatingIframeUrl } = useGlobal();
|
|
37
|
-
const { transformErrors } = useErrors(t('event.tickets.error.order'));
|
|
38
|
-
const { data: eventProducts, isLoading } = useActiveEventProducts(event.id);
|
|
39
|
-
const [paymentRedirect, setPaymentRedirect] = useState(null);
|
|
40
|
-
const [hasGopayId, setHasGopayId] = useState(hasGopayIdSsr);
|
|
41
|
-
const [isPaying, setIsPaying] = useState(false);
|
|
42
|
-
const [formStep, setFormStep] = useState(1);
|
|
43
|
-
const [showReleaseDate, setShowReleaseDate] = useState(dayjs(event.releaseDate).diff(dayjs()) > 0);
|
|
44
|
-
const [matchIsValidTel, setMatchIsValidTel] = useState(() => false);
|
|
45
|
-
const isNotReleased = dayjs(event.releaseDate).diff(dayjs()) > 0;
|
|
46
|
-
const hasFiredViewCart = useRef(false);
|
|
47
|
-
const hasFiredBeginCheckout = useRef(false);
|
|
48
|
-
const hasFiredPaymentMethod = useRef(false);
|
|
49
|
-
const item = {
|
|
50
|
-
currency: event.currency,
|
|
51
|
-
items: [
|
|
52
|
-
{
|
|
53
|
-
item_id: `event_${event.id}`,
|
|
54
|
-
item_name: event.name,
|
|
55
|
-
quantity: 1,
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
};
|
|
59
|
-
const pixels = {
|
|
60
|
-
fb_pixel_id: event.facebookPixel?.facebookId,
|
|
61
|
-
tiktok_pixel_id: event.tiktokPixel?.tiktokId,
|
|
62
|
-
};
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
import('mui-tel-input').then((mod) => {
|
|
65
|
-
setMatchIsValidTel(() => mod.matchIsValidTel);
|
|
66
|
-
});
|
|
67
|
-
}, []);
|
|
68
|
-
useEffect(() => {
|
|
69
|
-
setGlobal({
|
|
70
|
-
options: {
|
|
71
|
-
isIframe: isIframe === undefined ? false : isIframe,
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
if (!isIframe &&
|
|
75
|
-
event &&
|
|
76
|
-
(isNotReleased ||
|
|
77
|
-
(!!event.releaseEndDate && dayjs(event.releaseEndDate).isBefore(dayjs())) ||
|
|
78
|
-
dayjs(event.endDate).isBefore(dayjs()) ||
|
|
79
|
-
event.isSoldout ||
|
|
80
|
-
event.dateUnknown ||
|
|
81
|
-
event.isCanceled)) {
|
|
82
|
-
callbacks.detail();
|
|
83
|
-
}
|
|
84
|
-
if (event && !hasGopayId && !hasFiredViewCart.current) {
|
|
85
|
-
if (isIframe) {
|
|
86
|
-
setTimeout(() => {
|
|
87
|
-
parent.postMessage({
|
|
88
|
-
type: 'eventlookFrameGtm',
|
|
89
|
-
item: getGtmPageView(location.href),
|
|
90
|
-
}, '*');
|
|
91
|
-
parent.postMessage({
|
|
92
|
-
type: 'eventlookFrameGtm',
|
|
93
|
-
item: getGtmViewCart(item, pixels),
|
|
94
|
-
}, '*');
|
|
95
|
-
}, 1000);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
gtmViewCart(item, pixels);
|
|
99
|
-
}
|
|
100
|
-
hasFiredViewCart.current = true;
|
|
101
|
-
}
|
|
102
|
-
if (!hasFiredPaymentMethod.current) {
|
|
103
|
-
const item = {
|
|
104
|
-
currency: event.currency,
|
|
105
|
-
value: 0,
|
|
106
|
-
payment_type: 'PAYMENT_CARD',
|
|
107
|
-
items: [],
|
|
108
|
-
};
|
|
109
|
-
if (isIframe) {
|
|
110
|
-
setTimeout(() => {
|
|
111
|
-
parent.postMessage({
|
|
112
|
-
type: 'eventlookFrameGtm',
|
|
113
|
-
item: getGtmAddPaymentInfo(item, pixels, user ? mapUserToUserData(user) : undefined),
|
|
114
|
-
}, '*');
|
|
115
|
-
}, 1000);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
gtmAddPaymentInfo(item, pixels);
|
|
119
|
-
}
|
|
120
|
-
hasFiredPaymentMethod.current = true;
|
|
121
|
-
}
|
|
122
|
-
}, [event]);
|
|
123
|
-
const defaultValues = useMemo(() => {
|
|
124
|
-
const makeTicket = (overrides = {}) => ({
|
|
125
|
-
releaseId: '',
|
|
126
|
-
quantity: '',
|
|
127
|
-
itemName: '',
|
|
128
|
-
price: 0,
|
|
129
|
-
products: [],
|
|
130
|
-
extraFields: [],
|
|
131
|
-
...overrides,
|
|
132
|
-
});
|
|
133
|
-
const tickets = {
|
|
134
|
-
[String(event.id)]: [
|
|
135
|
-
makeTicket({
|
|
136
|
-
releaseId: selectedReleaseId ?? '',
|
|
137
|
-
}),
|
|
138
|
-
],
|
|
139
|
-
};
|
|
140
|
-
event.children?.forEach((child) => {
|
|
141
|
-
tickets[String(child.id)] = [makeTicket()];
|
|
142
|
-
});
|
|
143
|
-
return {
|
|
144
|
-
uuid: null,
|
|
145
|
-
eventId: event.id,
|
|
146
|
-
tickets,
|
|
147
|
-
total: 0,
|
|
148
|
-
originalPrice: 0,
|
|
149
|
-
firstName: user?.firstName || '',
|
|
150
|
-
lastName: user?.lastName || '',
|
|
151
|
-
email: user?.email || '',
|
|
152
|
-
phone: user?.phone || '',
|
|
153
|
-
birthdate: user?.birthdate ? dayjs(user.birthdate) : null,
|
|
154
|
-
gender: user?.gender || '',
|
|
155
|
-
callback: '',
|
|
156
|
-
paymentMethodId: null,
|
|
157
|
-
paymentMethodOptionId: null,
|
|
158
|
-
termsAndConditions: false,
|
|
159
|
-
ticketInsurance: false,
|
|
160
|
-
ticketInsurancePrice: 0,
|
|
161
|
-
ticketInsurancePricePerUnit: 0,
|
|
162
|
-
smsNotification: false,
|
|
163
|
-
smsNotificationPrice: 0,
|
|
164
|
-
iframeCampaignId: undefined,
|
|
165
|
-
promoCodes: [],
|
|
166
|
-
products: {},
|
|
167
|
-
shipping: {
|
|
168
|
-
shippingMethodId: null,
|
|
169
|
-
branchId: null,
|
|
170
|
-
price: 0,
|
|
171
|
-
},
|
|
172
|
-
extraFields: event?.extraFields.map((field) => ({
|
|
173
|
-
eventExtraFieldId: field.id,
|
|
174
|
-
value: '',
|
|
175
|
-
})) || [],
|
|
176
|
-
selectedDate: null,
|
|
177
|
-
eventTimeslotId: null,
|
|
178
|
-
isPaymentVerify: false,
|
|
179
|
-
};
|
|
180
|
-
}, [user]);
|
|
181
|
-
const ValidationSchema = Yup.object().shape({
|
|
182
|
-
firstName: Yup.string().required(t('form.validation.required')),
|
|
183
|
-
lastName: Yup.string().required(t('form.validation.required')),
|
|
184
|
-
email: Yup.string().email(t('form.validation.email')).required(t('form.validation.required')),
|
|
185
|
-
phone: Yup.string()
|
|
186
|
-
.required(t('form.validation.required'))
|
|
187
|
-
.test('phone-checker', t('form.validation.phone'), (value) => value ? matchIsValidTel(value) : false),
|
|
188
|
-
birthdate: Yup.object()
|
|
189
|
-
.nullable()
|
|
190
|
-
.default(null)
|
|
191
|
-
.when([], {
|
|
192
|
-
is: () => !content?.form?.disableBirthDate,
|
|
193
|
-
then: (s) => s.required(t('form.validation.required')),
|
|
194
|
-
otherwise: (s) => s.notRequired(),
|
|
195
|
-
}),
|
|
196
|
-
gender: Yup.string().when([], {
|
|
197
|
-
is: () => !content?.form?.disableGender,
|
|
198
|
-
then: (schema) => schema.required(t('form.validation.required')),
|
|
199
|
-
otherwise: (schema) => schema.notRequired(),
|
|
200
|
-
}),
|
|
201
|
-
// tickets: Yup.object().test('tickets-validation', function (tickets) {
|
|
202
|
-
// if (!tickets || typeof tickets !== 'object') return false;
|
|
203
|
-
// for (const key of Object.keys(tickets)) {
|
|
204
|
-
// const arr = tickets[key];
|
|
205
|
-
// if (!Array.isArray(arr)) return false;
|
|
206
|
-
// for (const t of arr) {
|
|
207
|
-
// if (!t.releaseId || !t.quantity) {
|
|
208
|
-
// return this.createError({ message: 'Invalid ticket selection' });
|
|
209
|
-
// }
|
|
210
|
-
// }
|
|
211
|
-
// }
|
|
212
|
-
// return true;
|
|
213
|
-
// }),
|
|
214
|
-
shipping: Yup.object().shape({
|
|
215
|
-
shippingMethodId: Yup.number().nullable(),
|
|
216
|
-
branchId: Yup.string().nullable(),
|
|
217
|
-
price: Yup.number(),
|
|
218
|
-
}),
|
|
219
|
-
paymentMethodId: Yup.number().nullable().required(t('form.validation.required')),
|
|
220
|
-
paymentMethodOptionId: Yup.number().nullable(),
|
|
221
|
-
termsAndConditions: Yup.boolean().isTrue(t('form.validation.terms_and_conditions')),
|
|
222
|
-
ticketInsurance: Yup.boolean(),
|
|
223
|
-
smsNotification: Yup.boolean(),
|
|
224
|
-
extraFields: Yup.array().of(Yup.object().shape({
|
|
225
|
-
value: Yup.string().test('is-required', function (value) {
|
|
226
|
-
const options = this.options;
|
|
227
|
-
if (event.extraFields[options.index].required && !value) {
|
|
228
|
-
return this.createError({
|
|
229
|
-
message: t('form.validation.required'),
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
return true;
|
|
233
|
-
}),
|
|
234
|
-
})),
|
|
235
|
-
});
|
|
236
|
-
const methods = useForm({
|
|
237
|
-
// @ts-ignore
|
|
238
|
-
resolver: yupResolver(ValidationSchema),
|
|
239
|
-
defaultValues,
|
|
240
|
-
});
|
|
241
|
-
const values = methods.watch();
|
|
242
|
-
const onSubmit = async (values) => {
|
|
243
|
-
const allTickets = Object.values(values.tickets).flat();
|
|
244
|
-
if (allTickets.length === 1 &&
|
|
245
|
-
!allTickets[0].releaseId &&
|
|
246
|
-
!allTickets[0].quantity &&
|
|
247
|
-
!values.products.length) {
|
|
248
|
-
showSnackbar(t('form.validation.count_tickets_or_products'), {
|
|
249
|
-
variant: 'error',
|
|
250
|
-
});
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
if (formStep === 1 && !isIframe) {
|
|
254
|
-
setFormStep(2);
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
try {
|
|
258
|
-
const data = cloneObject(values);
|
|
259
|
-
data.paymentMethodId = Number(values.paymentMethodId);
|
|
260
|
-
data.promoCodeIds = values.promoCodes?.map((item) => item.id);
|
|
261
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
262
|
-
const iframeCallback = urlParams.get('callback');
|
|
263
|
-
data.callback = isIframe && iframeCallback ? String(iframeCallback) : window.location.href;
|
|
264
|
-
data.tickets = Object.entries(values.tickets).reduce((acc, [eventId, items]) => {
|
|
265
|
-
acc[Number(eventId)] = items
|
|
266
|
-
.filter((item) => !!item.quantity && !!item.releaseId)
|
|
267
|
-
.map((item) => ({
|
|
268
|
-
releaseId: Number(item.releaseId),
|
|
269
|
-
quantity: Number(item.quantity),
|
|
270
|
-
price: Number(item.price),
|
|
271
|
-
itemName: item.itemName,
|
|
272
|
-
products: item.products,
|
|
273
|
-
extraFields: item.extraFields,
|
|
274
|
-
eventTimeslotId: item.eventTimeslotId,
|
|
275
|
-
location: item.location,
|
|
276
|
-
}));
|
|
277
|
-
return acc;
|
|
278
|
-
}, {});
|
|
279
|
-
const { data: orderData } = await postOrder(data);
|
|
280
|
-
localStorage.removeItem('cartToken');
|
|
281
|
-
const items = [
|
|
282
|
-
...orderData.tickets.map((ticket) => ({
|
|
283
|
-
item_id: ticket.number,
|
|
284
|
-
item_name: `${orderData.orderEntity.event.name} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,
|
|
285
|
-
price: ticket.price,
|
|
286
|
-
quantity: 1,
|
|
287
|
-
})),
|
|
288
|
-
];
|
|
289
|
-
if (orderData.orderEntity.extraFee) {
|
|
290
|
-
items.push({
|
|
291
|
-
item_id: 'service_fee',
|
|
292
|
-
item_name: `Service fee`,
|
|
293
|
-
price: orderData.orderEntity.extraFee,
|
|
294
|
-
quantity: 1,
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
const item = {
|
|
298
|
-
uuid: values.uuid,
|
|
299
|
-
currency: orderData.orderEntity.currency,
|
|
300
|
-
value: orderData.orderEntity.totalPrice,
|
|
301
|
-
tax: 0,
|
|
302
|
-
payment_type: orderData.orderEntity.paymentType,
|
|
303
|
-
transaction_id: String(orderData.orderEntity.number),
|
|
304
|
-
coupon: orderData?.orderEntity?.promoCodes?.map((p) => p.code) || [],
|
|
305
|
-
items,
|
|
306
|
-
};
|
|
307
|
-
const userData = {
|
|
308
|
-
fn: orderData.customer.firstName,
|
|
309
|
-
ln: orderData.customer.lastName,
|
|
310
|
-
em: orderData.customer.email,
|
|
311
|
-
ph: orderData.customer.phone,
|
|
312
|
-
};
|
|
313
|
-
if (isIframe) {
|
|
314
|
-
parent.postMessage({
|
|
315
|
-
type: 'eventlookFrameGtm',
|
|
316
|
-
item: getGtmPurchase(null),
|
|
317
|
-
}, '*');
|
|
318
|
-
parent.postMessage({
|
|
319
|
-
type: 'eventlookFrameGtm',
|
|
320
|
-
item: getGtmPurchase(item, pixels, userData),
|
|
321
|
-
}, '*');
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
gtmPurchase(null);
|
|
325
|
-
gtmPurchase(item, pixels, userData);
|
|
326
|
-
}
|
|
327
|
-
setPaymentRedirect(orderData.gwUrl);
|
|
328
|
-
methods.reset();
|
|
329
|
-
}
|
|
330
|
-
catch (err) {
|
|
331
|
-
transformErrors(err.message);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
};
|
|
335
|
-
const showShippingMethods = () => {
|
|
336
|
-
const hasProducts = Object.values(values.products ?? {}).some((arr) => arr.length > 0);
|
|
337
|
-
const ticketArrays = Object.values(values.tickets ?? {});
|
|
338
|
-
const allTickets = ticketArrays.flat();
|
|
339
|
-
const hasTicketProducts = allTickets.some((t) => (t.products?.length ?? 0) > 0);
|
|
340
|
-
const showShippingMethods = hasProducts || hasTicketProducts;
|
|
341
|
-
if (values.shipping.shippingMethodId !== null && !showShippingMethods) {
|
|
342
|
-
methods.setValue('shipping', { shippingMethodId: null, branchId: null, price: 0 });
|
|
343
|
-
}
|
|
344
|
-
return showShippingMethods;
|
|
345
|
-
};
|
|
346
|
-
useEffect(() => {
|
|
347
|
-
methods.reset(defaultValues);
|
|
348
|
-
}, [user, defaultValues]);
|
|
349
|
-
useEffect(() => {
|
|
350
|
-
const searchParams = getSearchParamsInObject(window.location.search);
|
|
351
|
-
const paymentId = searchParams.id;
|
|
352
|
-
const iframeCampaignId = Number(searchParams.iframeCampaignId);
|
|
353
|
-
setHasGopayId(!!paymentId);
|
|
354
|
-
if (!isNaN(iframeCampaignId)) {
|
|
355
|
-
methods.setValue('iframeCampaignId', iframeCampaignId);
|
|
356
|
-
}
|
|
357
|
-
}, [window.location.search]);
|
|
358
|
-
useEffect(() => {
|
|
359
|
-
const subscription = methods.watch((value, { name }) => {
|
|
360
|
-
if (JSON.stringify(defaultValues) !== JSON.stringify(value) &&
|
|
361
|
-
!hasFiredBeginCheckout.current) {
|
|
362
|
-
if (isIframe) {
|
|
363
|
-
setTimeout(() => {
|
|
364
|
-
parent.postMessage({
|
|
365
|
-
type: 'eventlookFrameGtm',
|
|
366
|
-
item: getGtmBeginCheckout(item, pixels),
|
|
367
|
-
}, '*');
|
|
368
|
-
}, 1000);
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
371
|
-
gtmBeginCheckout(item, pixels, user ? mapUserToUserData(user) : undefined);
|
|
372
|
-
}
|
|
373
|
-
hasFiredBeginCheckout.current = true;
|
|
374
|
-
}
|
|
375
|
-
});
|
|
376
|
-
return () => subscription.unsubscribe();
|
|
377
|
-
}, [methods.watch, defaultValues]);
|
|
378
|
-
useEffect(() => {
|
|
379
|
-
if (hasGopayId || isPaying || paymentRedirect) {
|
|
380
|
-
if (options?.autoscrollAfterViewChange) {
|
|
381
|
-
const orderForm = document.getElementById(EVENTLOOK_ORDER_FORM_ID);
|
|
382
|
-
if (orderForm) {
|
|
383
|
-
orderForm.scrollIntoView({ behavior: 'smooth' });
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}, [hasGopayId, isPaying, paymentRedirect]);
|
|
388
|
-
if (isIframe && isNotReleased && showReleaseDate)
|
|
389
|
-
return React.createElement(ReleaseCountdown, { event: event, setShowReleaseDate: setShowReleaseDate });
|
|
390
|
-
return (React.createElement(Box, { id: EVENTLOOK_ORDER_FORM_ID }, hasGopayId ? (React.createElement(PaymentSuccess, { setIsPaying: setIsPaying, isIframe: isIframe, pixels: pixels })) : isPaying ? (React.createElement(PaymentPending, null)) : paymentRedirect ? (React.createElement(OrderSuccess, { gwUrl: paymentRedirect, isIframe: isIframe, setIsPaying: setIsPaying, isInline: isInline })) : (
|
|
391
|
-
// @ts-ignore
|
|
392
|
-
React.createElement(FormProvider, { methods: methods, onSubmit: methods.handleSubmit(onSubmit) },
|
|
393
|
-
React.createElement(Typography, { className: "overview-card__event-info", display: { md: 'none' }, variant: "h4", sx: {
|
|
394
|
-
mb: 2,
|
|
395
|
-
} },
|
|
396
|
-
event.name,
|
|
397
|
-
" - ",
|
|
398
|
-
dayjs(event.startDate).format('DD.MM.YYYY HH:mm')),
|
|
399
|
-
React.createElement(Grid, { container: true, spacing: 2 },
|
|
400
|
-
React.createElement(Grid, { size: { xs: 12, md: 8 } },
|
|
401
|
-
React.createElement(Stepper, { orientation: "vertical" },
|
|
402
|
-
event.type === EventType.RECURRING && (React.createElement(Step, { active: true },
|
|
403
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.6.title')),
|
|
404
|
-
React.createElement(StepContent, null,
|
|
405
|
-
React.createElement(TimeslotSelection, { event: event })))),
|
|
406
|
-
React.createElement(Step, { active: true },
|
|
407
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.1.title')),
|
|
408
|
-
React.createElement(StepContent, null, event.mapId && seatingIframeUrl ? (React.createElement(TicketSelectionMap, { event: event })) : event.hasMerchandise ? (React.createElement(TicketWithMerchandiseSelection, { event: event })) : (React.createElement(TicketSelection, { event: event })))),
|
|
409
|
-
event.hasMerchandise && eventProducts.length && (React.createElement(Step, { active: true },
|
|
410
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.4.title')),
|
|
411
|
-
React.createElement(StepContent, null,
|
|
412
|
-
React.createElement(MerchandiseSelection, { eventProducts: eventProducts, eventId: event.id, isLoading: isLoading })))),
|
|
413
|
-
event.children.length && (React.createElement(Step, { active: true },
|
|
414
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.7.title')),
|
|
415
|
-
React.createElement(StepContent, null,
|
|
416
|
-
React.createElement(ChildEventSection, { events: event.children })))),
|
|
417
|
-
React.createElement(Step, { active: true },
|
|
418
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.2.title')),
|
|
419
|
-
React.createElement(StepContent, null,
|
|
420
|
-
React.createElement(ContactPerson, { event: event }))),
|
|
421
|
-
event.hasMerchandise && showShippingMethods() && (React.createElement(Step, { active: true },
|
|
422
|
-
React.createElement(StepLabel, null, t('event.tickets.stepper.5.title')),
|
|
423
|
-
React.createElement(StepContent, null,
|
|
424
|
-
React.createElement(Shipping, { event: event })))),
|
|
425
|
-
React.createElement(Step, { active: true },
|
|
426
|
-
React.createElement(StepLabel, null, t(`event.tickets.stepper.3.${values.isPaymentVerify ? 'title_verify' : 'title'}`)),
|
|
427
|
-
React.createElement(StepContent, null,
|
|
428
|
-
React.createElement(Payment, { event: event })))),
|
|
429
|
-
React.createElement(Stack, { mt: 2, ml: 4 },
|
|
430
|
-
React.createElement(RHFCheckbox, { name: "termsAndConditions", label: React.createElement(Trans, { text: "event.tickets.terms_and_conditions", values: {
|
|
431
|
-
termsAndConditionsCompanies: options?.termsAndConditionsCompanies
|
|
432
|
-
? options.termsAndConditionsCompanies.join(t('and'))
|
|
433
|
-
: ['Eventlook', 'GoPay'].join(` ${t('and')} `),
|
|
434
|
-
}, components: {
|
|
435
|
-
0: React.createElement(CustomLink, { key: 2, href: links.termsAndConditions, target: "_blank" }),
|
|
436
|
-
1: React.createElement(CustomLink, { key: 1, href: links.gdpr, target: "_blank" }),
|
|
437
|
-
} }) }))),
|
|
438
|
-
React.createElement(Grid, { size: { xs: 12, md: 4 } },
|
|
439
|
-
React.createElement(PaymentOverviewBox, { event: event }))),
|
|
440
|
-
React.createElement(EmailConfirmation, { open: formStep === 2 && !isIframe, onClose: () => setFormStep(1),
|
|
441
|
-
// @ts-ignore
|
|
442
|
-
onConfirm: methods.handleSubmit(onSubmit) })))));
|
|
443
|
-
};
|
|
444
|
-
const CustomLink = ({ href = '', children, ...other }) => (React.createElement(Link, { href: href, ...other }, children));
|
|
445
|
-
|
|
446
|
-
export { TicketForm as default };
|
|
447
|
-
//# sourceMappingURL=TicketForm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TicketForm.js","sources":["../../../src/form/TicketForm.tsx"],"sourcesContent":["import OrderSuccess from '@form/OrderSuccess';\nimport PaymentSuccess from '@form/PaymentSuccess';\nimport FormProvider, { RHFCheckbox } from '@components/hook-form';\nimport {\n Box,\n Grid,\n Link,\n LinkProps,\n Stack,\n Step,\n StepContent,\n StepLabel,\n Stepper,\n Typography,\n} from '@mui/material';\nimport dayjs from 'dayjs';\nimport TicketSelection from '@form/TicketSelection';\nimport ContactPerson from '@form/ContactPerson';\nimport Payment from '@form/Payment';\nimport EmailConfirmation from '@form/EmailConfirmation';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { ITicketBody, ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport * as Yup from 'yup';\nimport { useForm } from 'react-hook-form';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { postOrder } from '@modules/order';\nimport { IEvent } from '@utils/types/event.type';\nimport PaymentOverviewBox from '@form/PaymentOverviewBox';\nimport { IEcommerce, IPixels } from '@utils/types/gtm.type';\nimport {\n getGtmAddPaymentInfo,\n getGtmBeginCheckout,\n getGtmPageView,\n getGtmPurchase,\n getGtmViewCart,\n gtmAddPaymentInfo,\n gtmBeginCheckout,\n gtmPurchase,\n gtmViewCart,\n mapUserToUserData,\n} from '@utils/gtm';\nimport ReleaseCountdown from '@form/ReleaseCountdown';\nimport { cloneObject } from '@utils/global';\nimport PaymentPending from '@form/PaymentPending';\nimport MerchandiseSelection from '@form/MerchandiseSelection';\nimport TicketWithMerchandiseSelection from '@form/TicketWithMerchandiseSelection';\nimport useActiveEventProducts from '@hooks/data/useActiveEventProducts';\nimport Shipping from '@form/Shipping';\nimport useErrors from '@hooks/useErrors';\nimport { EventType } from '@utils/data/event';\nimport TimeslotSelection from '@form/TimeslotSelection';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global';\nimport ChildEventSection from './ChildEvents';\nimport TicketSelectionMap from '@form/TicketSelectionMap';\n\ninterface Props {\n event: IEvent;\n hasGopayIdSsr: boolean;\n selectedReleaseId?: number;\n isIframe?: boolean;\n isInline?: boolean;\n}\n\nconst TicketForm: React.FC<Props> = ({\n event,\n hasGopayIdSsr,\n selectedReleaseId,\n isIframe,\n isInline,\n}) => {\n const { t, setGlobal, callbacks, links, user, options, showSnackbar, content, seatingIframeUrl } =\n useGlobal();\n const { transformErrors } = useErrors(t('event.tickets.error.order'));\n const { data: eventProducts, isLoading } = useActiveEventProducts(event.id);\n const [paymentRedirect, setPaymentRedirect] = useState<string | null>(null);\n const [hasGopayId, setHasGopayId] = useState<boolean>(hasGopayIdSsr);\n const [isPaying, setIsPaying] = useState<boolean>(false);\n const [formStep, setFormStep] = useState<number>(1);\n const [showReleaseDate, setShowReleaseDate] = useState(\n dayjs(event.releaseDate).diff(dayjs()) > 0\n );\n const [matchIsValidTel, setMatchIsValidTel] = useState<(text: string) => boolean>(() => false);\n const isNotReleased = dayjs(event.releaseDate).diff(dayjs()) > 0;\n const hasFiredViewCart = useRef(false);\n const hasFiredBeginCheckout = useRef(false);\n const hasFiredPaymentMethod = useRef(false);\n const item: IEcommerce = {\n currency: event.currency,\n items: [\n {\n item_id: `event_${event.id}`,\n item_name: event.name,\n quantity: 1,\n },\n ],\n };\n const pixels: IPixels = {\n fb_pixel_id: event.facebookPixel?.facebookId,\n tiktok_pixel_id: event.tiktokPixel?.tiktokId,\n };\n\n useEffect(() => {\n import('mui-tel-input').then((mod) => {\n setMatchIsValidTel(() => mod.matchIsValidTel);\n });\n }, []);\n\n useEffect(() => {\n setGlobal({\n options: {\n isIframe: isIframe === undefined ? false : isIframe,\n },\n });\n if (\n !isIframe &&\n event &&\n (isNotReleased ||\n (!!event.releaseEndDate && dayjs(event.releaseEndDate).isBefore(dayjs())) ||\n dayjs(event.endDate).isBefore(dayjs()) ||\n event.isSoldout ||\n event.dateUnknown ||\n event.isCanceled)\n ) {\n callbacks.detail();\n }\n\n if (event && !hasGopayId && !hasFiredViewCart.current) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPageView(location.href),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmViewCart(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmViewCart(item, pixels);\n }\n hasFiredViewCart.current = true;\n }\n if (!hasFiredPaymentMethod.current) {\n const item = {\n currency: event.currency,\n value: 0,\n payment_type: 'PAYMENT_CARD',\n items: [],\n };\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmAddPaymentInfo(item, pixels, user ? mapUserToUserData(user) : undefined),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmAddPaymentInfo(item, pixels);\n }\n hasFiredPaymentMethod.current = true;\n }\n }, [event]);\n\n const defaultValues: ITicketForm = useMemo(() => {\n const makeTicket = (overrides: Partial<ITicketFormTicket> = {}): ITicketFormTicket => ({\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n ...overrides,\n });\n\n const tickets: Record<string, ITicketFormTicket[]> = {\n [String(event.id)]: [\n makeTicket({\n releaseId: (selectedReleaseId as number) ?? '',\n }),\n ],\n };\n\n event.children?.forEach((child) => {\n tickets[String(child.id)] = [makeTicket()];\n });\n\n return {\n uuid: null,\n eventId: event.id,\n tickets,\n total: 0,\n originalPrice: 0,\n firstName: user?.firstName || '',\n lastName: user?.lastName || '',\n email: user?.email || '',\n phone: user?.phone || '',\n birthdate: user?.birthdate ? dayjs(user.birthdate) : null,\n gender: user?.gender || '',\n callback: '',\n paymentMethodId: null,\n paymentMethodOptionId: null,\n termsAndConditions: false,\n ticketInsurance: false,\n ticketInsurancePrice: 0,\n ticketInsurancePricePerUnit: 0,\n smsNotification: false,\n smsNotificationPrice: 0,\n iframeCampaignId: undefined,\n promoCodes: [],\n products: {},\n shipping: {\n shippingMethodId: null,\n branchId: null,\n price: 0,\n },\n extraFields:\n event?.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })) || [],\n selectedDate: null,\n eventTimeslotId: null,\n isPaymentVerify: false,\n };\n }, [user]);\n\n const ValidationSchema = Yup.object().shape({\n firstName: Yup.string().required(t('form.validation.required')),\n lastName: Yup.string().required(t('form.validation.required')),\n email: Yup.string().email(t('form.validation.email')).required(t('form.validation.required')),\n phone: Yup.string()\n .required(t('form.validation.required'))\n .test('phone-checker', t('form.validation.phone'), (value) =>\n value ? matchIsValidTel(value) : false\n ),\n birthdate: Yup.object()\n .nullable()\n .default(null)\n .when([], {\n is: () => !content?.form?.disableBirthDate,\n then: (s) => s.required(t('form.validation.required')),\n otherwise: (s) => s.notRequired(),\n }),\n gender: Yup.string().when([], {\n is: () => !content?.form?.disableGender,\n then: (schema) => schema.required(t('form.validation.required')),\n otherwise: (schema) => schema.notRequired(),\n }),\n // tickets: Yup.object().test('tickets-validation', function (tickets) {\n // if (!tickets || typeof tickets !== 'object') return false;\n\n // for (const key of Object.keys(tickets)) {\n // const arr = tickets[key];\n // if (!Array.isArray(arr)) return false;\n // for (const t of arr) {\n // if (!t.releaseId || !t.quantity) {\n // return this.createError({ message: 'Invalid ticket selection' });\n // }\n // }\n // }\n // return true;\n // }),\n shipping: Yup.object().shape({\n shippingMethodId: Yup.number().nullable(),\n branchId: Yup.string().nullable(),\n price: Yup.number(),\n }),\n paymentMethodId: Yup.number().nullable().required(t('form.validation.required')),\n paymentMethodOptionId: Yup.number().nullable(),\n termsAndConditions: Yup.boolean().isTrue(t('form.validation.terms_and_conditions')),\n ticketInsurance: Yup.boolean(),\n smsNotification: Yup.boolean(),\n extraFields: Yup.array().of(\n Yup.object().shape({\n value: Yup.string().test('is-required', function (value) {\n const options = this.options as { index: number };\n\n if (event.extraFields[options.index].required && !value) {\n return this.createError({\n message: t('form.validation.required'),\n });\n }\n return true;\n }),\n })\n ),\n });\n\n const methods = useForm<ITicketForm>({\n // @ts-ignore\n resolver: yupResolver(ValidationSchema),\n defaultValues,\n });\n const values = methods.watch();\n\n const onSubmit = async (values: ITicketForm) => {\n const allTickets = Object.values(values.tickets).flat();\n if (\n allTickets.length === 1 &&\n !allTickets[0].releaseId &&\n !allTickets[0].quantity &&\n !values.products.length\n ) {\n showSnackbar(t('form.validation.count_tickets_or_products'), {\n variant: 'error',\n });\n return;\n }\n\n if (formStep === 1 && !isIframe) {\n setFormStep(2);\n } else {\n try {\n const data: ITicketBody = cloneObject(values);\n data.paymentMethodId = Number(values.paymentMethodId);\n data.promoCodeIds = values.promoCodes?.map((item) => item.id);\n const urlParams = new URLSearchParams(window.location.search);\n const iframeCallback = urlParams.get('callback');\n data.callback = isIframe && iframeCallback ? String(iframeCallback) : window.location.href;\n data.tickets = Object.entries(values.tickets).reduce(\n (acc, [eventId, items]) => {\n acc[Number(eventId)] = items\n .filter((item) => !!item.quantity && !!item.releaseId)\n .map((item) => ({\n releaseId: Number(item.releaseId),\n quantity: Number(item.quantity),\n price: Number(item.price),\n itemName: item.itemName,\n products: item.products,\n extraFields: item.extraFields,\n eventTimeslotId: item.eventTimeslotId,\n location: item.location,\n }));\n return acc;\n },\n {} as Record<number, ITicketFormTicket[]>\n );\n const { data: orderData } = await postOrder(data);\n localStorage.removeItem('cartToken');\n const items = [\n ...orderData.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${orderData.orderEntity.event.name} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n\n if (orderData.orderEntity.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: orderData.orderEntity.extraFee,\n quantity: 1,\n });\n }\n\n const item = {\n uuid: values.uuid,\n currency: orderData.orderEntity.currency,\n value: orderData.orderEntity.totalPrice,\n tax: 0,\n payment_type: orderData.orderEntity.paymentType,\n transaction_id: String(orderData.orderEntity.number),\n coupon: orderData?.orderEntity?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n const userData = {\n fn: orderData.customer.firstName,\n ln: orderData.customer.lastName,\n em: orderData.customer.email,\n ph: orderData.customer.phone,\n };\n if (isIframe) {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(null),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(item, pixels, userData),\n },\n '*'\n );\n } else {\n gtmPurchase(null);\n gtmPurchase(item, pixels, userData);\n }\n setPaymentRedirect(orderData.gwUrl);\n methods.reset();\n } catch (err: any) {\n transformErrors(err.message);\n }\n }\n };\n\n const showShippingMethods = () => {\n const hasProducts = Object.values(values.products ?? {}).some((arr) => arr.length > 0);\n\n const ticketArrays = Object.values(values.tickets ?? {});\n const allTickets = ticketArrays.flat();\n\n const hasTicketProducts = allTickets.some((t) => (t.products?.length ?? 0) > 0);\n\n const showShippingMethods = hasProducts || hasTicketProducts;\n\n if (values.shipping.shippingMethodId !== null && !showShippingMethods) {\n methods.setValue('shipping', { shippingMethodId: null, branchId: null, price: 0 });\n }\n\n return showShippingMethods;\n };\n\n useEffect(() => {\n methods.reset(defaultValues);\n }, [user, defaultValues]);\n\n useEffect(() => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n const iframeCampaignId = Number(searchParams.iframeCampaignId);\n setHasGopayId(!!paymentId);\n if (!isNaN(iframeCampaignId)) {\n methods.setValue('iframeCampaignId', iframeCampaignId);\n }\n }, [window.location.search]);\n\n useEffect(() => {\n const subscription = methods.watch((value, { name }) => {\n if (\n JSON.stringify(defaultValues) !== JSON.stringify(value) &&\n !hasFiredBeginCheckout.current\n ) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmBeginCheckout(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmBeginCheckout(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n hasFiredBeginCheckout.current = true;\n }\n });\n return () => subscription.unsubscribe();\n }, [methods.watch, defaultValues]);\n\n useEffect(() => {\n if (hasGopayId || isPaying || paymentRedirect) {\n if (options?.autoscrollAfterViewChange) {\n const orderForm = document.getElementById(EVENTLOOK_ORDER_FORM_ID);\n if (orderForm) {\n orderForm.scrollIntoView({ behavior: 'smooth' });\n }\n }\n }\n }, [hasGopayId, isPaying, paymentRedirect]);\n\n if (isIframe && isNotReleased && showReleaseDate)\n return <ReleaseCountdown event={event} setShowReleaseDate={setShowReleaseDate} />;\n\n return (\n <Box id={EVENTLOOK_ORDER_FORM_ID}>\n {hasGopayId ? (\n <PaymentSuccess setIsPaying={setIsPaying} isIframe={isIframe} pixels={pixels} />\n ) : isPaying ? (\n <PaymentPending />\n ) : paymentRedirect ? (\n <OrderSuccess\n gwUrl={paymentRedirect}\n isIframe={isIframe}\n setIsPaying={setIsPaying}\n isInline={isInline}\n />\n ) : (\n // @ts-ignore\n <FormProvider methods={methods} onSubmit={methods.handleSubmit(onSubmit)}>\n <Typography\n className=\"overview-card__event-info\"\n display={{ md: 'none' }}\n variant=\"h4\"\n sx={{\n mb: 2,\n }}\n >\n {event.name} - {dayjs(event.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n <Grid container spacing={2}>\n <Grid size={{ xs: 12, md: 8 }}>\n <Stepper orientation=\"vertical\">\n {event.type === EventType.RECURRING && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.6.title')}</StepLabel>\n <StepContent>\n <TimeslotSelection event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.1.title')}</StepLabel>\n <StepContent>\n {event.mapId && seatingIframeUrl ? (\n <TicketSelectionMap event={event} />\n ) : event.hasMerchandise ? (\n <TicketWithMerchandiseSelection event={event} />\n ) : (\n <TicketSelection event={event} />\n )}\n </StepContent>\n </Step>\n {event.hasMerchandise && eventProducts.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.4.title')}</StepLabel>\n <StepContent>\n <MerchandiseSelection\n eventProducts={eventProducts}\n eventId={event.id}\n isLoading={isLoading}\n />\n </StepContent>\n </Step>\n )}\n {event.children.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.7.title')}</StepLabel>\n <StepContent>\n <ChildEventSection events={event.children} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.2.title')}</StepLabel>\n <StepContent>\n <ContactPerson event={event} />\n </StepContent>\n </Step>\n {event.hasMerchandise && showShippingMethods() && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.5.title')}</StepLabel>\n <StepContent>\n <Shipping event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>\n {t(\n `event.tickets.stepper.3.${values.isPaymentVerify ? 'title_verify' : 'title'}`\n )}\n </StepLabel>\n <StepContent>\n <Payment event={event} />\n </StepContent>\n </Step>\n </Stepper>\n <Stack mt={2} ml={4}>\n <RHFCheckbox\n name=\"termsAndConditions\"\n label={\n <Trans\n text=\"event.tickets.terms_and_conditions\"\n values={{\n termsAndConditionsCompanies: options?.termsAndConditionsCompanies\n ? options.termsAndConditionsCompanies.join(t('and'))\n : ['Eventlook', 'GoPay'].join(` ${t('and')} `),\n }}\n components={{\n 0: <CustomLink key={2} href={links.termsAndConditions} target=\"_blank\" />,\n 1: <CustomLink key={1} href={links.gdpr} target=\"_blank\" />,\n }}\n />\n }\n />\n </Stack>\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <PaymentOverviewBox event={event} />\n </Grid>\n </Grid>\n <EmailConfirmation\n open={formStep === 2 && !isIframe}\n onClose={() => setFormStep(1)}\n // @ts-ignore\n onConfirm={methods.handleSubmit(onSubmit)}\n />\n </FormProvider>\n )}\n </Box>\n );\n};\n\nconst CustomLink: React.FC<PropsWithChildren<LinkProps>> = ({ href = '', children, ...other }) => (\n <Link href={href} {...other}>\n {children}\n </Link>\n);\n\nexport default TicketForm;\n"],"names":[],"mappings":"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"}
|