@eventlook/sdk 1.4.49-beta.4 → 1.4.49-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/cjs/form/PaymentOverviewBox.js +5 -4
  2. package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
  3. package/dist/cjs/form/PaymentOverviewDrawer.js +220 -60
  4. package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -1
  5. package/dist/cjs/form/Shipping.js +13 -10
  6. package/dist/cjs/form/Shipping.js.map +1 -1
  7. package/dist/cjs/form/TicketForm.js +5 -8
  8. package/dist/cjs/form/TicketForm.js.map +1 -1
  9. package/dist/cjs/form/product/ProductCard.js +45 -38
  10. package/dist/cjs/form/product/ProductCard.js.map +1 -1
  11. package/dist/cjs/form/product/ProductVariantsDialog.js +13 -4
  12. package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -1
  13. package/dist/cjs/form/style.js +6 -1
  14. package/dist/cjs/form/style.js.map +1 -1
  15. package/dist/cjs/form/tickets/TicketQuantityControl.js +5 -3
  16. package/dist/cjs/form/tickets/TicketQuantityControl.js.map +1 -1
  17. package/dist/cjs/hooks/useScrollToFirstError.js +19 -10
  18. package/dist/cjs/hooks/useScrollToFirstError.js.map +1 -1
  19. package/dist/cjs/locales/cs.js +7 -0
  20. package/dist/cjs/locales/cs.js.map +1 -1
  21. package/dist/cjs/locales/en.js +7 -0
  22. package/dist/cjs/locales/en.js.map +1 -1
  23. package/dist/cjs/locales/es.js +7 -0
  24. package/dist/cjs/locales/es.js.map +1 -1
  25. package/dist/cjs/locales/pl.js +7 -0
  26. package/dist/cjs/locales/pl.js.map +1 -1
  27. package/dist/cjs/locales/sk.js +7 -0
  28. package/dist/cjs/locales/sk.js.map +1 -1
  29. package/dist/cjs/locales/uk.js +7 -0
  30. package/dist/cjs/locales/uk.js.map +1 -1
  31. package/dist/esm/form/PaymentOverviewBox.js +5 -4
  32. package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
  33. package/dist/esm/form/PaymentOverviewDrawer.js +220 -60
  34. package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -1
  35. package/dist/esm/form/Shipping.js +13 -10
  36. package/dist/esm/form/Shipping.js.map +1 -1
  37. package/dist/esm/form/TicketForm.js +6 -9
  38. package/dist/esm/form/TicketForm.js.map +1 -1
  39. package/dist/esm/form/product/ProductCard.js +46 -39
  40. package/dist/esm/form/product/ProductCard.js.map +1 -1
  41. package/dist/esm/form/product/ProductVariantsDialog.js +13 -4
  42. package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -1
  43. package/dist/esm/form/style.js +6 -1
  44. package/dist/esm/form/style.js.map +1 -1
  45. package/dist/esm/form/tickets/TicketQuantityControl.js +5 -3
  46. package/dist/esm/form/tickets/TicketQuantityControl.js.map +1 -1
  47. package/dist/esm/hooks/useScrollToFirstError.js +19 -10
  48. package/dist/esm/hooks/useScrollToFirstError.js.map +1 -1
  49. package/dist/esm/locales/cs.js +7 -0
  50. package/dist/esm/locales/cs.js.map +1 -1
  51. package/dist/esm/locales/en.js +7 -0
  52. package/dist/esm/locales/en.js.map +1 -1
  53. package/dist/esm/locales/es.js +7 -0
  54. package/dist/esm/locales/es.js.map +1 -1
  55. package/dist/esm/locales/pl.js +7 -0
  56. package/dist/esm/locales/pl.js.map +1 -1
  57. package/dist/esm/locales/sk.js +7 -0
  58. package/dist/esm/locales/sk.js.map +1 -1
  59. package/dist/esm/locales/uk.js +7 -0
  60. package/dist/esm/locales/uk.js.map +1 -1
  61. package/package.json +1 -3
  62. package/rollup.config.mjs +0 -1
  63. package/src/form/PaymentOverviewBox.tsx +19 -13
  64. package/src/form/PaymentOverviewDrawer.tsx +314 -106
  65. package/src/form/Shipping.tsx +19 -16
  66. package/src/form/TicketForm.tsx +7 -8
  67. package/src/form/product/ProductCard.tsx +75 -70
  68. package/src/form/product/ProductVariantsDialog.tsx +19 -2
  69. package/src/form/style.ts +7 -1
  70. package/src/form/tickets/TicketQuantityControl.tsx +6 -0
  71. package/src/hooks/useScrollToFirstError.ts +22 -17
  72. package/src/locales/cs.tsx +7 -0
  73. package/src/locales/en.tsx +7 -0
  74. package/src/locales/es.tsx +7 -0
  75. package/src/locales/pl.tsx +7 -0
  76. package/src/locales/sk.tsx +7 -0
  77. package/src/locales/uk.tsx +7 -0
  78. package/src/hooks/useConsentScrollOnDrawerOpen.ts +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentOverviewBox.js","sources":["../../../src/form/PaymentOverviewBox.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Iconify, Image, TextIconLabel } from '@components';\nimport { Box, Divider, Grid, Stack, Typography } from '@mui/material';\nimport PaymentOverviewCheckbox from '@form/payment/PaymentOverviewCheckbox.tsx';\nimport locationIcon from '@iconify/icons-carbon/location';\nimport { getPlaceAsString } from '@utils/place';\nimport { LoadingButton } from '@mui/lab';\nimport { OverviewCard } from '@form/style';\nimport { IEvent } from '@utils/types/event.type';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useEventActiveReleases from '@hooks/data/useEventActiveReleases';\nimport useResponsive from '@hooks/useResponsive';\nimport { calculatePriceWithDiscount } from '@utils/price';\nimport FeeBox from '@form/payment/FeeBox';\nimport { IPromoCode } from '@utils/types/promo-code.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport { IEventProductForm, ISelectedProductVariant } from '@utils/types/product.type';\nimport calendarIcon from '@iconify/icons-carbon/calendar';\nimport userIcon from '@iconify/icons-carbon/user';\nimport { EventType } from '@utils/data/event';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal.ts';\nimport { calculateCart, getCart } from '@modules/shopping-cart.ts';\nimport { ICalculateShoppingCartDto, IShoppingCartDto } from '@utils/types/shopping-cart.type.ts';\nimport { PromoCodeTypes } from '@utils/data/promo-code.ts';\nimport useActiveEventProducts from '@hooks/data/useActiveEventProducts';\nimport useDebounce from '@hooks/useDebounce';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n}\n\nconst PaymentOverviewBox: React.FC<Props> = ({ event }) => {\n const { t, lang, options } = useGlobal();\n const xs = useResponsive('only', 'xs');\n const md = useResponsive('only', 'md');\n const isMobile = useResponsive('down', 'md');\n const { data: eventProducts } = useActiveEventProducts(event.id, true);\n const [shippingFee, setShippingFee] = useState(0);\n const { setValue, watch } = useFormContext<ITicketForm>();\n const values = watch();\n const {\n total,\n uuid,\n firstName,\n lastName,\n email,\n gender,\n birthdate,\n phone,\n promoCodes,\n shipping,\n totalFee,\n isPaymentVerify,\n ticketInsurance,\n smsNotification,\n smsNotificationPrice,\n ticketInsurancePricePerUnit,\n } = values;\n const tickets: Record<string, ITicketFormTicket[]> = useWatch({\n name: 'tickets',\n defaultValue: {},\n });\n const flatTickets: ITicketFormTicket[] = useMemo(() => Object.values(tickets).flat(), [tickets]);\n const products: Record<string, IEventProductForm[]> = useWatch({\n name: 'products',\n defaultValue: {},\n });\n const flatProducts: IEventProductForm[] = useMemo(\n () => Object.values(products).flat(),\n [products]\n );\n const eventTimeslotId: number | null = useWatch({ name: 'eventTimeslotId' });\n const paymentMethodId: number | null = useWatch({ name: 'paymentMethodId' });\n const paymentMethodOptionId: number | null = useWatch({ name: 'paymentMethodOptionId' });\n const { data: activeReleases } = useEventActiveReleases(\n event.id,\n true,\n event.type === EventType.RECURRING ? eventTimeslotId : undefined\n );\n const selectedTickets = useMemo(\n () =>\n flatTickets\n .filter((ticket) => ticket.quantity)\n .map((ticket) => {\n const release = activeReleases?.find((release) => release.id === ticket.releaseId);\n return {\n itemName: release ? `${release.releaseCategoryName} - ${release.name}` : '',\n price: release?.price || 0,\n quantity: ticket.quantity,\n releaseId: ticket.releaseId,\n products: ticket.products.map((product) => {\n const variant = release?.product?.eventProductVariants.find(\n (variant) => variant.id === product.eventProductVariantId\n );\n return {\n ...product,\n name:\n release?.product && variant\n ? `${release.product.product.name} - ${variant.productVariant.value}`\n : '',\n price: variant?.priceWithVat ?? product.price ?? 0,\n };\n }),\n };\n }),\n [flatTickets, activeReleases]\n );\n\n const selectedVariants = useMemo(() => {\n const selectedVariants: ISelectedProductVariant[] = [];\n for (const [eventId, productArray] of Object.entries(products))\n for (const product of productArray) {\n for (const eventProduct of eventProducts) {\n for (const variant of eventProduct.eventProductVariants) {\n if (product.eventProductVariantId === variant.id) {\n selectedVariants.push({\n variantId: product.eventProductVariantId,\n eventId: eventId,\n name: `${eventProduct.product.name} - ${variant.productVariant.value}`,\n price: variant.priceWithVat * product.quantity,\n quantity: product.quantity,\n });\n }\n }\n }\n }\n\n return selectedVariants;\n }, [event, flatProducts]);\n\n const getFee = useMemo(() => fCurrency(totalFee ?? 0, lang, event.currency), [totalFee]);\n\n const shoppingCartBody = useMemo<ICalculateShoppingCartDto>(\n () => ({\n uuid,\n eventId: event.id,\n tickets: Object.fromEntries(\n Object.entries(values.tickets).map(([id, items]) => [\n id,\n items\n .filter((item) => item.quantity && item.releaseId)\n .map((item) => ({\n ...item,\n eventTimeslotId: eventTimeslotId ?? null,\n })),\n ])\n ),\n products: Object.fromEntries(\n Object.entries(values.products).map(([id, items]) => [\n id,\n items.map(\n ({\n eventProductVariantId,\n productVariantId,\n quantity,\n price,\n excludedShippingMethodIds,\n }) => ({\n eventProductVariantId,\n productVariantId,\n quantity,\n price,\n excludedShippingMethodIds,\n })\n ),\n ])\n ),\n shipping: {\n shippingMethodId: shipping?.shippingMethodId ?? null,\n branchId: shipping?.branchId ?? null,\n price: shipping?.price ?? 0,\n },\n promoCodeIds: promoCodes?.map((p) => p.id) ?? null,\n language: lang,\n firstName,\n lastName,\n email,\n phone,\n birthdate,\n gender,\n paymentMethodId: paymentMethodId ? Number(paymentMethodId) : null,\n paymentMethodOptionId: paymentMethodOptionId ? Number(paymentMethodOptionId) : null,\n ticketInsurance,\n smsNotification,\n }),\n [\n uuid,\n event.id,\n tickets,\n products,\n shipping,\n promoCodes,\n lang,\n firstName,\n lastName,\n email,\n phone,\n birthdate,\n gender,\n paymentMethodId,\n paymentMethodOptionId,\n eventTimeslotId,\n ticketInsurance,\n smsNotification,\n ]\n );\n\n const debouncedShoppingCartBody = useDebounce(shoppingCartBody, 300);\n\n const setShoppingCartValues = (data: IShoppingCartDto, recalculate = false) => {\n if (!recalculate) {\n const hasTickets =\n !!data.tickets && typeof data.tickets === 'object' && Object.keys(data.tickets).length > 0;\n\n if (hasTickets) {\n setValue('tickets', data.tickets);\n }\n\n const hasProducts =\n !!data.products &&\n typeof data.products === 'object' &&\n Object.keys(data.products).length > 0;\n\n if (hasProducts) {\n setValue('products', data.products);\n }\n\n setValue('promoCodes', data.promoCodes || []);\n setValue('uuid', data.uuid);\n setValue('firstName', data.firstName || '');\n setValue('lastName', data.lastName || '');\n setValue('gender', data.gender || '');\n setValue('birthdate', data.birthdate ? dayjs(data.birthdate) : null);\n setValue('email', data.email || '');\n setValue('phone', data.phone || '');\n setValue('paymentMethodId', data.paymentMethodId ? data.paymentMethodId : null);\n setValue(\n 'paymentMethodOptionId',\n data.paymentMethodOptionId ? data.paymentMethodOptionId : null\n );\n setValue('shipping', data.shipping || { shippingMethodId: null, branchId: null, price: 0 });\n }\n const allTickets = Object.values(data?.tickets || {}).flat();\n if (allTickets.length && allTickets[0]?.eventTimeslotId) {\n setValue('eventTimeslotId', allTickets[0].eventTimeslotId);\n }\n setValue('originalPrice', data.originalPrice);\n setValue('total', data.totalPrice || 0);\n\n const feeTotal = (data.serviceFee ?? 0) + (data.paymentMethodFee ?? 0);\n setValue('totalFee', feeTotal);\n\n setShippingFee(data.shippingFee);\n setValue('ticketInsurance', data.ticketInsurance.enabled);\n setValue('ticketInsurancePrice', data.ticketInsurance.price);\n setValue('ticketInsurancePricePerUnit', data.ticketInsurance.pricePerUnit);\n setValue('smsNotification', data.smsNotification.enabled);\n setValue('smsNotificationPrice', data.smsNotification.price);\n };\n\n const totalItemCount = useMemo(() => {\n const count = {\n total: 0,\n totalTickets: 0,\n totalProducts: 0,\n };\n\n for (const ticket of flatTickets) {\n if (!ticket.quantity) continue;\n count.total += ticket.quantity;\n count.totalTickets += ticket.quantity;\n\n for (const product of ticket.products || []) {\n count.total += product.quantity;\n count.totalProducts += product.quantity;\n }\n }\n\n for (const product of flatProducts || []) {\n count.total += product.quantity;\n count.totalProducts += product.quantity;\n }\n\n return count;\n }, [flatTickets, flatProducts]);\n\n const promoCodesValues = useMemo(() => {\n const discount = {\n fixed: 0,\n fixedDevided: 0,\n fixedDevidedTickets: 0,\n fixedDevidedProducts: 0,\n percent: 0,\n ticketsDiscountFixed: 0,\n productDiscountFixed: 0,\n productDiscountPercent: 0,\n promoCodes: [] as IPromoCode[],\n };\n\n promoCodes.forEach((promoCode) => {\n const { type, applyDiscountToProducts, value } = promoCode;\n\n if (type === PromoCodeTypes.PERCENTAGE) {\n if (applyDiscountToProducts) {\n discount.productDiscountPercent += value;\n }\n discount.percent += value;\n } else if (type === PromoCodeTypes.FIXED) {\n if (applyDiscountToProducts) {\n discount.productDiscountFixed += value;\n } else {\n discount.ticketsDiscountFixed += value;\n }\n discount.fixed += value;\n }\n });\n\n discount.fixedDevidedProducts = discount.productDiscountFixed\n ? Math.ceil((discount.productDiscountFixed / totalItemCount.total) * 100) / 100\n : 0;\n\n discount.fixedDevidedTickets =\n Math.ceil((discount.ticketsDiscountFixed / totalItemCount.totalTickets) * 100) / 100;\n\n discount.fixedDevidedTickets += discount.fixedDevidedProducts;\n\n return discount;\n }, [promoCodes, flatTickets, flatProducts]);\n\n const hasOrderId = useMemo(() => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.has('id');\n }, []);\n\n useEffect(() => {\n if (!hasOrderId) {\n recalculateItems(debouncedShoppingCartBody);\n }\n }, [debouncedShoppingCartBody, hasOrderId]);\n\n /** Iframe code **/\n useEffect(() => {\n window.addEventListener('message', messageListener, false);\n return () => {\n window.removeEventListener('message', messageListener, false);\n };\n }, []);\n\n const messageListener = async (event: any) => {\n if (event.data.type === 'eventlookFrameScrollTop') {\n const dialog = document.getElementById('overview-card');\n if (dialog) {\n dialog.style.top = `${event.data.scrollTop}px`;\n }\n }\n };\n /** End Iframe code **/\n\n const recalculateItems = useCallback(async (body: ICalculateShoppingCartDto) => {\n try {\n const isInitial = !body.uuid;\n\n let response: any;\n if (isInitial) {\n const existing = localStorage.getItem('cartToken');\n const storedUuid =\n existing && existing !== 'undefined' && existing !== 'null' ? existing : null;\n response = await getCart(body.eventId, storedUuid);\n } else {\n response = await calculateCart(body);\n }\n\n const cart = response?.data;\n\n if (cart) {\n if (cart.uuid) {\n localStorage.setItem('cartToken', cart.uuid);\n }\n setShoppingCartValues(cart, !isInitial);\n }\n } catch (err) {\n console.error('Error calculating cart:', err);\n }\n }, []);\n\n // const removeProduct = (variant: ISelectedProductVariant) => {\n // const { eventId, variantId } = variant;\n // const list = Array.isArray(products[eventId]) ? [...products[eventId]] : [];\n\n // const idx = list.findIndex((p) => Number(p.eventProductVariantId) === Number(variantId));\n // if (idx === -1) return;\n // const item = list[idx];\n\n // if ((item.quantity ?? 0) <= 1) {\n // list.splice(idx, 1);\n // } else {\n // list[idx] = { ...item, quantity: (item.quantity ?? 1) - 1 };\n // }\n\n // const next = { ...products, [eventId]: list };\n\n // if (list.length === 0) {\n // const { [eventId]: _removed, ...rest } = next;\n // setValue('products', rest);\n // } else {\n // setValue('products', next);\n // }\n // };\n\n return (\n <OverviewCard id=\"overview-card\" stickyHeaderTop={options?.stickyHeaderTop || 0}>\n {!isMobile && (\n <Stack className=\"overview-card__event-info\" p={2} spacing={2}>\n <Typography variant=\"h6\">{event.name}</Typography>\n <Box>\n <Grid container spacing={1}>\n <Grid item xs={6}>\n <Image src={event.image.url} alt={event.name} ratio=\"16/9\" borderRadius={2} />\n </Grid>\n <Grid item xs={6}>\n <TextIconLabel\n icon={\n <Iconify\n icon={locationIcon}\n sx={{ mr: 0.5, mt: 0.5, width: 18, height: 18, minWidth: 18 }}\n />\n }\n value={<Box>{getPlaceAsString(event.place)}</Box>}\n sx={{ typography: 'body3', color: 'text.secondary', alignItems: 'flex-start' }}\n />\n </Grid>\n </Grid>\n </Box>\n <Divider sx={{ borderStyle: 'dashed' }} />\n <Stack\n direction={{ xs: 'column', sm: 'row', md: 'column', lg: 'row' }}\n spacing={2}\n p={2}\n divider={\n <Divider\n orientation={xs || md ? 'horizontal' : 'vertical'}\n flexItem\n sx={{ borderStyle: 'dashed' }}\n />\n }\n sx={{\n backgroundColor: (theme) =>\n theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900],\n borderRadius: 1,\n }}\n >\n <Box width={{ sm: '50%', md: '100%', lg: '50%' }}>\n <TextIconLabel\n icon={<Iconify icon={calendarIcon} sx={{ minWidth: 20, height: 20, mr: 1 }} />}\n value={t('form.labels.start_date')}\n sx={{ color: 'text.secondary' }}\n />\n <Typography variant=\"body2\" fontWeight={700}>\n {dayjs(event.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n </Box>\n <Box width={{ sm: '50%', md: '100%', lg: '50%' }}>\n <TextIconLabel\n icon={<Iconify icon={userIcon} sx={{ minWidth: 20, height: 20, mr: 1 }} />}\n value={t('form.labels.organizer')}\n sx={{ color: 'text.secondary' }}\n />\n <Typography variant=\"body2\" fontWeight={700}>\n {event.company.displayName}\n </Typography>\n </Box>\n </Stack>\n </Stack>\n )}\n <Stack\n className=\"overview-card__order-info\"\n p={2}\n pt={{ xs: 0, sm: 2 }}\n spacing={0.75}\n useFlexGap\n >\n {!!selectedTickets.length && !isMobile && <Divider sx={{ borderStyle: 'dashed' }} />}\n\n {!!selectedTickets.length && (\n <Stack spacing={0.5}>\n {/* TODO: Uncomment this when Colonnade response - must update terms and conditions and email info */}\n <PaymentOverviewCheckbox\n checkboxName=\"ticketInsurance\"\n label={t('event.tickets.insurance.label')}\n value={\n <>\n {ticketInsurance && totalItemCount.totalTickets > 0 ? '' : '+ '}\n {fCurrency(ticketInsurancePricePerUnit, lang, event.currency)} /{' '}\n {t('event.tickets.insurance.per_ticket')}\n </>\n }\n />\n <PaymentOverviewCheckbox\n checkboxName=\"smsNotification\"\n label={t('event.tickets.sms_notification.label')}\n value={\n <>\n {smsNotification && totalItemCount.totalTickets > 0 ? '' : '+ '}\n {fCurrency(smsNotificationPrice, lang, event.currency)}\n </>\n }\n />\n <Divider sx={{ borderStyle: 'dashed' }} />\n </Stack>\n )}\n {selectedTickets.map((ticket, index) => (\n <Box key={index}>\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">\n {ticket.quantity}x {ticket.itemName}\n </Typography>\n <Typography variant=\"body2\">\n {fCurrency(\n calculatePriceWithDiscount(\n ticket.price,\n promoCodesValues.percent,\n promoCodesValues.fixedDevidedTickets\n ) * Number(ticket.quantity),\n lang,\n event.currency\n )}\n </Typography>\n </Stack>\n {ticket.products.map((product, index2) => (\n <Stack\n key={index2}\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={2}\n >\n <Typography variant=\"body2\">\n - {product.quantity}x {product.name}\n </Typography>\n <Typography variant=\"body2\">\n {product.price > 0\n ? fCurrency(\n calculatePriceWithDiscount(\n product.price,\n promoCodesValues.productDiscountPercent,\n promoCodesValues.fixedDevidedProducts\n ? promoCodesValues.fixedDevidedProducts * product.quantity\n : 0\n ),\n lang,\n event.currency\n )\n : t('free')}\n </Typography>\n </Stack>\n ))}\n </Box>\n ))}\n {selectedVariants.map((variant, index) => (\n <Box key={index}>\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">\n {variant.quantity}x {variant.name}\n </Typography>\n <Typography variant=\"body2\">\n {fCurrency(\n calculatePriceWithDiscount(\n variant.price,\n promoCodesValues.productDiscountPercent,\n promoCodesValues.fixedDevidedProducts\n ? promoCodesValues.fixedDevidedProducts * variant.quantity\n : 0\n ),\n lang,\n event.currency\n )}\n </Typography>\n </Stack>\n </Box>\n ))}\n {!!shippingFee && (\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">{t('form.labels.shipping_fee')}</Typography>\n <Typography variant=\"body2\">{fCurrency(shippingFee, lang, event.currency)}</Typography>\n </Stack>\n )}\n {!!total && !!totalFee && (\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">{t('form.labels.service_fee')}</Typography>\n <Typography variant=\"body2\">{getFee}</Typography>\n </Stack>\n )}\n {((!!selectedTickets.length && isMobile) || !isMobile) && (\n <Divider sx={{ borderStyle: 'dashed' }} />\n )}\n <FeeBox event={event} />\n <LoadingButton\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ height: { xs: 36, md: 40 } }}\n >\n {t(isPaymentVerify ? 'verify' : 'buy')}\n </LoadingButton>\n </Stack>\n </OverviewCard>\n );\n};\n\nexport default PaymentOverviewBox;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentOverviewBox.js","sources":["../../../src/form/PaymentOverviewBox.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Iconify, Image, TextIconLabel } from '@components';\nimport { Box, Divider, Grid, Stack, Typography } from '@mui/material';\nimport PaymentOverviewCheckbox from '@form/payment/PaymentOverviewCheckbox.tsx';\nimport locationIcon from '@iconify/icons-carbon/location';\nimport { getPlaceAsString } from '@utils/place';\nimport { LoadingButton } from '@mui/lab';\nimport { OverviewCard } from '@form/style';\nimport { IEvent } from '@utils/types/event.type';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useEventActiveReleases from '@hooks/data/useEventActiveReleases';\nimport useResponsive from '@hooks/useResponsive';\nimport { calculatePriceWithDiscount } from '@utils/price';\nimport FeeBox from '@form/payment/FeeBox';\nimport { IPromoCode } from '@utils/types/promo-code.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport { IEventProductForm, ISelectedProductVariant } from '@utils/types/product.type';\nimport calendarIcon from '@iconify/icons-carbon/calendar';\nimport userIcon from '@iconify/icons-carbon/user';\nimport { EventType } from '@utils/data/event';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal.ts';\nimport { calculateCart, getCart } from '@modules/shopping-cart.ts';\nimport { ICalculateShoppingCartDto, IShoppingCartDto } from '@utils/types/shopping-cart.type.ts';\nimport { PromoCodeTypes } from '@utils/data/promo-code.ts';\nimport useActiveEventProducts from '@hooks/data/useActiveEventProducts';\nimport useDebounce from '@hooks/useDebounce';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n withoutPadding?: boolean;\n hideBuyButton?: boolean;\n}\n\nconst PaymentOverviewBox: React.FC<Props> = ({ event, withoutPadding, hideBuyButton }) => {\n const { t, lang, options } = useGlobal();\n const xs = useResponsive('only', 'xs');\n const md = useResponsive('only', 'md');\n const isMobile = useResponsive('down', 'md');\n const { data: eventProducts } = useActiveEventProducts(event.id, true);\n const [shippingFee, setShippingFee] = useState(0);\n const { setValue, watch } = useFormContext<ITicketForm>();\n const values = watch();\n const {\n total,\n uuid,\n firstName,\n lastName,\n email,\n gender,\n birthdate,\n phone,\n promoCodes,\n shipping,\n totalFee,\n isPaymentVerify,\n ticketInsurance,\n smsNotification,\n smsNotificationPrice,\n ticketInsurancePricePerUnit,\n } = values;\n const tickets: Record<string, ITicketFormTicket[]> = useWatch({\n name: 'tickets',\n defaultValue: {},\n });\n const flatTickets: ITicketFormTicket[] = useMemo(() => Object.values(tickets).flat(), [tickets]);\n const products: Record<string, IEventProductForm[]> = useWatch({\n name: 'products',\n defaultValue: {},\n });\n const flatProducts: IEventProductForm[] = useMemo(\n () => Object.values(products).flat(),\n [products]\n );\n const eventTimeslotId: number | null = useWatch({ name: 'eventTimeslotId' });\n const paymentMethodId: number | null = useWatch({ name: 'paymentMethodId' });\n const paymentMethodOptionId: number | null = useWatch({ name: 'paymentMethodOptionId' });\n const { data: activeReleases } = useEventActiveReleases(\n event.id,\n true,\n event.type === EventType.RECURRING ? eventTimeslotId : undefined\n );\n const selectedTickets = useMemo(\n () =>\n flatTickets\n .filter((ticket) => ticket.quantity)\n .map((ticket) => {\n const release = activeReleases?.find((release) => release.id === ticket.releaseId);\n return {\n itemName: release ? `${release.releaseCategoryName} - ${release.name}` : '',\n price: release?.price || 0,\n quantity: ticket.quantity,\n releaseId: ticket.releaseId,\n products: ticket.products.map((product) => {\n const variant = release?.product?.eventProductVariants.find(\n (variant) => variant.id === product.eventProductVariantId\n );\n return {\n ...product,\n name:\n release?.product && variant\n ? `${release.product.product.name} - ${variant.productVariant.value}`\n : '',\n price: variant?.priceWithVat ?? product.price ?? 0,\n };\n }),\n };\n }),\n [flatTickets, activeReleases]\n );\n\n const selectedVariants = useMemo(() => {\n const selectedVariants: ISelectedProductVariant[] = [];\n for (const [eventId, productArray] of Object.entries(products))\n for (const product of productArray) {\n for (const eventProduct of eventProducts) {\n for (const variant of eventProduct.eventProductVariants) {\n if (product.eventProductVariantId === variant.id) {\n selectedVariants.push({\n variantId: product.eventProductVariantId,\n eventId: eventId,\n name: `${eventProduct.product.name} - ${variant.productVariant.value}`,\n price: variant.priceWithVat * product.quantity,\n quantity: product.quantity,\n });\n }\n }\n }\n }\n\n return selectedVariants;\n }, [event, flatProducts]);\n\n const getFee = useMemo(() => fCurrency(totalFee ?? 0, lang, event.currency), [totalFee]);\n\n const shoppingCartBody = useMemo<ICalculateShoppingCartDto>(\n () => ({\n uuid,\n eventId: event.id,\n tickets: Object.fromEntries(\n Object.entries(values.tickets).map(([id, items]) => [\n id,\n items\n .filter((item) => item.quantity && item.releaseId)\n .map((item) => ({\n ...item,\n eventTimeslotId: eventTimeslotId ?? null,\n })),\n ])\n ),\n products: Object.fromEntries(\n Object.entries(values.products).map(([id, items]) => [\n id,\n items.map(\n ({\n eventProductVariantId,\n productVariantId,\n quantity,\n price,\n excludedShippingMethodIds,\n }) => ({\n eventProductVariantId,\n productVariantId,\n quantity,\n price,\n excludedShippingMethodIds,\n })\n ),\n ])\n ),\n shipping: {\n shippingMethodId: shipping?.shippingMethodId ?? null,\n branchId: shipping?.branchId ?? null,\n price: shipping?.price ?? 0,\n },\n promoCodeIds: promoCodes?.map((p) => p.id) ?? null,\n language: lang,\n firstName,\n lastName,\n email,\n phone,\n birthdate,\n gender,\n paymentMethodId: paymentMethodId ? Number(paymentMethodId) : null,\n paymentMethodOptionId: paymentMethodOptionId ? Number(paymentMethodOptionId) : null,\n ticketInsurance,\n smsNotification,\n }),\n [\n uuid,\n event.id,\n tickets,\n products,\n shipping,\n promoCodes,\n lang,\n firstName,\n lastName,\n email,\n phone,\n birthdate,\n gender,\n paymentMethodId,\n paymentMethodOptionId,\n eventTimeslotId,\n ticketInsurance,\n smsNotification,\n ]\n );\n\n const debouncedShoppingCartBody = useDebounce(shoppingCartBody, 300);\n\n const setShoppingCartValues = (data: IShoppingCartDto, recalculate = false) => {\n if (!recalculate) {\n const hasTickets =\n !!data.tickets && typeof data.tickets === 'object' && Object.keys(data.tickets).length > 0;\n\n if (hasTickets) {\n setValue('tickets', data.tickets);\n }\n\n const hasProducts =\n !!data.products &&\n typeof data.products === 'object' &&\n Object.keys(data.products).length > 0;\n\n if (hasProducts) {\n setValue('products', data.products);\n }\n\n setValue('promoCodes', data.promoCodes || []);\n setValue('uuid', data.uuid);\n setValue('firstName', data.firstName || '');\n setValue('lastName', data.lastName || '');\n setValue('gender', data.gender || '');\n setValue('birthdate', data.birthdate ? dayjs(data.birthdate) : null);\n setValue('email', data.email || '');\n setValue('phone', data.phone || '');\n setValue('paymentMethodId', data.paymentMethodId ? data.paymentMethodId : null);\n setValue(\n 'paymentMethodOptionId',\n data.paymentMethodOptionId ? data.paymentMethodOptionId : null\n );\n setValue('shipping', data.shipping || { shippingMethodId: null, branchId: null, price: 0 });\n }\n const allTickets = Object.values(data?.tickets || {}).flat();\n if (allTickets.length && allTickets[0]?.eventTimeslotId) {\n setValue('eventTimeslotId', allTickets[0].eventTimeslotId);\n }\n setValue('originalPrice', data.originalPrice);\n setValue('total', data.totalPrice || 0);\n\n const feeTotal = (data.serviceFee ?? 0) + (data.paymentMethodFee ?? 0);\n setValue('totalFee', feeTotal);\n\n setShippingFee(data.shippingFee);\n setValue('ticketInsurance', data.ticketInsurance.enabled);\n setValue('ticketInsurancePrice', data.ticketInsurance.price);\n setValue('ticketInsurancePricePerUnit', data.ticketInsurance.pricePerUnit);\n setValue('smsNotification', data.smsNotification.enabled);\n setValue('smsNotificationPrice', data.smsNotification.price);\n };\n\n const totalItemCount = useMemo(() => {\n const count = {\n total: 0,\n totalTickets: 0,\n totalProducts: 0,\n };\n\n for (const ticket of flatTickets) {\n if (!ticket.quantity) continue;\n count.total += ticket.quantity;\n count.totalTickets += ticket.quantity;\n\n for (const product of ticket.products || []) {\n count.total += product.quantity;\n count.totalProducts += product.quantity;\n }\n }\n\n for (const product of flatProducts || []) {\n count.total += product.quantity;\n count.totalProducts += product.quantity;\n }\n\n return count;\n }, [flatTickets, flatProducts]);\n\n const promoCodesValues = useMemo(() => {\n const discount = {\n fixed: 0,\n fixedDevided: 0,\n fixedDevidedTickets: 0,\n fixedDevidedProducts: 0,\n percent: 0,\n ticketsDiscountFixed: 0,\n productDiscountFixed: 0,\n productDiscountPercent: 0,\n promoCodes: [] as IPromoCode[],\n };\n\n promoCodes.forEach((promoCode) => {\n const { type, applyDiscountToProducts, value } = promoCode;\n\n if (type === PromoCodeTypes.PERCENTAGE) {\n if (applyDiscountToProducts) {\n discount.productDiscountPercent += value;\n }\n discount.percent += value;\n } else if (type === PromoCodeTypes.FIXED) {\n if (applyDiscountToProducts) {\n discount.productDiscountFixed += value;\n } else {\n discount.ticketsDiscountFixed += value;\n }\n discount.fixed += value;\n }\n });\n\n discount.fixedDevidedProducts = discount.productDiscountFixed\n ? Math.ceil((discount.productDiscountFixed / totalItemCount.total) * 100) / 100\n : 0;\n\n discount.fixedDevidedTickets =\n Math.ceil((discount.ticketsDiscountFixed / totalItemCount.totalTickets) * 100) / 100;\n\n discount.fixedDevidedTickets += discount.fixedDevidedProducts;\n\n return discount;\n }, [promoCodes, flatTickets, flatProducts]);\n\n const hasOrderId = useMemo(() => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.has('id');\n }, []);\n\n useEffect(() => {\n if (!hasOrderId) {\n recalculateItems(debouncedShoppingCartBody);\n }\n }, [debouncedShoppingCartBody, hasOrderId]);\n\n /** Iframe code **/\n useEffect(() => {\n window.addEventListener('message', messageListener, false);\n return () => {\n window.removeEventListener('message', messageListener, false);\n };\n }, []);\n\n const messageListener = async (event: any) => {\n if (event.data.type === 'eventlookFrameScrollTop') {\n const dialog = document.getElementById('overview-card');\n if (dialog) {\n dialog.style.top = `${event.data.scrollTop}px`;\n }\n }\n };\n /** End Iframe code **/\n\n const recalculateItems = useCallback(async (body: ICalculateShoppingCartDto) => {\n try {\n const isInitial = !body.uuid;\n\n let response: any;\n if (isInitial) {\n const existing = localStorage.getItem('cartToken');\n const storedUuid =\n existing && existing !== 'undefined' && existing !== 'null' ? existing : null;\n response = await getCart(body.eventId, storedUuid);\n } else {\n response = await calculateCart(body);\n }\n\n const cart = response?.data;\n\n if (cart) {\n if (cart.uuid) {\n localStorage.setItem('cartToken', cart.uuid);\n }\n setShoppingCartValues(cart, !isInitial);\n }\n } catch (err) {\n console.error('Error calculating cart:', err);\n }\n }, []);\n\n // const removeProduct = (variant: ISelectedProductVariant) => {\n // const { eventId, variantId } = variant;\n // const list = Array.isArray(products[eventId]) ? [...products[eventId]] : [];\n\n // const idx = list.findIndex((p) => Number(p.eventProductVariantId) === Number(variantId));\n // if (idx === -1) return;\n // const item = list[idx];\n\n // if ((item.quantity ?? 0) <= 1) {\n // list.splice(idx, 1);\n // } else {\n // list[idx] = { ...item, quantity: (item.quantity ?? 1) - 1 };\n // }\n\n // const next = { ...products, [eventId]: list };\n\n // if (list.length === 0) {\n // const { [eventId]: _removed, ...rest } = next;\n // setValue('products', rest);\n // } else {\n // setValue('products', next);\n // }\n // };\n\n return (\n <OverviewCard id=\"overview-card\" stickyHeaderTop={options?.stickyHeaderTop || 0}>\n {!isMobile && (\n <Stack className=\"overview-card__event-info\" p={2} spacing={2}>\n <Typography variant=\"h6\">{event.name}</Typography>\n <Box>\n <Grid container spacing={1}>\n <Grid item xs={6}>\n <Image src={event.image.url} alt={event.name} ratio=\"16/9\" borderRadius={2} />\n </Grid>\n <Grid item xs={6}>\n <TextIconLabel\n icon={\n <Iconify\n icon={locationIcon}\n sx={{ mr: 0.5, mt: 0.5, width: 18, height: 18, minWidth: 18 }}\n />\n }\n value={<Box>{getPlaceAsString(event.place)}</Box>}\n sx={{ typography: 'body3', color: 'text.secondary', alignItems: 'flex-start' }}\n />\n </Grid>\n </Grid>\n </Box>\n <Divider sx={{ borderStyle: 'dashed' }} />\n <Stack\n direction={{ xs: 'column', sm: 'row', md: 'column', lg: 'row' }}\n spacing={2}\n p={2}\n divider={\n <Divider\n orientation={xs || md ? 'horizontal' : 'vertical'}\n flexItem\n sx={{ borderStyle: 'dashed' }}\n />\n }\n sx={{\n backgroundColor: (theme) =>\n theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900],\n borderRadius: 1,\n }}\n >\n <Box width={{ sm: '50%', md: '100%', lg: '50%' }}>\n <TextIconLabel\n icon={<Iconify icon={calendarIcon} sx={{ minWidth: 20, height: 20, mr: 1 }} />}\n value={t('form.labels.start_date')}\n sx={{ color: 'text.secondary' }}\n />\n <Typography variant=\"body2\" fontWeight={700}>\n {dayjs(event.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n </Box>\n <Box width={{ sm: '50%', md: '100%', lg: '50%' }}>\n <TextIconLabel\n icon={<Iconify icon={userIcon} sx={{ minWidth: 20, height: 20, mr: 1 }} />}\n value={t('form.labels.organizer')}\n sx={{ color: 'text.secondary' }}\n />\n <Typography variant=\"body2\" fontWeight={700}>\n {event.company.displayName}\n </Typography>\n </Box>\n </Stack>\n </Stack>\n )}\n <Stack\n className=\"overview-card__order-info\"\n sx={{ p: { xs: withoutPadding ? 0 : 2, md: 2 } }}\n pt={{ xs: 0, sm: 2 }}\n spacing={0.75}\n useFlexGap\n >\n {!!selectedTickets.length && !isMobile && <Divider sx={{ borderStyle: 'dashed' }} />}\n\n {!!selectedTickets.length && (\n <Stack spacing={0.5}>\n {/* TODO: Uncomment this when Colonnade response - must update terms and conditions and email info */}\n <PaymentOverviewCheckbox\n checkboxName=\"ticketInsurance\"\n label={t('event.tickets.insurance.label')}\n value={\n <>\n {ticketInsurance && totalItemCount.totalTickets > 0 ? '' : '+ '}\n {fCurrency(ticketInsurancePricePerUnit, lang, event.currency)} /{' '}\n {t('event.tickets.insurance.per_ticket')}\n </>\n }\n />\n <PaymentOverviewCheckbox\n checkboxName=\"smsNotification\"\n label={t('event.tickets.sms_notification.label')}\n value={\n <>\n {smsNotification && totalItemCount.totalTickets > 0 ? '' : '+ '}\n {fCurrency(smsNotificationPrice, lang, event.currency)}\n </>\n }\n />\n <Divider sx={{ borderStyle: 'dashed' }} />\n </Stack>\n )}\n {selectedTickets.map((ticket, index) => (\n <Box key={index}>\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">\n {ticket.quantity}x {ticket.itemName}\n </Typography>\n <Typography variant=\"body2\">\n {fCurrency(\n calculatePriceWithDiscount(\n ticket.price,\n promoCodesValues.percent,\n promoCodesValues.fixedDevidedTickets\n ) * Number(ticket.quantity),\n lang,\n event.currency\n )}\n </Typography>\n </Stack>\n {ticket.products.map((product, index2) => (\n <Stack\n key={index2}\n direction=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n spacing={2}\n >\n <Typography variant=\"body2\">\n - {product.quantity}x {product.name}\n </Typography>\n <Typography variant=\"body2\">\n {product.price > 0\n ? fCurrency(\n calculatePriceWithDiscount(\n product.price,\n promoCodesValues.productDiscountPercent,\n promoCodesValues.fixedDevidedProducts\n ? promoCodesValues.fixedDevidedProducts * product.quantity\n : 0\n ),\n lang,\n event.currency\n )\n : t('free')}\n </Typography>\n </Stack>\n ))}\n </Box>\n ))}\n {selectedVariants.map((variant, index) => (\n <Box key={index}>\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">\n {variant.quantity}x {variant.name}\n </Typography>\n <Typography variant=\"body2\">\n {fCurrency(\n calculatePriceWithDiscount(\n variant.price,\n promoCodesValues.productDiscountPercent,\n promoCodesValues.fixedDevidedProducts\n ? promoCodesValues.fixedDevidedProducts * variant.quantity\n : 0\n ),\n lang,\n event.currency\n )}\n </Typography>\n </Stack>\n </Box>\n ))}\n {!!shippingFee && (\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">{t('form.labels.shipping_fee')}</Typography>\n <Typography variant=\"body2\">{fCurrency(shippingFee, lang, event.currency)}</Typography>\n </Stack>\n )}\n {!!total && !!totalFee && (\n <Stack direction=\"row\" justifyContent=\"space-between\" alignItems=\"center\" spacing={2}>\n <Typography variant=\"body2\">{t('form.labels.service_fee')}</Typography>\n <Typography variant=\"body2\">{getFee}</Typography>\n </Stack>\n )}\n {((!!selectedTickets.length && isMobile) || !isMobile) && (\n <Divider sx={{ borderStyle: 'dashed' }} />\n )}\n {!hideBuyButton && (\n <>\n <FeeBox event={event} />\n <LoadingButton\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ height: { xs: 36, md: 40 } }}\n >\n {t(isPaymentVerify ? 'verify' : 'buy')}\n </LoadingButton>\n </>\n )}\n </Stack>\n </OverviewCard>\n );\n};\n\nexport default PaymentOverviewBox;\n"],"names":[],"mappings":"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"}
