@eventlook/sdk 1.4.49-beta.8 → 1.4.50
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/components/TicketFormSkeleton.js +13 -13
- package/dist/cjs/components/TicketFormSkeleton.js.map +1 -1
- package/dist/cjs/form/ChildEventCard.js +2 -2
- package/dist/cjs/form/ChildEventCard.js.map +1 -1
- package/dist/cjs/form/ChildEvents.js +2 -2
- package/dist/cjs/form/ChildEvents.js.map +1 -1
- package/dist/cjs/form/ContactPerson.js +7 -7
- package/dist/cjs/form/ContactPerson.js.map +1 -1
- package/dist/cjs/form/PaymentOverviewBox.js +2 -8
- package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
- package/dist/cjs/form/PaymentOverviewDrawer.js +1 -1
- package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -1
- package/dist/cjs/form/PaymentSuccess.js +4 -4
- package/dist/cjs/form/PaymentSuccess.js.map +1 -1
- package/dist/cjs/form/ReleaseWithMerchandise.js +48 -57
- package/dist/cjs/form/ReleaseWithMerchandise.js.map +1 -1
- package/dist/cjs/form/TicketForm.js +3 -3
- package/dist/cjs/form/TicketForm.js.map +1 -1
- package/dist/cjs/form/TicketSelection.js +6 -5
- package/dist/cjs/form/TicketSelection.js.map +1 -1
- package/dist/cjs/form/TicketWithMerchandiseSelection.js +5 -3
- package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +1 -1
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js +1 -1
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js.map +1 -1
- package/dist/cjs/form/merchandise/MerchandiseSelection.js +1 -1
- package/dist/cjs/form/merchandise/MerchandiseSelection.js.map +1 -1
- package/dist/cjs/form/services/index.js +1 -18
- package/dist/cjs/form/services/index.js.map +1 -1
- package/dist/cjs/hooks/useFirstRender.js +14 -0
- package/dist/cjs/hooks/useFirstRender.js.map +1 -0
- package/dist/esm/components/TicketFormSkeleton.js +13 -13
- package/dist/esm/components/TicketFormSkeleton.js.map +1 -1
- package/dist/esm/form/ChildEventCard.js +2 -2
- package/dist/esm/form/ChildEventCard.js.map +1 -1
- package/dist/esm/form/ChildEvents.js +2 -2
- package/dist/esm/form/ChildEvents.js.map +1 -1
- package/dist/esm/form/ContactPerson.js +7 -7
- package/dist/esm/form/ContactPerson.js.map +1 -1
- package/dist/esm/form/PaymentOverviewBox.js +2 -8
- package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
- package/dist/esm/form/PaymentOverviewDrawer.js +1 -1
- package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -1
- package/dist/esm/form/PaymentSuccess.js +4 -4
- package/dist/esm/form/PaymentSuccess.js.map +1 -1
- package/dist/esm/form/ReleaseWithMerchandise.js +49 -58
- package/dist/esm/form/ReleaseWithMerchandise.js.map +1 -1
- package/dist/esm/form/TicketForm.js +3 -3
- package/dist/esm/form/TicketForm.js.map +1 -1
- package/dist/esm/form/TicketSelection.js +6 -5
- package/dist/esm/form/TicketSelection.js.map +1 -1
- package/dist/esm/form/TicketWithMerchandiseSelection.js +6 -4
- package/dist/esm/form/TicketWithMerchandiseSelection.js.map +1 -1
- package/dist/esm/form/extra-field/ReleaseExtraFields.js +1 -1
- package/dist/esm/form/extra-field/ReleaseExtraFields.js.map +1 -1
- package/dist/esm/form/merchandise/MerchandiseSelection.js +1 -1
- package/dist/esm/form/merchandise/MerchandiseSelection.js.map +1 -1
- package/dist/esm/form/services/index.js +2 -19
- package/dist/esm/form/services/index.js.map +1 -1
- package/dist/esm/hooks/useFirstRender.js +12 -0
- package/dist/esm/hooks/useFirstRender.js.map +1 -0
- package/dist/types/locales/cs.d.ts +5 -1
- package/package.json +3 -3
- package/src/components/TicketFormSkeleton.tsx +13 -13
- package/src/form/ChildEventCard.tsx +4 -2
- package/src/form/ChildEvents.tsx +2 -2
- package/src/form/ContactPerson.tsx +7 -7
- package/src/form/PaymentOverviewBox.tsx +13 -13
- package/src/form/PaymentOverviewDrawer.tsx +1 -0
- package/src/form/PaymentSuccess.tsx +4 -4
- package/src/form/TicketForm.tsx +3 -3
- package/src/form/extra-field/ReleaseExtraFields.tsx +1 -1
- package/src/form/merchandise/MerchandiseSelection.tsx +1 -1
- package/src/form/services/index.tsx +36 -36
- package/dist/cjs/_virtual/_commonjsHelpers.js +0 -8
- package/dist/cjs/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/cjs/_virtual/index.js +0 -6
- package/dist/cjs/_virtual/index.js.map +0 -1
- package/dist/cjs/_virtual/index2.js +0 -6
- package/dist/cjs/_virtual/index2.js.map +0 -1
- package/dist/cjs/_virtual/index3.js +0 -6
- package/dist/cjs/_virtual/index3.js.map +0 -1
- package/dist/cjs/_virtual/react-is.development.js +0 -6
- package/dist/cjs/_virtual/react-is.development.js.map +0 -1
- package/dist/cjs/_virtual/react-is.development2.js +0 -6
- package/dist/cjs/_virtual/react-is.development2.js.map +0 -1
- package/dist/cjs/_virtual/react-is.production.js +0 -6
- package/dist/cjs/_virtual/react-is.production.js.map +0 -1
- package/dist/cjs/_virtual/react-is.production.min.js +0 -6
- package/dist/cjs/_virtual/react-is.production.min.js.map +0 -1
- package/dist/cjs/form/TicketQuantityControl.js +0 -51
- package/dist/cjs/form/TicketQuantityControl.js.map +0 -1
- package/dist/cjs/form/TicketSelectionMobile.js +0 -98
- package/dist/cjs/form/TicketSelectionMobile.js.map +0 -1
- package/dist/cjs/form/merchendise/MerchandiseSelection.js +0 -19
- package/dist/cjs/form/merchendise/MerchandiseSelection.js.map +0 -1
- package/dist/cjs/form/merchendise/MerchandiseSlider.js +0 -75
- package/dist/cjs/form/merchendise/MerchandiseSlider.js.map +0 -1
- package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js +0 -59
- package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js.map +0 -1
- package/dist/esm/_virtual/_commonjsHelpers.js +0 -6
- package/dist/esm/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/esm/_virtual/index.js +0 -4
- package/dist/esm/_virtual/index.js.map +0 -1
- package/dist/esm/_virtual/index2.js +0 -4
- package/dist/esm/_virtual/index2.js.map +0 -1
- package/dist/esm/_virtual/index3.js +0 -4
- package/dist/esm/_virtual/index3.js.map +0 -1
- package/dist/esm/_virtual/react-is.development.js +0 -4
- package/dist/esm/_virtual/react-is.development.js.map +0 -1
- package/dist/esm/_virtual/react-is.development2.js +0 -4
- package/dist/esm/_virtual/react-is.development2.js.map +0 -1
- package/dist/esm/_virtual/react-is.production.js +0 -4
- package/dist/esm/_virtual/react-is.production.js.map +0 -1
- package/dist/esm/_virtual/react-is.production.min.js +0 -4
- package/dist/esm/_virtual/react-is.production.min.js.map +0 -1
- package/dist/esm/form/TicketQuantityControl.js +0 -47
- package/dist/esm/form/TicketQuantityControl.js.map +0 -1
- package/dist/esm/form/TicketSelectionMobile.js +0 -94
- package/dist/esm/form/TicketSelectionMobile.js.map +0 -1
- package/dist/esm/form/merchendise/MerchandiseSelection.js +0 -15
- package/dist/esm/form/merchendise/MerchandiseSelection.js.map +0 -1
- package/dist/esm/form/merchendise/MerchandiseSlider.js +0 -71
- package/dist/esm/form/merchendise/MerchandiseSlider.js.map +0 -1
- package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js +0 -55
- package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js.map +0 -1
- package/dist/types/form/PaymentOverviewDrawer.d.ts +0 -8
- package/dist/types/form/merchendise/MerchandiseSelection.d.ts +0 -9
- package/dist/types/form/merchendise/MerchandiseSlider.d.ts +0 -10
- package/dist/types/form/merchendise/MerchendiseSlider.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n termsAndConditionsRef?: React.RefObject<HTMLElement | null>;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst clearResetPulledPastTimeout = (timeoutRef: { current: number | null }) => {\n if (timeoutRef.current !== null) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n};\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({\n event,\n totalPrice,\n termsAndConditionsRef,\n onOpenChange,\n}) => {\n const { t, lang } = useGlobal();\n const [isDrawerOpened, setIsDrawerOpened] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [isDrawerHidden, setIsDrawerHidden] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const isOpeningGestureRef = useRef(false);\n const shouldReopenOnScrollUpRef = useRef(false);\n const lastScrollYRef = useRef(0);\n const isScrollingDownRef = useRef(false);\n const wasAtPageBottomRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n openDrawerRef.current = isDrawerOpened;\n }, [isDrawerOpened]);\n\n useEffect(() => {\n isOpeningGestureRef.current = isOpeningGesture;\n }, [isOpeningGesture]);\n\n // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const atBottomThreshold = 8;\n lastScrollYRef.current = window.scrollY;\n isScrollingDownRef.current = false;\n wasAtPageBottomRef.current =\n window.innerHeight + window.scrollY >=\n document.documentElement.scrollHeight - atBottomThreshold;\n\n const handleScroll = () => {\n const currentY = window.scrollY;\n const isScrollingUp = currentY < lastScrollYRef.current;\n const isScrollingDown = currentY > lastScrollYRef.current;\n const isAtPageBottom =\n window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;\n\n isScrollingDownRef.current = isScrollingDown;\n\n if (\n isScrollingUp &&\n wasAtPageBottomRef.current &&\n shouldReopenOnScrollUpRef.current &&\n !openDrawerRef.current\n ) {\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerHidden(false);\n openDrawerHandler();\n }\n\n wasAtPageBottomRef.current = isAtPageBottom;\n lastScrollYRef.current = currentY;\n };\n\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n },\n []\n );\n\n useEffect(() => {\n const termsAndConditionsElement = termsAndConditionsRef?.current;\n if (!termsAndConditionsElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n const hasReachedTermsSection = entry?.isIntersecting ?? false;\n const shouldAutoCloseDrawer = hasReachedTermsSection;\n const shouldHideDrawerTab =\n hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;\n setIsDrawerHidden(shouldHideDrawerTab);\n\n if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {\n closeDrawerHandler({ shouldReopenOnScrollUp: true });\n setIsDrawerHidden(true);\n }\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px -40% 0px',\n }\n );\n\n observer.observe(termsAndConditionsElement);\n\n return () => {\n observer.disconnect();\n };\n }, [termsAndConditionsRef]);\n\n const toggleDrawer = () => {\n if (openDrawerRef.current) {\n closeDrawerHandler();\n return;\n }\n\n openDrawerHandler();\n };\n\n const openDrawerHandler = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerOpened(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = ({\n shouldReopenOnScrollUp = false,\n }: { shouldReopenOnScrollUp?: boolean } = {}) => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;\n setIsDrawerOpened(false);\n onOpenChange?.(false);\n };\n\n const scheduleResetPulledPastTimeout = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n };\n\n const handleGestureStart = (startY: number | null) => {\n openingTouchStartYRef.current = startY;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureMove = (currentY?: number) => {\n if (!isOpeningGestureRef.current) return;\n\n const startY = openingTouchStartYRef.current;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(\n currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight\n );\n };\n\n const handleGestureCancel = () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureEnd = ({\n shouldResetTouchStart = false,\n }: { shouldResetTouchStart?: boolean } = {}) => {\n if (shouldResetTouchStart) {\n openingTouchStartYRef.current = null;\n }\n\n if (!isDrawerOpened) {\n setIsOpeningGesture(false);\n scheduleResetPulledPastTimeout();\n }\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n boxShadow:\n isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: (theme) => theme.zIndex.drawer + 1,\n opacity: isDrawerHidden ? 0 : 1,\n transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',\n transition:\n 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',\n pointerEvents: 'none',\n }}\n >\n {!isDrawerOpened && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n opacity: isOpeningGesture ? 0 : 1,\n transition: 'opacity 120ms ease',\n }}\n />\n </Box>\n )}\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n onTouchStart={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n }}\n onMouseDown={() => {\n handleGestureStart(null);\n }}\n onTouchMove={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n }}\n onTouchCancel={handleGestureCancel}\n onTouchEnd={() => {\n handleGestureEnd({ shouldResetTouchStart: true });\n }}\n onMouseUp={() => {\n handleGestureEnd();\n }}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={isDrawerOpened}\n onClose={() => closeDrawerHandler()}\n onOpen={() => openDrawerHandler()}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={isDrawerHidden}\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n },\n onMouseDown: () => {\n handleGestureStart(null);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n },\n onTouchCancel: handleGestureCancel,\n onTouchEnd: () => {\n handleGestureEnd({ shouldResetTouchStart: true });\n },\n onMouseUp: () => {\n handleGestureEnd();\n },\n }}\n sx={{\n display: { md: 'none' },\n pointerEvents: isDrawerOpened ? 'none' : 'auto',\n '& .MuiDrawer-paper': {\n pointerEvents: 'auto',\n },\n '& .MuiSwipeArea-root': {\n pointerEvents: 'auto',\n },\n }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n disableAutoFocus: true,\n disableRestoreFocus: true,\n disableEnforceFocus: true,\n BackdropProps: {\n sx: {\n background: 'none',\n pointerEvents: 'none',\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n isDrawerOpened ||\n (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))\n ? `${closedTabHeight}px`\n : 0,\n transition: 'none',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} hideBuyButton />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":["useGlobal","useState","useRef","useEffect","Box","Typography","fCurrency","Button","EVENTLOOK_ORDER_FORM_ID","SwipeableDrawer","PaymentOverviewBox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n termsAndConditionsRef?: React.RefObject<HTMLElement | null>;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst clearResetPulledPastTimeout = (timeoutRef: { current: number | null }) => {\n if (timeoutRef.current !== null) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n};\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({\n event,\n totalPrice,\n termsAndConditionsRef,\n onOpenChange,\n}) => {\n const { t, lang } = useGlobal();\n const [isDrawerOpened, setIsDrawerOpened] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [isDrawerHidden, setIsDrawerHidden] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const isOpeningGestureRef = useRef(false);\n const shouldReopenOnScrollUpRef = useRef(false);\n const lastScrollYRef = useRef(0);\n const isScrollingDownRef = useRef(false);\n const wasAtPageBottomRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n openDrawerRef.current = isDrawerOpened;\n }, [isDrawerOpened]);\n\n useEffect(() => {\n isOpeningGestureRef.current = isOpeningGesture;\n }, [isOpeningGesture]);\n\n // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const atBottomThreshold = 8;\n lastScrollYRef.current = window.scrollY;\n isScrollingDownRef.current = false;\n wasAtPageBottomRef.current =\n window.innerHeight + window.scrollY >=\n document.documentElement.scrollHeight - atBottomThreshold;\n\n const handleScroll = () => {\n const currentY = window.scrollY;\n const isScrollingUp = currentY < lastScrollYRef.current;\n const isScrollingDown = currentY > lastScrollYRef.current;\n const isAtPageBottom =\n window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;\n\n isScrollingDownRef.current = isScrollingDown;\n\n if (\n isScrollingUp &&\n wasAtPageBottomRef.current &&\n shouldReopenOnScrollUpRef.current &&\n !openDrawerRef.current\n ) {\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerHidden(false);\n openDrawerHandler();\n }\n\n wasAtPageBottomRef.current = isAtPageBottom;\n lastScrollYRef.current = currentY;\n };\n\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n },\n []\n );\n\n useEffect(() => {\n const termsAndConditionsElement = termsAndConditionsRef?.current;\n if (!termsAndConditionsElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n const hasReachedTermsSection = entry?.isIntersecting ?? false;\n const shouldAutoCloseDrawer = hasReachedTermsSection;\n const shouldHideDrawerTab =\n hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;\n setIsDrawerHidden(shouldHideDrawerTab);\n\n if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {\n closeDrawerHandler({ shouldReopenOnScrollUp: true });\n setIsDrawerHidden(true);\n }\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px -40% 0px',\n }\n );\n\n observer.observe(termsAndConditionsElement);\n\n return () => {\n observer.disconnect();\n };\n }, [termsAndConditionsRef]);\n\n const toggleDrawer = () => {\n if (openDrawerRef.current) {\n closeDrawerHandler();\n return;\n }\n\n openDrawerHandler();\n };\n\n const openDrawerHandler = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerOpened(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = ({\n shouldReopenOnScrollUp = false,\n }: { shouldReopenOnScrollUp?: boolean } = {}) => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;\n setIsDrawerOpened(false);\n onOpenChange?.(false);\n };\n\n const scheduleResetPulledPastTimeout = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n };\n\n const handleGestureStart = (startY: number | null) => {\n openingTouchStartYRef.current = startY;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureMove = (currentY?: number) => {\n if (!isOpeningGestureRef.current) return;\n\n const startY = openingTouchStartYRef.current;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(\n currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight\n );\n };\n\n const handleGestureCancel = () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureEnd = ({\n shouldResetTouchStart = false,\n }: { shouldResetTouchStart?: boolean } = {}) => {\n if (shouldResetTouchStart) {\n openingTouchStartYRef.current = null;\n }\n\n if (!isDrawerOpened) {\n setIsOpeningGesture(false);\n scheduleResetPulledPastTimeout();\n }\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n boxShadow:\n isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: (theme) => theme.zIndex.drawer + 1,\n opacity: isDrawerHidden ? 0 : 1,\n transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',\n transition:\n 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',\n pointerEvents: 'none',\n }}\n >\n {!isDrawerOpened && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n opacity: isOpeningGesture ? 0 : 1,\n transition: 'opacity 120ms ease',\n }}\n />\n </Box>\n )}\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n onTouchStart={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n }}\n onMouseDown={() => {\n handleGestureStart(null);\n }}\n onTouchMove={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n }}\n onTouchCancel={handleGestureCancel}\n onTouchEnd={() => {\n handleGestureEnd({ shouldResetTouchStart: true });\n }}\n onMouseUp={() => {\n handleGestureEnd();\n }}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={isDrawerOpened}\n onClose={() => closeDrawerHandler()}\n onOpen={() => openDrawerHandler()}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={isDrawerHidden}\n keepMounted\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n },\n onMouseDown: () => {\n handleGestureStart(null);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n },\n onTouchCancel: handleGestureCancel,\n onTouchEnd: () => {\n handleGestureEnd({ shouldResetTouchStart: true });\n },\n onMouseUp: () => {\n handleGestureEnd();\n },\n }}\n sx={{\n display: { md: 'none' },\n pointerEvents: isDrawerOpened ? 'none' : 'auto',\n '& .MuiDrawer-paper': {\n pointerEvents: 'auto',\n },\n '& .MuiSwipeArea-root': {\n pointerEvents: 'auto',\n },\n }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n disableAutoFocus: true,\n disableRestoreFocus: true,\n disableEnforceFocus: true,\n BackdropProps: {\n sx: {\n background: 'none',\n pointerEvents: 'none',\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n isDrawerOpened ||\n (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))\n ? `${closedTabHeight}px`\n : 0,\n transition: 'none',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} hideBuyButton />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":["useGlobal","useState","useRef","useEffect","Box","Typography","fCurrency","Button","EVENTLOOK_ORDER_FORM_ID","SwipeableDrawer","PaymentOverviewBox"],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ const PaymentSuccess = ({ setIsPaying, isIframe, pixels }) => {
|
|
|
105
105
|
};
|
|
106
106
|
return (React.createElement(MotionContainer.default, { className: "iframe__payment-success" }, state === gopay.GopayState.PAID ? (React.createElement(material.Box, null,
|
|
107
107
|
React.createElement(material.Grid, { container: true, spacing: 3, mb: 6 },
|
|
108
|
-
React.createElement(material.Grid, { display: "flex",
|
|
108
|
+
React.createElement(material.Grid, { display: "flex", item: true, xs: 12, sm: 6, alignItems: "center" },
|
|
109
109
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
110
110
|
React.createElement(material.Typography, { variant: "h5", component: "div", color: "primary.main", mb: 2, sx: { textTransform: 'uppercase' } },
|
|
111
111
|
React.createElement(Trans.Trans, { text: content?.paymentConfirmation?.status ||
|
|
@@ -116,12 +116,12 @@ const PaymentSuccess = ({ setIsPaying, isIframe, pixels }) => {
|
|
|
116
116
|
React.createElement(material.Typography, { variant: "subtitle1", component: "div", color: "text.secondary", sx: { maxWidth: 450 } },
|
|
117
117
|
React.createElement(Trans.Trans, { text: content?.paymentConfirmation?.subtitle ||
|
|
118
118
|
'event.tickets.payment_success.paid.subtitle' })))),
|
|
119
|
-
!isMobile && (React.createElement(material.Grid, {
|
|
119
|
+
!isMobile && (React.createElement(material.Grid, { item: true, xs: 12, sm: 6, display: "flex", justifyContent: "center" },
|
|
120
120
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in }, content?.paymentConfirmation?.image ? (React.createElement(Image.default, { src: content.paymentConfirmation.image.src, width: "100%", maxWidth: content.paymentConfirmation.image.maxWidth })) : (React.createElement(Image.default, { src: "https://eventigo.s3-central.vshosting.cloud/production/payment_success.png", alt: "Payment success", maxWidth: 400 })))))),
|
|
121
121
|
tickets.length > 0 && (React.createElement(React.Fragment, null,
|
|
122
122
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
123
123
|
React.createElement(material.Typography, { variant: "h2", textAlign: "center", mb: 4 }, t('event.tickets.payment_success.paid.tickets'))),
|
|
124
|
-
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, tickets.map((item, index) => (React.createElement(material.Grid, { key: index,
|
|
124
|
+
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, tickets.map((item, index) => (React.createElement(material.Grid, { key: index, item: true, xs: 12, sm: 6, textAlign: "center" },
|
|
125
125
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
126
126
|
React.createElement(material.Card, { sx: { px: 2, py: 4 } },
|
|
127
127
|
React.createElement(material.Box, { component: "div", display: "inline-block", sx: {
|
|
@@ -153,7 +153,7 @@ const PaymentSuccess = ({ setIsPaying, isIframe, pixels }) => {
|
|
|
153
153
|
products.length > 0 && (React.createElement(React.Fragment, null,
|
|
154
154
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
155
155
|
React.createElement(material.Typography, { variant: "h2", textAlign: "center", mb: 4 }, t('event.tickets.payment_success.paid.products'))),
|
|
156
|
-
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, products.map((item, index) => (React.createElement(material.Grid, { key: index,
|
|
156
|
+
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, products.map((item, index) => (React.createElement(material.Grid, { key: index, item: true, xs: 12, sm: 6, md: 4, textAlign: "center" },
|
|
157
157
|
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
158
158
|
React.createElement(material.Card, { sx: { px: 2, py: 4 } },
|
|
159
159
|
React.createElement(material.Box, { component: "div", display: "inline-block", sx: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\nimport { getGtmPurchasePaid, gtmPurchasePaid, mapUserToUserData } from '@utils/gtm.ts';\nimport { IPixels } from '@utils/types/gtm.type.ts';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n pixels?: IPixels;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe, pixels }) => {\n const { showSnackbar, t, lang, callbacks, content, user } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n\n const items = [\n ...data.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n if (data.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: data.extraFee,\n quantity: 1,\n });\n }\n const item = {\n currency: data.currency,\n value: data.totalPrice,\n tax: 0,\n payment_type: data.paymentType,\n transaction_id: String(data.orderNumber),\n coupon: data?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchasePaid(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmPurchasePaid(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" size={{ xs: 12, sm: 6 }} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid size={{ xs: 12, sm: 6 }} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} size={{ xs: 12, sm: 6 }} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} size={{ xs: 12, sm: 6, md: 4 }} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":["useGlobal","useTheme","useState","useResponsive","useEffect","getSearchParamsInObject","postOrderPaid","GopayState","getGtmPurchasePaid","gtmPurchasePaid","mapUserToUserData","MotionContainer","Box","Grid","m","varBounce","Typography","Trans","Image","Card","getPlaceAsString","fCurrency","Button","Link","Iconify","LinearProgress"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,cAAc,GAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAI;AAC5E,IAAA,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAGA,iBAAS,EAAE;AACvE,IAAA,MAAM,KAAK,GAAGC,eAAQ,EAAE;IACxB,MAAM,YAAY,GAAG,YAAY;IACjC,MAAM,UAAU,GAAG,OAAO;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAgB,EAAE,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAiB,EAAE,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAS,YAAY,CAAC;AACxD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;IACtF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,cAAQ,CAAgB,IAAI,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAS,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAGC,qBAAa,CAAC,MAAM,EAAE,IAAI,CAAC;IAE5CC,eAAS,CAAC,MAAK;QACb,WAAW,CAAC,KAAK,CAAC;AAClB,QAAA,WAAW,EAAE;KACd,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,WAAW,GAAG,YAAW;QAC7B,MAAM,YAAY,GAAGC,2BAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AACpE,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE;AAEjC,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAMC,mBAAa,CAAC;AACnC,gBAAA,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;AAC3B,aAAA,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;YAC5B,UAAU,CAAC,OAAO,CAAC;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;YAC9B,WAAW,CAAC,QAAQ,CAAC;AACrB,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAEpB,YAAA,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;oBAC/B,OAAO,EAAE,MAAM,CAAC,MAAM;AACtB,oBAAA,SAAS,EAAE,CAAA,EAAG,MAAM,CAAC,SAAS,CAAA,GAAA,EAAM,MAAM,CAAC,mBAAmB,CAAA,GAAA,EAAM,MAAM,CAAC,WAAW,CAAA,CAAE;oBACxF,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,oBAAA,QAAQ,EAAE,CAAC;AACZ,iBAAA,CAAC,CAAC;aACJ;AACD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,SAAS,EAAE,CAAA,WAAA,CAAa;oBACxB,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,oBAAA,QAAQ,EAAE,CAAC;AACZ,iBAAA,CAAC;;AAEJ,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,UAAU;AACtB,gBAAA,GAAG,EAAE,CAAC;gBACN,YAAY,EAAE,IAAI,CAAC,WAAW;AAC9B,gBAAA,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACxC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClD,KAAK;aACN;AAED,YAAA,QAAQ,IAAI,CAAC,KAAK;gBAChB,KAAKC,gBAAU,CAAC,IAAI;oBAClB,QAAQ,CAAC,0CAA0C,CAAC;oBACpD,IAAI,QAAQ,EAAE;wBACZ,UAAU,CAAC,MAAK;4BACd,MAAM,CAAC,WAAW,CAChB;AACE,gCAAA,IAAI,EAAE,mBAAmB;AACzB,gCAAA,IAAI,EAAEC,sBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;6BACvC,EACD,GAAG,CACJ;yBACF,EAAE,IAAI,CAAC;;yBACH;AACL,wBAAAC,mBAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAGC,qBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;;oBAE3E;AACF,gBAAA;oBACE,QAAQ,CAAC,sCAAsC,CAAC;oBAChD,cAAc,CAAC,kDAAkD,CAAC;oBAClE;;;QAEJ,OAAO,KAAU,EAAE;YACnB,QAAQ,CAAC,UAAU,CAAC;AACpB,YAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;AAErD,KAAC;AAED,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,uBAAe,IAAC,SAAS,EAAC,yBAAyB,EAAA,EACjD,KAAK,KAAKJ,gBAAU,CAAC,IAAI,IACxB,oBAACK,YAAG,EAAA,IAAA;QACF,KAAA,CAAA,aAAA,CAACC,aAAI,EAAA,EAAC,SAAS,EAAA,IAAA,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA;YAC/B,KAAA,CAAA,aAAA,CAACA,aAAI,IAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,EAAC,QAAQ,EAAA;gBAC/D,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;oBAC7B,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EACT,OAAO,EAAC,IAAI,EACZ,SAAS,EAAC,KAAK,EACf,KAAK,EAAC,cAAc,EACpB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,EAAA;wBAElC,KAAA,CAAA,aAAA,CAACC,WAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,MAAM;AACpC,gCAAA,2CAA2C,GAE7C,CACS;oBACb,KAAA,CAAA,aAAA,CAACD,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA;wBAC5B,KAAA,CAAA,aAAA,CAACC,WAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,KAAK;AACnC,gCAAA,0CAA0C,GAE5C,CACS;oBACb,KAAA,CAAA,aAAA,CAACD,mBAAU,IACT,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,KAAK,EACf,KAAK,EAAC,gBAAgB,EACtB,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA;wBAErB,KAAA,CAAA,aAAA,CAACC,WAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,QAAQ;gCACtC,6CAA6C,EAAA,CAE/C,CACS,CACP,CACH;YACN,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAACJ,aAAI,IAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAA;AACnE,gBAAA,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA,EAC5B,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAClC,KAAA,CAAA,aAAA,CAACG,aAAK,IACJ,GAAG,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAC1C,KAAK,EAAC,MAAM,EACZ,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,GACpD,KAEF,KAAA,CAAA,aAAA,CAACA,aAAK,EAAA,EACJ,GAAG,EAAC,4EAA4E,EAChF,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAE,GAAG,EAAA,CACb,CACH,CACK,CACH,CACR,CACI;AACN,QAAA,OAAO,CAAC,MAAM,GAAG,CAAC,KACjB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAACJ,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,EAAA,EAC9C,CAAC,CAAC,4CAA4C,CAAC,CACrC,CACP;YACR,KAAA,CAAA,aAAA,CAACH,aAAI,IAAC,SAAS,EAAA,IAAA,EAAC,cAAc,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EACtD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACvB,KAAA,CAAA,aAAA,CAACA,aAAI,IAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAC,QAAQ,EAAA;gBAC3D,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,oBAAA,KAAA,CAAA,aAAA,CAACI,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;wBACxB,KAAA,CAAA,aAAA,CAACP,YAAG,EAAA,EACF,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,cAAc,EACtB,EAAE,EAAE;AACF,gCAAA,KAAK,EAAE,EAAE;AACT,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,eAAe,EAAE,cAAc;AAC/B,gCAAA,KAAK,EAAE,QAAQ;AACf,gCAAA,UAAU,EAAE,GAAG;AAChB,6BAAA,EACD,EAAE,EAAE,CAAC,IAEJ,KAAK,GAAG,CAAC,CACN;wBACN,KAAA,CAAA,aAAA,CAACI,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,SAAS,CAAc;AACtD,wBAAA,KAAA,CAAA,aAAA,CAACA,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3BI,sBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrB;wBACb,KAAA,CAAA,aAAA,CAACJ,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,mBAAmB,CAAc;wBAC/D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAC9B,KAAA,CAAA,aAAA,CAACA,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE,CAAc,CAC7E;wBACD,KAAA,CAAA,aAAA,CAACA,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3BK,sBAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAChC;wBACZ,IAAI,CAAC,aAAa,KACjB,KAAA,CAAA,aAAA,CAACL,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,EACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CACpD,CACd;AACD,wBAAA,KAAA,CAAA,aAAA,CAACE,aAAK,EAAA,EACJ,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,GAAG,EAAC,SAAS,EACb,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAE,EAChD,EAAE,EAAE,CAAC,EAAA,CACL;AACD,wBAAA,IAAI,CAAC,MAAM,KACV,oBAACI,eAAM,EAAA,EACL,IAAI,EAAE,IAAI,CAAC,MAAM,EACjB,MAAM,EAAC,QAAQ,EACf,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAEZ,CAAC,CAAC,2CAA2C,CAAC,CACxC,CACV;AACA,wBAAA,IAAI,CAAC,kBAAkB,KACtB,KAAA,CAAA,aAAA,CAACC,aAAI,IAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAA;AAClE,4BAAA,KAAA,CAAA,aAAA,CAACX,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;AAC3C,gCAAA,KAAA,CAAA,aAAA,CAACM,aAAK,EAAA,EACJ,GAAG,EAAE,CAAA,oEAAA,EAAuE,IAAI,CAAA,IAAA,CAAM,EACtF,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,EACtB,SAAS,EAAC,SAAS,EACnB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAA,CAClB,CACE,CACD,CACR;AACA,wBAAA,IAAI,CAAC,mBAAmB,KACvB,KAAA,CAAA,aAAA,CAACK,aAAI,IAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAA;AACnE,4BAAA,KAAA,CAAA,aAAA,CAACX,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;AAC3C,gCAAA,KAAA,CAAA,aAAA,CAACM,aAAK,EAAA,EACJ,GAAG,EAAE,CAAA,qEAAA,EAAwE,IAAI,CAAA,IAAA,CAAM,EACvF,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EACvB,SAAS,EAAC,SAAS,EACnB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAA,CAClB,CACE,CACD,CACR;wBACD,KAAA,CAAA,aAAA,CAACN,YAAG,IACF,QAAQ,EAAE,GAAG,EACb,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,CAAC,EACL,YAAY,EAAE,CAAC,EACf,KAAK,EAAC,QAAQ,EACd,EAAE,EAAE;AACF,gCAAA,UAAU,EAAE,GAAG;AACf,gCAAA,eAAe,EAAE,cAAc;AAChC,6BAAA,EACD,SAAS,EAAC,iCAAiC,EAAA,EAE1C,IAAI,CAAC,MAAM,CACR,CACD,CACD,CACH,CACR,CAAC,CACG,CACN,CACJ;AACA,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAACE,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,EAAA,EAC9C,CAAC,CAAC,6CAA6C,CAAC,CACtC,CACP;YACR,KAAA,CAAA,aAAA,CAACH,aAAI,EAAA,EAAC,SAAS,EAAA,IAAA,EAAC,cAAc,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EACtD,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACxB,KAAA,CAAA,aAAA,CAACA,aAAI,EAAA,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAC,QAAQ,EAAA;gBAClE,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,oBAAA,KAAA,CAAA,aAAA,CAACI,aAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;wBACxB,KAAA,CAAA,aAAA,CAACP,YAAG,EAAA,EACF,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,cAAc,EACtB,EAAE,EAAE;AACF,gCAAA,KAAK,EAAE,EAAE;AACT,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,eAAe,EAAE,cAAc;AAC/B,gCAAA,KAAK,EAAE,QAAQ;AACf,gCAAA,UAAU,EAAE,GAAG;AAChB,6BAAA,EACD,EAAE,EAAE,CAAC,IAEJ,KAAK,GAAG,CAAC,CACN;wBACN,KAAA,CAAA,aAAA,CAACI,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,IAAI,CAAc;AACjD,wBAAA,KAAA,CAAA,aAAA,CAACA,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3B,IAAI,CAAC,WAAW,CACN;wBACb,KAAA,CAAA,aAAA,CAACA,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3BK,sBAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAChC;AACb,wBAAA,KAAA,CAAA,aAAA,CAACH,aAAK,EAAA,EACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,CAAC,EACL,YAAY,EAAE,CAAC,EAAA,CACf,CACG,CACD,CACH,CACR,CAAC,CACG,CACN,CACJ;QACA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAACN,YAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;YACrB,KAAA,CAAA,aAAA,CAAC,YAAY,IACX,OAAO,EAAE,SAAS,CAAC,QAAQ,EAC3B,SAAS,EAAE,oBAACY,eAAO,EAAA,EAAC,IAAI,EAAC,eAAe,GAAG,EAAA,EAE1C,CAAC,CAAC,SAAS,CAAC,CACA,CACX,CACP,CACG,KAEN,oBAACZ,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;QACrC,KAAA,CAAA,aAAA,CAACE,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAACC,mBAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA;AAC/D,gBAAA,KAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,IAAI,EAAE,KAAK,EACX,UAAU,EAAE;AACV,wBAAA,EAAE,EAAE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAC,IAAI,EAAA,CAAG;AACpB,qBAAA,EAAA,CACD,CACS;YACZ,WAAW,KACV,KAAA,CAAA,aAAA,CAACD,mBAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA;AAClE,gBAAA,KAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE;AACV,wBAAA,EAAE,EAAE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAC,IAAI,EAAA,CAAG;qBACpB,EAAA,CACD,CACS,CACd,CACK;AACP,QAAA,KAAK,KAAK,UAAU,IACnB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAACH,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAACS,eAAO,EAAA,EACN,IAAI,EAAC,uBAAuB,EAC5B,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,qBAAA,EAAA,CACD,CACI;AACP,YAAA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAACF,eAAM,IACL,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,SAAS,EAAE,KAAA,CAAA,aAAA,CAACE,eAAO,IAAC,IAAI,EAAC,qBAAqB,EAAA,CAAG,IAEhD,CAAC,CAAC,iBAAiB,CAAC,CACd,CACV,CACA,IACD,KAAK,KAAK,YAAY,IACxB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAACV,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAACS,eAAO,EAAA,EACN,IAAI,EAAC,yBAAyB,EAC9B,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,qBAAA,EAAA,CACD,CACI;YACP,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAA,CAAA,aAAA,CAACA,eAAO,EAAA,EAAC,IAAI,EAAC,2BAA2B,EAAA,CAAG,EAAA,EAC5E,CAAC,CAAC,KAAK,CAAC,CACI,CAChB,CACA,KAEH,KAAA,CAAA,aAAA,CAACC,uBAAc,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,CAAI,CAChE,CACG,CACP,CACe;AAEtB;AASA,MAAM,YAAY,GAA6C,CAAC,EAC9D,OAAO,EACP,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,GACR,MACC,oBAACH,eAAM,EAAA,EACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE;AACF,QAAA,EAAE,EAAE,CAAC;KACN,EAAA,EAEA,QAAQ,CACF,CACV;;;;"}
|
|
1
|
+
{"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\nimport { getGtmPurchasePaid, gtmPurchasePaid, mapUserToUserData } from '@utils/gtm.ts';\nimport { IPixels } from '@utils/types/gtm.type.ts';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n pixels?: IPixels;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe, pixels }) => {\n const { showSnackbar, t, lang, callbacks, content, user } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n\n const items = [\n ...data.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n if (data.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: data.extraFee,\n quantity: 1,\n });\n }\n const item = {\n currency: data.currency,\n value: data.totalPrice,\n tax: 0,\n payment_type: data.paymentType,\n transaction_id: String(data.orderNumber),\n coupon: data?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchasePaid(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmPurchasePaid(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":["useGlobal","useTheme","useState","useResponsive","useEffect","getSearchParamsInObject","postOrderPaid","GopayState","getGtmPurchasePaid","gtmPurchasePaid","mapUserToUserData","MotionContainer","Box","Grid","m","varBounce","Typography","Trans","Image","Card","getPlaceAsString","fCurrency","Button","Link","Iconify","LinearProgress"],"mappings":"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"}
|
|
@@ -4,25 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var material = require('@mui/material');
|
|
7
|
+
var Iconify = require('../components/iconify/Iconify.js');
|
|
7
8
|
var ProductVariantsDialog = require('./product/ProductVariantsDialog.js');
|
|
8
|
-
var TicketQuantityControl = require('./tickets/TicketQuantityControl.js');
|
|
9
9
|
var reactHookForm = require('react-hook-form');
|
|
10
10
|
var formatNumber = require('../utils/formatNumber.js');
|
|
11
11
|
var product = require('../utils/product.js');
|
|
12
12
|
var ReleaseExtraFields = require('./extra-field/ReleaseExtraFields.js');
|
|
13
|
-
var ReleaseDescription = require('./tickets/ReleaseDescription.js');
|
|
14
13
|
var useGlobal = require('../hooks/useGlobal.js');
|
|
15
14
|
|
|
16
15
|
const ReleaseWithMerchandise = ({ eventId, release, activeReleases, currency, index, }) => {
|
|
17
16
|
const { t, lang } = useGlobal.default();
|
|
18
17
|
const [openVariantDialog, setOpenVariantDialog] = React.useState(null);
|
|
19
|
-
const [isDescriptionExpanded, setIsDescriptionExpanded] = React.useState(false);
|
|
20
18
|
const { setValue } = reactHookForm.useFormContext();
|
|
21
19
|
const tickets = reactHookForm.useWatch({ name: `tickets.${eventId}`, defaultValue: [] });
|
|
22
20
|
const products = reactHookForm.useWatch({ name: `products.${eventId}`, defaultValue: [] });
|
|
23
21
|
const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);
|
|
24
22
|
const countTickets = addedRelease?.quantity || 0;
|
|
25
|
-
const
|
|
23
|
+
const isReleaseSelected = (id) => !!tickets.find((ticket) => ticket.releaseId === id);
|
|
26
24
|
const getSelectedQuantity = (id) => tickets.find((ticket) => ticket.releaseId === id)?.quantity || 0;
|
|
27
25
|
const getAvailableTicketsForRelease = (release) => {
|
|
28
26
|
const selectedRelease = activeReleases?.find((item) => item.id === release.releaseId);
|
|
@@ -35,60 +33,45 @@ const ReleaseWithMerchandise = ({ eventId, release, activeReleases, currency, in
|
|
|
35
33
|
return false;
|
|
36
34
|
return getSelectedQuantity(releaseId) >= getAvailableTicketsForRelease(release);
|
|
37
35
|
};
|
|
38
|
-
const addRelease = (
|
|
39
|
-
const normalizedProducts = Array.isArray(productsToAdd)
|
|
40
|
-
? productsToAdd
|
|
41
|
-
: productsToAdd
|
|
42
|
-
? [productsToAdd]
|
|
43
|
-
: [];
|
|
44
|
-
const quantity = normalizedProducts.length ? normalizedProducts.length : 1;
|
|
45
|
-
const extraFields = release.extraFields?.length
|
|
46
|
-
? Array.from({ length: quantity }, () => release.extraFields.map((field) => ({
|
|
47
|
-
eventExtraFieldId: field.id,
|
|
48
|
-
value: '',
|
|
49
|
-
})))
|
|
50
|
-
: [];
|
|
36
|
+
const addRelease = (product) => {
|
|
51
37
|
setValue(`tickets.${eventId}`, [
|
|
52
38
|
...tickets,
|
|
53
39
|
{
|
|
54
40
|
releaseId: release.id,
|
|
55
|
-
quantity,
|
|
41
|
+
quantity: 1,
|
|
56
42
|
itemName: '',
|
|
57
43
|
price: 0,
|
|
58
|
-
products:
|
|
59
|
-
extraFields
|
|
44
|
+
products: product ? [product] : [],
|
|
45
|
+
extraFields: release.extraFields?.length
|
|
46
|
+
? [
|
|
47
|
+
release.extraFields.map((field) => ({
|
|
48
|
+
eventExtraFieldId: field.id,
|
|
49
|
+
value: '',
|
|
50
|
+
})),
|
|
51
|
+
]
|
|
52
|
+
: [],
|
|
60
53
|
},
|
|
61
54
|
]);
|
|
62
55
|
setOpenVariantDialog(null);
|
|
63
56
|
};
|
|
64
|
-
const increaseQuantity = (
|
|
65
|
-
const normalizedProducts = Array.isArray(productsToAdd)
|
|
66
|
-
? productsToAdd
|
|
67
|
-
: productsToAdd
|
|
68
|
-
? [productsToAdd]
|
|
69
|
-
: [];
|
|
57
|
+
const increaseQuantity = (product) => {
|
|
70
58
|
const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);
|
|
71
59
|
if (addedRelease) {
|
|
72
|
-
const
|
|
60
|
+
const newQuantity = Number(addedRelease.quantity) + 1;
|
|
73
61
|
const maxQuantity = getAvailableTicketsForRelease(addedRelease);
|
|
74
|
-
const availableIncrement = Math.max(0, Math.min(increment, maxQuantity - Number(addedRelease.quantity)));
|
|
75
|
-
if (availableIncrement === 0)
|
|
76
|
-
return;
|
|
77
|
-
const newQuantity = Number(addedRelease.quantity) + availableIncrement;
|
|
78
|
-
const productsSlice = normalizedProducts.slice(0, availableIncrement);
|
|
79
|
-
const extraFieldsToAdd = release.extraFields?.length
|
|
80
|
-
? Array.from({ length: availableIncrement }, () => release.extraFields.map((field) => ({
|
|
81
|
-
eventExtraFieldId: field.id,
|
|
82
|
-
value: '',
|
|
83
|
-
})))
|
|
84
|
-
: [];
|
|
85
62
|
setValue(`tickets.${eventId}`, tickets.map((ticket) => ticket.releaseId === release.id
|
|
86
63
|
? {
|
|
87
64
|
...ticket,
|
|
88
65
|
quantity: newQuantity > maxQuantity ? maxQuantity : newQuantity,
|
|
89
|
-
products: [...ticket.products,
|
|
66
|
+
products: product ? [...ticket.products, product] : ticket.products,
|
|
90
67
|
extraFields: release.extraFields?.length
|
|
91
|
-
? [
|
|
68
|
+
? [
|
|
69
|
+
...ticket.extraFields,
|
|
70
|
+
release.extraFields.map((field) => ({
|
|
71
|
+
eventExtraFieldId: field.id,
|
|
72
|
+
value: '',
|
|
73
|
+
})),
|
|
74
|
+
]
|
|
92
75
|
: [],
|
|
93
76
|
}
|
|
94
77
|
: ticket));
|
|
@@ -116,23 +99,31 @@ const ReleaseWithMerchandise = ({ eventId, release, activeReleases, currency, in
|
|
|
116
99
|
}
|
|
117
100
|
}
|
|
118
101
|
}, [tickets, release.id, setValue]);
|
|
119
|
-
return (React.createElement(material.Box,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
102
|
+
return (React.createElement(material.Box, null,
|
|
103
|
+
React.createElement(material.Stack, { direction: "row", spacing: 1 },
|
|
104
|
+
React.createElement(material.Stack, { direction: "row", spacing: 1, justifyContent: "space-between", alignItems: "center", sx: { width: '100%', backgroundColor: 'grey.200', p: 1, pl: 1.5, borderRadius: 1 } },
|
|
105
|
+
React.createElement(material.Stack, { direction: "row", spacing: 2, alignItems: "center" },
|
|
106
|
+
React.createElement(material.Stack, { direction: "row", spacing: 0.5, alignItems: "center" },
|
|
107
|
+
React.createElement(Iconify.default, { icon: "ion:ticket-outline", color: "primary.main", sx: { width: 24, height: 24 } }),
|
|
108
|
+
release.product && (React.createElement(React.Fragment, null,
|
|
109
|
+
React.createElement(material.Typography, { fontSize: 20, lineHeight: 1 }, "+"),
|
|
110
|
+
React.createElement(Iconify.default, { icon: "lucide-lab:shirt-t", color: "primary.main", sx: { width: 24, height: 24 } })))),
|
|
111
|
+
React.createElement(material.Typography, { color: "grey.500" },
|
|
112
|
+
release.releaseCategoryName,
|
|
113
|
+
" - ",
|
|
114
|
+
release.name,
|
|
115
|
+
" -",
|
|
116
|
+
' ',
|
|
117
|
+
formatNumber.fCurrency(release.price, lang, currency))),
|
|
118
|
+
isReleaseSelected(release.id) ? (React.createElement(material.Stack, { direction: "row", spacing: 1, py: 0.5 },
|
|
119
|
+
React.createElement(material.IconButton, { onClick: () => decreaseQuantity(), size: "small", color: "primary" },
|
|
120
|
+
React.createElement(Iconify.default, { icon: "eva:minus-fill" })),
|
|
121
|
+
React.createElement(material.Typography, { color: "grey.500" }, getSelectedQuantity(release.id)),
|
|
122
|
+
React.createElement(material.IconButton, { onClick: () => release.product ? setOpenVariantDialog('increase') : increaseQuantity(), size: "small", color: "primary", disabled: isMaxQuantity(release.id) },
|
|
123
|
+
React.createElement(Iconify.default, { icon: "eva:plus-fill" })))) : (React.createElement(material.Button, { onClick: () => !release.locked && (release.product ? setOpenVariantDialog('add') : addRelease()), variant: "contained", disabled: release.locked }, t('add'))))),
|
|
124
|
+
React.createElement(material.Typography, { variant: "caption", content: "div", mt: 2, mb: release.extraFields?.length ? 2 : 0, display: "block" }, release.description),
|
|
125
|
+
release.extraFields && release.extraFields.length > 0 && (React.createElement(ReleaseExtraFields.default, { release: release, eventId: eventId, releaseIndex: index, quantity: countTickets })),
|
|
126
|
+
release.product && (React.createElement(ProductVariantsDialog.default, { eventProduct: release.product, openDialog: !!openVariantDialog, callback: openVariantDialog === 'increase' ? increaseQuantity : addRelease, onClose: () => setOpenVariantDialog(null), selectedQuantityByVariant: product.getSelectedQuantityByVariant(products, tickets), eventId: eventId }))));
|
|
136
127
|
};
|
|
137
128
|
|
|
138
129
|
exports.default = ReleaseWithMerchandise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseWithMerchandise.js","sources":["../../../src/form/ReleaseWithMerchandise.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Box, Stack, Typography } from '@mui/material';\nimport ProductVariantsDialog from '@form/product/ProductVariantsDialog';\nimport TicketQuantityControl from '@form/tickets/TicketQuantityControl';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { IEventProductForm } from '@utils/types/product.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport { Currencies } from '@utils/data/currency';\nimport { getSelectedQuantityByVariant } from '@utils/product';\nimport ReleaseExtraFields from '@form/extra-field/ReleaseExtraFields';\nimport ReleaseDescription from '@form/tickets/ReleaseDescription';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n eventId: number;\n release: IReleaseShort;\n activeReleases: IReleaseShort[];\n currency: Currencies;\n index: number;\n}\n\nconst ReleaseWithMerchandise: React.FC<Props> = ({\n eventId,\n release,\n activeReleases,\n currency,\n index,\n}) => {\n const { t, lang } = useGlobal();\n const [openVariantDialog, setOpenVariantDialog] = useState<'add' | 'increase' | null>(null);\n const [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false);\n const { setValue } = useFormContext<ITicketForm>();\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${eventId}`, defaultValue: [] });\n const products: IEventProductForm[] = useWatch({ name: `products.${eventId}`, defaultValue: [] });\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n const countTickets = addedRelease?.quantity || 0;\n\n const getReleaseTitle = (release: IReleaseShort) =>\n release.releaseCategoryName || release.name || '';\n\n const getSelectedQuantity = (id: number) =>\n tickets.find((ticket) => ticket.releaseId === id)?.quantity || 0;\n\n const getAvailableTicketsForRelease = (release: ITicketFormTicket): number => {\n const selectedRelease = activeReleases?.find((item) => item.id === release.releaseId);\n const availableQuantity = selectedRelease ? selectedRelease.availableTickets : 0;\n return availableQuantity > 10 ? 10 : availableQuantity;\n };\n\n const isMaxQuantity = (releaseId: number) => {\n const release = tickets.find((ticket) => ticket.releaseId === releaseId);\n if (!release) return false;\n return getSelectedQuantity(releaseId) >= getAvailableTicketsForRelease(release);\n };\n\n const addRelease = (productsToAdd?: IEventProductForm[] | IEventProductForm) => {\n const normalizedProducts = Array.isArray(productsToAdd)\n ? productsToAdd\n : productsToAdd\n ? [productsToAdd]\n : [];\n const quantity = normalizedProducts.length ? normalizedProducts.length : 1;\n const extraFields = release.extraFields?.length\n ? Array.from({ length: quantity }, () =>\n release.extraFields!.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n }))\n )\n : [];\n\n setValue(`tickets.${eventId}`, [\n ...tickets,\n {\n releaseId: release.id,\n quantity,\n itemName: '',\n price: 0,\n products: normalizedProducts,\n extraFields,\n },\n ]);\n setOpenVariantDialog(null);\n };\n\n const increaseQuantity = (productsToAdd?: IEventProductForm[] | IEventProductForm) => {\n const normalizedProducts = Array.isArray(productsToAdd)\n ? productsToAdd\n : productsToAdd\n ? [productsToAdd]\n : [];\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const increment = normalizedProducts.length ? normalizedProducts.length : 1;\n const maxQuantity = getAvailableTicketsForRelease(addedRelease);\n const availableIncrement = Math.max(\n 0,\n Math.min(increment, maxQuantity - Number(addedRelease.quantity))\n );\n if (availableIncrement === 0) return;\n\n const newQuantity = Number(addedRelease.quantity) + availableIncrement;\n const productsSlice = normalizedProducts.slice(0, availableIncrement);\n const extraFieldsToAdd = release.extraFields?.length\n ? Array.from({ length: availableIncrement }, () =>\n release.extraFields!.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n }))\n )\n : [];\n\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) =>\n ticket.releaseId === release.id\n ? {\n ...ticket,\n quantity: newQuantity > maxQuantity ? maxQuantity : newQuantity,\n products: [...ticket.products, ...productsSlice],\n extraFields: release.extraFields?.length\n ? [...ticket.extraFields, ...extraFieldsToAdd]\n : [],\n }\n : ticket\n )\n );\n setOpenVariantDialog(null);\n }\n };\n\n const decreaseQuantity = useCallback(() => {\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const newQuantity = Number(addedRelease.quantity) - 1;\n if (newQuantity < 1) {\n setValue(\n `tickets.${eventId}`,\n tickets.filter((ticket) => ticket.releaseId !== release.id)\n );\n } else {\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) => {\n if (ticket.releaseId !== release.id) return ticket;\n\n return {\n ...ticket,\n quantity: newQuantity,\n products: ticket?.products?.slice(0, -1), // non-mutating \"pop\"\n extraFields: ticket?.extraFields?.slice(0, -1),\n };\n })\n );\n }\n }\n }, [tickets, release.id, setValue]);\n\n return (\n <Box\n sx={{\n p: 1,\n pb: 0,\n borderRadius: 1,\n bgcolor: 'grey.100',\n }}\n >\n <Stack spacing={0}>\n <Box>\n <Typography variant=\"subtitle1\" fontWeight={600}>\n {getReleaseTitle(release)}\n </Typography>\n </Box>\n\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Stack>\n <Typography variant=\"body2\">\n {release.price === 0 ? t('free') : fCurrency(release.price, lang, currency)}\n </Typography>\n\n <ReleaseDescription\n description={release.description}\n isExpanded={isDescriptionExpanded}\n onToggle={() => setIsDescriptionExpanded((prev) => !prev)}\n moreInfoLabel={t('more_info')}\n />\n </Stack>\n\n <TicketQuantityControl\n quantity={getSelectedQuantity(release.id)}\n isDisabled={release.locked}\n canAddFirst={!release.locked}\n canAddMore={!isMaxQuantity(release.id)}\n addLabel={t('add')}\n onDecrement={() => decreaseQuantity()}\n onIncrement={() =>\n release.product ? setOpenVariantDialog('increase') : increaseQuantity()\n }\n onAddFirst={() => (release.product ? setOpenVariantDialog('add') : addRelease())}\n />\n </Stack>\n\n <ReleaseDescription\n description={release.description}\n isExpanded={isDescriptionExpanded}\n onToggle={() => setIsDescriptionExpanded((prev) => !prev)}\n moreInfoLabel={t('more_info')}\n showCollapse\n />\n {release.extraFields && release.extraFields.length > 0 && (\n <ReleaseExtraFields\n release={release}\n eventId={eventId}\n releaseIndex={index}\n quantity={countTickets}\n />\n )}\n {release.product && (\n <ProductVariantsDialog\n eventProduct={release.product}\n openDialog={!!openVariantDialog}\n callback={openVariantDialog === 'increase' ? increaseQuantity : addRelease}\n onClose={() => setOpenVariantDialog(null)}\n selectedQuantityByVariant={getSelectedQuantityByVariant(products, tickets)}\n eventId={eventId}\n canAddOnlyOneAtATime\n />\n )}\n </Stack>\n </Box>\n );\n};\n\nexport default ReleaseWithMerchandise;\n"],"names":["useGlobal","useState","useFormContext","useWatch","useCallback","Box","Stack","Typography","fCurrency","ReleaseDescription","TicketQuantityControl","ReleaseExtraFields","ProductVariantsDialog","getSelectedQuantityByVariant"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReleaseWithMerchandise.js","sources":["../../../src/form/ReleaseWithMerchandise.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Box, Button, IconButton, Stack, Typography } from '@mui/material';\nimport { Iconify } from '@components/iconify';\nimport ProductVariantsDialog from '@form/product/ProductVariantsDialog';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { IEventProductForm } from '@utils/types/product.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport { Currencies } from '@utils/data/currency';\nimport { getSelectedQuantityByVariant } from '@utils/product';\nimport ReleaseExtraFields from '@form/extra-field/ReleaseExtraFields';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n eventId: number;\n release: IReleaseShort;\n activeReleases: IReleaseShort[];\n currency: Currencies;\n index: number;\n}\n\nconst ReleaseWithMerchandise: React.FC<Props> = ({\n eventId,\n release,\n activeReleases,\n currency,\n index,\n}) => {\n const { t, lang } = useGlobal();\n const [openVariantDialog, setOpenVariantDialog] = useState<'add' | 'increase' | null>(null);\n const { setValue } = useFormContext<ITicketForm>();\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${eventId}`, defaultValue: [] });\n const products: IEventProductForm[] = useWatch({ name: `products.${eventId}`, defaultValue: [] });\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n const countTickets = addedRelease?.quantity || 0;\n\n const isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);\n\n const getSelectedQuantity = (id: number) =>\n tickets.find((ticket) => ticket.releaseId === id)?.quantity || 0;\n\n const getAvailableTicketsForRelease = (release: ITicketFormTicket): number => {\n const selectedRelease = activeReleases?.find((item) => item.id === release.releaseId);\n const availableQuantity = selectedRelease ? selectedRelease.availableTickets : 0;\n return availableQuantity > 10 ? 10 : availableQuantity;\n };\n\n const isMaxQuantity = (releaseId: number) => {\n const release = tickets.find((ticket) => ticket.releaseId === releaseId);\n if (!release) return false;\n return getSelectedQuantity(releaseId) >= getAvailableTicketsForRelease(release);\n };\n\n const addRelease = (product?: IEventProductForm) => {\n setValue(`tickets.${eventId}`, [\n ...tickets,\n {\n releaseId: release.id,\n quantity: 1,\n itemName: '',\n price: 0,\n products: product ? [product] : [],\n extraFields: release.extraFields?.length\n ? [\n release.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })),\n ]\n : [],\n },\n ]);\n setOpenVariantDialog(null);\n };\n\n const increaseQuantity = (product?: IEventProductForm) => {\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const newQuantity = Number(addedRelease.quantity) + 1;\n const maxQuantity = getAvailableTicketsForRelease(addedRelease);\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) =>\n ticket.releaseId === release.id\n ? {\n ...ticket,\n quantity: newQuantity > maxQuantity ? maxQuantity : newQuantity,\n products: product ? [...ticket.products, product] : ticket.products,\n extraFields: release.extraFields?.length\n ? [\n ...ticket.extraFields,\n release.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })),\n ]\n : [],\n }\n : ticket\n )\n );\n setOpenVariantDialog(null);\n }\n };\n\n const decreaseQuantity = useCallback(() => {\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const newQuantity = Number(addedRelease.quantity) - 1;\n if (newQuantity < 1) {\n setValue(\n `tickets.${eventId}`,\n tickets.filter((ticket) => ticket.releaseId !== release.id)\n );\n } else {\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) => {\n if (ticket.releaseId !== release.id) return ticket;\n\n return {\n ...ticket,\n quantity: newQuantity,\n products: ticket?.products?.slice(0, -1), // non-mutating \"pop\"\n extraFields: ticket?.extraFields?.slice(0, -1),\n };\n })\n );\n }\n }\n }, [tickets, release.id, setValue]);\n\n return (\n <Box>\n <Stack direction=\"row\" spacing={1}>\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n sx={{ width: '100%', backgroundColor: 'grey.200', p: 1, pl: 1.5, borderRadius: 1 }}\n >\n <Stack direction=\"row\" spacing={2} alignItems=\"center\">\n <Stack direction=\"row\" spacing={0.5} alignItems=\"center\">\n <Iconify\n icon=\"ion:ticket-outline\"\n color=\"primary.main\"\n sx={{ width: 24, height: 24 }}\n />\n {release.product && (\n <>\n <Typography fontSize={20} lineHeight={1}>\n +\n </Typography>\n <Iconify\n icon=\"lucide-lab:shirt-t\"\n color=\"primary.main\"\n sx={{ width: 24, height: 24 }}\n />\n </>\n )}\n </Stack>\n <Typography color=\"grey.500\">\n {release.releaseCategoryName} - {release.name} -{' '}\n {fCurrency(release.price, lang, currency)}\n </Typography>\n </Stack>\n {isReleaseSelected(release.id) ? (\n <Stack direction=\"row\" spacing={1} py={0.5}>\n <IconButton onClick={() => decreaseQuantity()} size=\"small\" color=\"primary\">\n <Iconify icon=\"eva:minus-fill\" />\n </IconButton>\n <Typography color=\"grey.500\">{getSelectedQuantity(release.id)}</Typography>\n <IconButton\n onClick={() =>\n release.product ? setOpenVariantDialog('increase') : increaseQuantity()\n }\n size=\"small\"\n color=\"primary\"\n disabled={isMaxQuantity(release.id)}\n >\n <Iconify icon=\"eva:plus-fill\" />\n </IconButton>\n </Stack>\n ) : (\n <Button\n onClick={() =>\n !release.locked && (release.product ? setOpenVariantDialog('add') : addRelease())\n }\n variant=\"contained\"\n disabled={release.locked}\n >\n {t('add')}\n </Button>\n )}\n </Stack>\n </Stack>\n <Typography\n variant=\"caption\"\n content=\"div\"\n mt={2}\n mb={release.extraFields?.length ? 2 : 0}\n display=\"block\"\n >\n {release.description}\n </Typography>\n {release.extraFields && release.extraFields.length > 0 && (\n <ReleaseExtraFields\n release={release}\n eventId={eventId}\n releaseIndex={index}\n quantity={countTickets}\n />\n )}\n {release.product && (\n <ProductVariantsDialog\n eventProduct={release.product}\n openDialog={!!openVariantDialog}\n callback={openVariantDialog === 'increase' ? increaseQuantity : addRelease}\n onClose={() => setOpenVariantDialog(null)}\n selectedQuantityByVariant={getSelectedQuantityByVariant(products, tickets)}\n eventId={eventId}\n />\n )}\n </Box>\n );\n};\n\nexport default ReleaseWithMerchandise;\n"],"names":["useGlobal","useState","useFormContext","useWatch","useCallback","Box","Stack","Iconify","Typography","fCurrency","IconButton","Button","ReleaseExtraFields","ProductVariantsDialog","getSelectedQuantityByVariant"],"mappings":"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"}
|
|
@@ -460,7 +460,7 @@ const TicketForm = ({ event: event$1, hasGopayIdSsr, selectedReleaseId, isIframe
|
|
|
460
460
|
md: 0,
|
|
461
461
|
},
|
|
462
462
|
} },
|
|
463
|
-
React.createElement(material.Grid, {
|
|
463
|
+
React.createElement(material.Grid, { item: true, xs: 12, md: 8 },
|
|
464
464
|
React.createElement(material.Stepper, { orientation: "vertical", sx: (theme) => ({
|
|
465
465
|
[theme.breakpoints.down('sm')]: {
|
|
466
466
|
'& .MuiStepContent-root': {
|
|
@@ -511,9 +511,9 @@ const TicketForm = ({ event: event$1, hasGopayIdSsr, selectedReleaseId, isIframe
|
|
|
511
511
|
0: React.createElement(CustomLink, { key: 2, href: links.termsAndConditions, target: "_blank" }),
|
|
512
512
|
1: React.createElement(CustomLink, { key: 1, href: links.gdpr, target: "_blank" }),
|
|
513
513
|
} }) }))),
|
|
514
|
-
React.createElement(material.Grid, {
|
|
514
|
+
React.createElement(material.Grid, { item: true, xs: 12, sx: { display: { xs: 'block', md: 'none' } } },
|
|
515
515
|
React.createElement(material.Divider, { sx: { borderStyle: 'dashed' } })),
|
|
516
|
-
React.createElement(material.Grid, {
|
|
516
|
+
React.createElement(material.Grid, { item: true, xs: 12, md: 4, mt: { xs: 0, md: 0 } },
|
|
517
517
|
React.createElement(PaymentOverviewBox.default, { event: event$1, withoutPadding: true }))),
|
|
518
518
|
React.createElement(PaymentOverviewDrawer.default, { event: event$1, totalPrice: values.total, termsAndConditionsRef: termsAndConditionsRef, onOpenChange: setIsPaymentOverviewDrawerOpen }),
|
|
519
519
|
React.createElement(EmailConfirmation.default, { open: formStep === 2 && !isIframe, onClose: () => setFormStep(1),
|