@@ -5,100 +5,224 @@ import useGlobal from '../hooks/useGlobal.js';
5
5
  import { fCurrency } from '../utils/formatNumber.js';
6
6
  import { EVENTLOOK_ORDER_FORM_ID } from '../utils/data/global.js';
7
7
 
8
- const swipeAreaWidth = 56;
9
- const PaymentOverviewDrawer = ({ event, totalPrice, onOpenChange }) => {
8
+ const swipeAreaWidth = 120;
9
+ const clearResetPulledPastTimeout = (timeoutRef) => {
10
+ if (timeoutRef.current !== null) {
11
+ window.clearTimeout(timeoutRef.current);
12
+ timeoutRef.current = null;
13
+ }
14
+ };
15
+ const PaymentOverviewDrawer = ({ event, totalPrice, termsAndConditionsRef, onOpenChange, }) => {
10
16
  const { t, lang } = useGlobal();
11
- const [openDrawer, setOpenDrawer] = useState(false);
12
- const touchStartYRef = useRef(null);
13
- const sentinelRef = useRef(null);
14
- const prevYRef = useRef(Number.POSITIVE_INFINITY);
15
- // Opens drawer when scrolling down
17
+ const [isDrawerOpened, setIsDrawerOpened] = useState(false);
18
+ const [isOpeningGesture, setIsOpeningGesture] = useState(false);
19
+ const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);
20
+ const [isDrawerHidden, setIsDrawerHidden] = useState(false);
21
+ const [closedTabHeight, setClosedTabHeight] = useState(0);
22
+ const openingTouchStartYRef = useRef(null);
23
+ const openDrawerRef = useRef(false);
24
+ const isOpeningGestureRef = useRef(false);
25
+ const shouldReopenOnScrollUpRef = useRef(false);
26
+ const lastScrollYRef = useRef(0);
27
+ const isScrollingDownRef = useRef(false);
28
+ const wasAtPageBottomRef = useRef(false);
29
+ const resetPulledPastTimeoutRef = useRef(null);
30
+ const closedTabRef = useRef(null);
31
+ useEffect(() => {
32
+ openDrawerRef.current = isDrawerOpened;
33
+ }, [isDrawerOpened]);
34
+ useEffect(() => {
35
+ isOpeningGestureRef.current = isOpeningGesture;
36
+ }, [isOpeningGesture]);
37
+ // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page
38
+ useEffect(() => {
39
+ if (typeof window === 'undefined') {
40
+ return;
41
+ }
42
+ const atBottomThreshold = 8;
43
+ lastScrollYRef.current = window.scrollY;
44
+ isScrollingDownRef.current = false;
45
+ wasAtPageBottomRef.current =
46
+ window.innerHeight + window.scrollY >=
47
+ document.documentElement.scrollHeight - atBottomThreshold;
48
+ const handleScroll = () => {
49
+ const currentY = window.scrollY;
50
+ const isScrollingUp = currentY < lastScrollYRef.current;
51
+ const isScrollingDown = currentY > lastScrollYRef.current;
52
+ const isAtPageBottom = window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;
53
+ isScrollingDownRef.current = isScrollingDown;
54
+ if (isScrollingUp &&
55
+ wasAtPageBottomRef.current &&
56
+ shouldReopenOnScrollUpRef.current &&
57
+ !openDrawerRef.current) {
58
+ shouldReopenOnScrollUpRef.current = false;
59
+ setIsDrawerHidden(false);
60
+ openDrawerHandler();
61
+ }
62
+ wasAtPageBottomRef.current = isAtPageBottom;
63
+ lastScrollYRef.current = currentY;
64
+ };
65
+ window.addEventListener('scroll', handleScroll, { passive: true });
66
+ return () => {
67
+ window.removeEventListener('scroll', handleScroll);
68
+ };
69
+ }, []);
16
70
  useEffect(() => {
17
- const sentinel = sentinelRef.current;
18
- if (!sentinel)
71
+ const closedTab = closedTabRef.current;
72
+ if (!closedTab)
19
73
  return;
74
+ const updateClosedTabHeight = () => {
75
+ setClosedTabHeight(closedTab.offsetHeight);
76
+ };
77
+ updateClosedTabHeight();
78
+ const resizeObserver = new ResizeObserver(() => {
79
+ updateClosedTabHeight();
80
+ });
81
+ resizeObserver.observe(closedTab);
82
+ return () => {
83
+ resizeObserver.disconnect();
84
+ };
85
+ }, []);
86
+ useEffect(() => () => {
87
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
88
+ }, []);
89
+ useEffect(() => {
90
+ const termsAndConditionsElement = termsAndConditionsRef?.current;
91
+ if (!termsAndConditionsElement) {
92
+ return;
93
+ }
94
+ if (!('IntersectionObserver' in window)) {
95
+ return;
96
+ }
20
97
  const observer = new IntersectionObserver((entries) => {
21
- entries.forEach((entry) => {
22
- if (totalPrice <= 0)
23
- return;
24
- const currentY = entry.boundingClientRect.y;
25
- const isScrollingDown = currentY < prevYRef.current;
26
- if (entry.isIntersecting && isScrollingDown) {
27
- openDrawerHandler();
28
- }
29
- prevYRef.current = currentY;
30
- });
98
+ const entry = entries[0];
99
+ const hasReachedTermsSection = entry?.isIntersecting ?? false;
100
+ const shouldAutoCloseDrawer = hasReachedTermsSection;
101
+ const shouldHideDrawerTab = hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;
102
+ setIsDrawerHidden(shouldHideDrawerTab);
103
+ if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {
104
+ closeDrawerHandler({ shouldReopenOnScrollUp: true });
105
+ setIsDrawerHidden(true);
106
+ }
31
107
  }, {
108
+ root: null,
32
109
  threshold: 0,
33
- rootMargin: '0px 0px 0px 0px',
110
+ rootMargin: '0px 0px -40% 0px',
34
111
  });
35
- observer.observe(sentinel);
112
+ observer.observe(termsAndConditionsElement);
36
113
  return () => {
37
- observer.unobserve(sentinel);
114
+ observer.disconnect();
38
115
  };
39
- }, [totalPrice]);
116
+ }, [termsAndConditionsRef]);
40
117
  const toggleDrawer = () => {
41
- setOpenDrawer((prev) => {
42
- const next = !prev;
43
- onOpenChange?.(next);
44
- return next;
45
- });
118
+ if (openDrawerRef.current) {
119
+ closeDrawerHandler();
120
+ return;
121
+ }
122
+ openDrawerHandler();
46
123
  };
47
124
  const openDrawerHandler = () => {
48
- setOpenDrawer(true);
125
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
126
+ setIsOpeningGesture(false);
127
+ setHasPulledPastClosedTabHeight(false);
128
+ openingTouchStartYRef.current = null;
129
+ shouldReopenOnScrollUpRef.current = false;
130
+ setIsDrawerOpened(true);
49
131
  onOpenChange?.(true);
50
132
  };
51
- const closeDrawerHandler = () => {
52
- setOpenDrawer(false);
133
+ const closeDrawerHandler = ({ shouldReopenOnScrollUp = false, } = {}) => {
134
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
135
+ setIsOpeningGesture(false);
136
+ setHasPulledPastClosedTabHeight(false);
137
+ openingTouchStartYRef.current = null;
138
+ shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;
139
+ setIsDrawerOpened(false);
53
140
  onOpenChange?.(false);
54
141
  };
55
- const handleClosedTabTouchStart = (event) => {
56
- touchStartYRef.current = event.touches[0]?.clientY ?? null;
142
+ const scheduleResetPulledPastTimeout = () => {
143
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
144
+ resetPulledPastTimeoutRef.current = window.setTimeout(() => {
145
+ if (!openDrawerRef.current) {
146
+ setHasPulledPastClosedTabHeight(false);
147
+ }
148
+ }, 180);
149
+ };
150
+ const handleGestureStart = (startY) => {
151
+ openingTouchStartYRef.current = startY;
152
+ setIsOpeningGesture(true);
153
+ setHasPulledPastClosedTabHeight(false);
57
154
  };
58
- const handleClosedTabTouchEnd = (event) => {
59
- const startY = touchStartYRef.current;
60
- const endY = event.changedTouches[0]?.clientY;
61
- if (startY === null || typeof endY !== 'number') {
62
- touchStartYRef.current = null;
155
+ const handleGestureMove = (currentY) => {
156
+ if (!isOpeningGestureRef.current)
63
157
  return;
158
+ const startY = openingTouchStartYRef.current;
159
+ if (startY === null || typeof currentY !== 'number')
160
+ return;
161
+ const pullDistance = startY - currentY;
162
+ const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;
163
+ setHasPulledPastClosedTabHeight(currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight);
164
+ };
165
+ const handleGestureCancel = () => {
166
+ openingTouchStartYRef.current = null;
167
+ setIsOpeningGesture(false);
168
+ setHasPulledPastClosedTabHeight(false);
169
+ };
170
+ const handleGestureEnd = ({ shouldResetTouchStart = false, } = {}) => {
171
+ if (shouldResetTouchStart) {
172
+ openingTouchStartYRef.current = null;
64
173
  }
65
- const swipeDistance = startY - endY;
66
- if (swipeDistance > 24) {
67
- openDrawerHandler();
174
+ if (!isDrawerOpened) {
175
+ setIsOpeningGesture(false);
176
+ scheduleResetPulledPastTimeout();
68
177
  }
69
- touchStartYRef.current = null;
70
178
  };
71
179
  return (React.createElement(Box, { sx: { display: { md: 'none' } } },
72
- React.createElement(Box, { ref: sentinelRef, sx: { height: 1, visibility: 'hidden' } }),
73
- !openDrawer && (React.createElement(Box, { onTouchStart: handleClosedTabTouchStart, onTouchEnd: handleClosedTabTouchEnd, sx: {
180
+ React.createElement(Box, { ref: closedTabRef, sx: {
74
181
  position: 'fixed',
75
182
  bottom: 0,
76
183
  left: 0,
77
184
  right: 0,
78
185
  backgroundColor: (theme) => theme.palette.background.paper,
79
- borderTopLeftRadius: 16,
80
- borderTopRightRadius: 16,
81
- boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',
82
- zIndex: 1300,
186
+ borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
187
+ borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
188
+ boxShadow: isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',
189
+ zIndex: (theme) => theme.zIndex.drawer + 1,
190
+ opacity: isDrawerHidden ? 0 : 1,
191
+ transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',
192
+ transition: 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',
193
+ pointerEvents: 'none',
83
194
  } },
84
- React.createElement(Box, { role: "button", "aria-label": t('form.labels.payment_overview_open'), onClick: toggleDrawer, sx: {
195
+ !isDrawerOpened && (React.createElement(Box, { sx: {
85
196
  display: 'flex',
86
197
  justifyContent: 'center',
87
198
  alignItems: 'center',
88
- cursor: 'pointer',
89
199
  width: '100%',
90
200
  py: 1,
91
201
  } },
92
202
  React.createElement(Box, { sx: {
93
- width: 30,
203
+ width: 80,
94
204
  height: 6,
95
205
  backgroundColor: (theme) => theme.palette.grey[300],
96
206
  borderRadius: 3,
97
- } })),
98
- React.createElement(Box, { sx: {
207
+ opacity: isOpeningGesture ? 0 : 1,
208
+ transition: 'opacity 120ms ease',
209
+ } }))),
210
+ React.createElement(Box, { role: "button", "aria-label": t('form.labels.payment_overview_open'), onClick: toggleDrawer, onTouchStart: (event) => {
211
+ handleGestureStart(event.touches[0]?.clientY ?? null);
212
+ }, onMouseDown: () => {
213
+ handleGestureStart(null);
214
+ }, onTouchMove: (event) => {
215
+ handleGestureMove(event.touches[0]?.clientY);
216
+ }, onTouchCancel: handleGestureCancel, onTouchEnd: () => {
217
+ handleGestureEnd({ shouldResetTouchStart: true });
218
+ }, onMouseUp: () => {
219
+ handleGestureEnd();
220
+ }, sx: {
99
221
  width: '100%',
100
222
  px: 2,
101
223
  pb: 2,
224
+ pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',
225
+ cursor: 'pointer',
102
226
  } },
103
227
  React.createElement(Typography, { sx: {
104
228
  fontWeight: 'bold',
@@ -110,14 +234,45 @@ const PaymentOverviewDrawer = ({ event, totalPrice, onOpenChange }) => {
110
234
  t('form.labels.total'),
111
235
  ":"),
112
236
  React.createElement("span", null, fCurrency(totalPrice, lang, event.currency))),
113
- React.createElement(Button, { type: "submit", form: EVENTLOOK_ORDER_FORM_ID, variant: "contained", size: "large", fullWidth: true, sx: { mt: 1, height: { xs: 36, md: 40 } } }, t('buy'))))),
114
- React.createElement(SwipeableDrawer, { anchor: "bottom", open: openDrawer, onClose: closeDrawerHandler, onOpen: openDrawerHandler, swipeAreaWidth: swipeAreaWidth, disableSwipeToOpen: false, keepMounted: true, sx: { display: { md: 'none' } }, ModalProps: {
237
+ React.createElement(Button, { type: "submit", form: EVENTLOOK_ORDER_FORM_ID, onClick: (event) => {
238
+ event.stopPropagation();
239
+ }, variant: "contained", size: "large", fullWidth: true, sx: { mt: 1, height: { xs: 36, md: 40 } } }, t('buy')))),
240
+ React.createElement(SwipeableDrawer, { anchor: "bottom", open: isDrawerOpened, onClose: () => closeDrawerHandler(), onOpen: () => openDrawerHandler(), swipeAreaWidth: swipeAreaWidth, allowSwipeInChildren: true, disableSwipeToOpen: isDrawerHidden, keepMounted: true, SwipeAreaProps: {
241
+ onTouchStart: (event) => {
242
+ handleGestureStart(event.touches[0]?.clientY ?? null);
243
+ },
244
+ onMouseDown: () => {
245
+ handleGestureStart(null);
246
+ },
247
+ onTouchMove: (event) => {
248
+ handleGestureMove(event.touches[0]?.clientY);
249
+ },
250
+ onTouchCancel: handleGestureCancel,
251
+ onTouchEnd: () => {
252
+ handleGestureEnd({ shouldResetTouchStart: true });
253
+ },
254
+ onMouseUp: () => {
255
+ handleGestureEnd();
256
+ },
257
+ }, sx: {
258
+ display: { md: 'none' },
259
+ pointerEvents: isDrawerOpened ? 'none' : 'auto',
260
+ '& .MuiDrawer-paper': {
261
+ pointerEvents: 'auto',
262
+ },
263
+ '& .MuiSwipeArea-root': {
264
+ pointerEvents: 'auto',
265
+ },
266
+ }, ModalProps: {
115
267
  disableScrollLock: true,
116
268
  keepMounted: false,
269
+ disableAutoFocus: true,
270
+ disableRestoreFocus: true,
271
+ disableEnforceFocus: true,
117
272
  BackdropProps: {
118
- sx: { background: 'linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%)' },
119
- onClick: (event) => {
120
- event.stopPropagation();
273
+ sx: {
274
+ background: 'none',
275
+ pointerEvents: 'none',
121
276
  },
122
277
  },
123
278
  }, PaperProps: {
@@ -126,6 +281,11 @@ const PaymentOverviewDrawer = ({ event, totalPrice, onOpenChange }) => {
126
281
  borderTopRightRadius: 16,
127
282
  boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',
128
283
  overflow: 'hidden',
284
+ mb: isDrawerOpened ||
285
+ (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))
286
+ ? `${closedTabHeight}px`
287
+ : 0,
288
+ transition: 'none',
129
289
  },
130
290
  } },
131
291
  React.createElement(Box, { role: "button", "aria-label": t('form.labels.payment_overview_close'), onClick: toggleDrawer, sx: {
@@ -137,7 +297,7 @@ const PaymentOverviewDrawer = ({ event, totalPrice, onOpenChange }) => {
137
297
  py: 1,
138
298
  } },
139
299
  React.createElement(Box, { sx: {
140
- width: 30,
300
+ width: 80,
141
301
  height: 6,
142
302
  backgroundColor: (theme) => theme.palette.grey[300],
143
303
  borderRadius: 3,
@@ -146,7 +306,7 @@ const PaymentOverviewDrawer = ({ event, totalPrice, onOpenChange }) => {
146
306
  height: '100%',
147
307
  overflow: 'auto',
148
308
  } },
149
- React.createElement(PaymentOverviewBox, { event: event })))));
309
+ React.createElement(PaymentOverviewBox, { event: event, hideBuyButton: true })))));
150
310
  };
151
311
 
152
312
  export { PaymentOverviewDrawer as default };