@eventlook/sdk 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/_commonjsHelpers.js +6 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/cjs/_virtual/colorManipulator.js +6 -0
- package/dist/cjs/_virtual/colorManipulator.js.map +1 -0
- package/dist/cjs/_virtual/createStyled.js +6 -0
- package/dist/cjs/_virtual/createStyled.js.map +1 -0
- package/dist/cjs/_virtual/customParseFormat.js +6 -0
- package/dist/cjs/_virtual/customParseFormat.js.map +1 -0
- package/dist/cjs/_virtual/dayjs.min.js +6 -0
- package/dist/cjs/_virtual/dayjs.min.js.map +1 -0
- package/dist/cjs/_virtual/extends.js +6 -0
- package/dist/cjs/_virtual/extends.js.map +1 -0
- package/dist/cjs/_virtual/index.js +6 -0
- package/dist/cjs/_virtual/index.js.map +1 -0
- package/dist/cjs/_virtual/index.umd.js +6 -0
- package/dist/cjs/_virtual/index.umd.js.map +1 -0
- package/dist/cjs/_virtual/index10.js +11 -0
- package/dist/cjs/_virtual/index10.js.map +1 -0
- package/dist/cjs/_virtual/index11.js +11 -0
- package/dist/cjs/_virtual/index11.js.map +1 -0
- package/dist/cjs/_virtual/index12.js +6 -0
- package/dist/cjs/_virtual/index12.js.map +1 -0
- package/dist/cjs/_virtual/index13.js +6 -0
- package/dist/cjs/_virtual/index13.js.map +1 -0
- package/dist/cjs/_virtual/index14.js +6 -0
- package/dist/cjs/_virtual/index14.js.map +1 -0
- package/dist/cjs/_virtual/index15.js +6 -0
- package/dist/cjs/_virtual/index15.js.map +1 -0
- package/dist/cjs/_virtual/index2.js +6 -0
- package/dist/cjs/_virtual/index2.js.map +1 -0
- package/dist/cjs/_virtual/index3.js +6 -0
- package/dist/cjs/_virtual/index3.js.map +1 -0
- package/dist/cjs/_virtual/index4.js +11 -0
- package/dist/cjs/_virtual/index4.js.map +1 -0
- package/dist/cjs/_virtual/index5.js +11 -0
- package/dist/cjs/_virtual/index5.js.map +1 -0
- package/dist/cjs/_virtual/index6.js +11 -0
- package/dist/cjs/_virtual/index6.js.map +1 -0
- package/dist/cjs/_virtual/index7.js +11 -0
- package/dist/cjs/_virtual/index7.js.map +1 -0
- package/dist/cjs/_virtual/index8.js +11 -0
- package/dist/cjs/_virtual/index8.js.map +1 -0
- package/dist/cjs/_virtual/index9.js +11 -0
- package/dist/cjs/_virtual/index9.js.map +1 -0
- package/dist/cjs/_virtual/interopRequireDefault.js +6 -0
- package/dist/cjs/_virtual/interopRequireDefault.js.map +1 -0
- package/dist/cjs/_virtual/isBetween.js +6 -0
- package/dist/cjs/_virtual/isBetween.js.map +1 -0
- package/dist/cjs/_virtual/jsx-runtime.js +6 -0
- package/dist/cjs/_virtual/jsx-runtime.js.map +1 -0
- package/dist/cjs/_virtual/localizedFormat.js +6 -0
- package/dist/cjs/_virtual/localizedFormat.js.map +1 -0
- package/dist/cjs/_virtual/lodash.js +6 -0
- package/dist/cjs/_virtual/lodash.js.map +1 -0
- package/dist/cjs/_virtual/lottie.js +6 -0
- package/dist/cjs/_virtual/lottie.js.map +1 -0
- package/dist/cjs/_virtual/numeral.js +6 -0
- package/dist/cjs/_virtual/numeral.js.map +1 -0
- package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js +6 -0
- package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development.js +6 -0
- package/dist/cjs/_virtual/react-is.development.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development2.js +6 -0
- package/dist/cjs/_virtual/react-is.development2.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development3.js +6 -0
- package/dist/cjs/_virtual/react-is.development3.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.js +6 -0
- package/dist/cjs/_virtual/react-is.production.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.min.js +6 -0
- package/dist/cjs/_virtual/react-is.production.min.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.min2.js +6 -0
- package/dist/cjs/_virtual/react-is.production.min2.js.map +1 -0
- package/dist/cjs/_virtual/react-jsx-runtime.development.js +6 -0
- package/dist/cjs/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/cjs/_virtual/react-jsx-runtime.production.min.js +6 -0
- package/dist/cjs/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/cjs/_virtual/timezone.js +6 -0
- package/dist/cjs/_virtual/timezone.js.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.development.js +6 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.production.js +6 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.production.js.map +1 -0
- package/dist/cjs/_virtual/useThemeWithoutDefault.js +6 -0
- package/dist/cjs/_virtual/useThemeWithoutDefault.js.map +1 -0
- package/dist/cjs/_virtual/utc.js +6 -0
- package/dist/cjs/_virtual/utc.js.map +1 -0
- package/dist/cjs/_virtual/weekOfYear.js +6 -0
- package/dist/cjs/_virtual/weekOfYear.js.map +1 -0
- package/dist/cjs/form/Payment.js +1 -1
- package/dist/cjs/form/Payment.js.map +1 -1
- package/dist/cjs/form/TicketSelection.js.map +1 -1
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js +1 -1
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js.map +1 -1
- package/dist/cjs/modules/order.js +1 -1
- package/dist/cjs/modules/order.js.map +1 -1
- package/dist/cjs/utils/data/order.js +8 -0
- package/dist/cjs/utils/data/order.js.map +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +4 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/colorManipulator.js +4 -0
- package/dist/esm/_virtual/colorManipulator.js.map +1 -0
- package/dist/esm/_virtual/createStyled.js +4 -0
- package/dist/esm/_virtual/createStyled.js.map +1 -0
- package/dist/esm/_virtual/customParseFormat.js +4 -0
- package/dist/esm/_virtual/customParseFormat.js.map +1 -0
- package/dist/esm/_virtual/dayjs.min.js +4 -0
- package/dist/esm/_virtual/dayjs.min.js.map +1 -0
- package/dist/esm/_virtual/extends.js +4 -0
- package/dist/esm/_virtual/extends.js.map +1 -0
- package/dist/esm/_virtual/index.js +4 -0
- package/dist/esm/_virtual/index.js.map +1 -0
- package/dist/esm/_virtual/index.umd.js +4 -0
- package/dist/esm/_virtual/index.umd.js.map +1 -0
- package/dist/esm/_virtual/index10.js +7 -0
- package/dist/esm/_virtual/index10.js.map +1 -0
- package/dist/esm/_virtual/index11.js +7 -0
- package/dist/esm/_virtual/index11.js.map +1 -0
- package/dist/esm/_virtual/index12.js +4 -0
- package/dist/esm/_virtual/index12.js.map +1 -0
- package/dist/esm/_virtual/index13.js +4 -0
- package/dist/esm/_virtual/index13.js.map +1 -0
- package/dist/esm/_virtual/index14.js +4 -0
- package/dist/esm/_virtual/index14.js.map +1 -0
- package/dist/esm/_virtual/index15.js +4 -0
- package/dist/esm/_virtual/index15.js.map +1 -0
- package/dist/esm/_virtual/index2.js +4 -0
- package/dist/esm/_virtual/index2.js.map +1 -0
- package/dist/esm/_virtual/index3.js +4 -0
- package/dist/esm/_virtual/index3.js.map +1 -0
- package/dist/esm/_virtual/index4.js +7 -0
- package/dist/esm/_virtual/index4.js.map +1 -0
- package/dist/esm/_virtual/index5.js +7 -0
- package/dist/esm/_virtual/index5.js.map +1 -0
- package/dist/esm/_virtual/index6.js +7 -0
- package/dist/esm/_virtual/index6.js.map +1 -0
- package/dist/esm/_virtual/index7.js +7 -0
- package/dist/esm/_virtual/index7.js.map +1 -0
- package/dist/esm/_virtual/index8.js +7 -0
- package/dist/esm/_virtual/index8.js.map +1 -0
- package/dist/esm/_virtual/index9.js +7 -0
- package/dist/esm/_virtual/index9.js.map +1 -0
- package/dist/esm/_virtual/interopRequireDefault.js +4 -0
- package/dist/esm/_virtual/interopRequireDefault.js.map +1 -0
- package/dist/esm/_virtual/isBetween.js +4 -0
- package/dist/esm/_virtual/isBetween.js.map +1 -0
- package/dist/esm/_virtual/jsx-runtime.js +4 -0
- package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
- package/dist/esm/_virtual/localizedFormat.js +4 -0
- package/dist/esm/_virtual/localizedFormat.js.map +1 -0
- package/dist/esm/_virtual/lodash.js +4 -0
- package/dist/esm/_virtual/lodash.js.map +1 -0
- package/dist/esm/_virtual/lottie.js +4 -0
- package/dist/esm/_virtual/lottie.js.map +1 -0
- package/dist/esm/_virtual/numeral.js +4 -0
- package/dist/esm/_virtual/numeral.js.map +1 -0
- package/dist/esm/_virtual/objectWithoutPropertiesLoose.js +4 -0
- package/dist/esm/_virtual/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/esm/_virtual/react-is.development.js +4 -0
- package/dist/esm/_virtual/react-is.development.js.map +1 -0
- package/dist/esm/_virtual/react-is.development2.js +4 -0
- package/dist/esm/_virtual/react-is.development2.js.map +1 -0
- package/dist/esm/_virtual/react-is.development3.js +4 -0
- package/dist/esm/_virtual/react-is.development3.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.js +4 -0
- package/dist/esm/_virtual/react-is.production.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.min.js +4 -0
- package/dist/esm/_virtual/react-is.production.min.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.min2.js +4 -0
- package/dist/esm/_virtual/react-is.production.min2.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/esm/_virtual/timezone.js +4 -0
- package/dist/esm/_virtual/timezone.js.map +1 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.development.js +4 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.production.js +4 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.production.js.map +1 -0
- package/dist/esm/_virtual/useThemeWithoutDefault.js +4 -0
- package/dist/esm/_virtual/useThemeWithoutDefault.js.map +1 -0
- package/dist/esm/_virtual/utc.js +4 -0
- package/dist/esm/_virtual/utc.js.map +1 -0
- package/dist/esm/_virtual/weekOfYear.js +4 -0
- package/dist/esm/_virtual/weekOfYear.js.map +1 -0
- package/dist/esm/form/Payment.js +1 -1
- package/dist/esm/form/Payment.js.map +1 -1
- package/dist/esm/form/TicketSelection.js.map +1 -1
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js +1 -1
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js.map +1 -1
- package/dist/esm/modules/order.js +1 -1
- package/dist/esm/modules/order.js.map +1 -1
- package/dist/esm/utils/data/order.js +8 -0
- package/dist/esm/utils/data/order.js.map +1 -0
- package/dist/index.cjs.js +90295 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +90275 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/types/hooks/data/useShoppingCart.d.ts +8 -0
- package/package.json +1 -1
- package/src/form/Payment.tsx +1 -1
- package/src/form/TicketSelection.tsx +0 -1
- package/dist/cjs/form/PaymentStep.js +0 -219
- package/dist/cjs/form/PaymentStep.js.map +0 -1
- package/dist/esm/form/PaymentStep.js +0 -215
- package/dist/esm/form/PaymentStep.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.development2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.development3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.production.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.production.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-is.production.min2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-jsx-runtime.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-jsx-runtime.production.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sync-external-store-shim.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sync-external-store-shim.production.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeWithoutDefault.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weekOfYear.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/esm/form/Payment.js
CHANGED
|
@@ -20,7 +20,7 @@ import Iconify from '../components/iconify/Iconify.js';
|
|
|
20
20
|
const Payment = ({ event }) => {
|
|
21
21
|
const { t, lang } = useGlobal();
|
|
22
22
|
const { showSnackbar } = useGlobal();
|
|
23
|
-
const { data, isLoading } = useAllowedPaymentMethods(event.currency);
|
|
23
|
+
const { data, isLoading } = useAllowedPaymentMethods(event.currency, event.id);
|
|
24
24
|
const { control, watch, setValue } = useFormContext();
|
|
25
25
|
const paymentMethodId = watch('paymentMethodId');
|
|
26
26
|
const paymentMethodOptionId = watch('paymentMethodOptionId');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payment.js","sources":["../../../src/form/Payment.tsx"],"sourcesContent":["import React, { KeyboardEvent, useEffect, useMemo, useState } from 'react';\nimport {\n Box,\n Button,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n IconButton,\n Radio,\n RadioGroup,\n Stack,\n TextField,\n Typography,\n} from '@mui/material';\nimport useAllowedPaymentMethods from '@hooks/data/useAllowedPaymentMethods';\nimport { Controller, useFormContext, useWatch } from 'react-hook-form';\nimport { PaymentItem, PaymentWrapper, PaymentSwiftWrapper } from '@form/style';\nimport Image from '@components/Image';\nimport Label from '@components/Label';\nimport PaymentSkeleton from '@form/payment/PaymentSkeleton';\nimport { RHFRadioGroup } from '@components/hook-form';\nimport { postPromoCodeApply } from '@modules/promo-code';\nimport { IEvent } from '@utils/types/event.type';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useGlobal from '@hooks/useGlobal.ts';\nimport { IPromoCode } from '@utils/types/promo-code.type';\nimport { PromoCodeTypes } from '@utils/data/promo-code';\nimport { throttle } from 'lodash';\nimport { Iconify } from '@components';\nimport { IEventProductForm } from '@utils/types/product.type';\n\ninterface Props {\n event: IEvent;\n}\n\nconst Payment: React.FC<Props> = ({ event }) => {\n const { t, lang } = useGlobal();\n const { showSnackbar } = useGlobal();\n const { data, isLoading } = useAllowedPaymentMethods(event.currency);\n const { control, watch, setValue } = useFormContext<ITicketForm>();\n const paymentMethodId = watch('paymentMethodId');\n const paymentMethodOptionId = watch('paymentMethodOptionId');\n const [promoCode, setPromoCode] = useState<string>('');\n const [promoCodeError, setPromoCodeError] = useState<string | null>(null);\n const [combine, setCombine] = useState<boolean>(true);\n const promoCodes: IPromoCode[] = watch('promoCodes');\n const originalPrice: number = watch('originalPrice');\n\n const handleSubmit = throttle(\n async () => {\n if (!promoCode) {\n setPromoCodeError(t('form.validation.required'));\n return;\n }\n\n try {\n if (promoCodes.find((i) => i.code === promoCode)) {\n setPromoCodeError(t('form.validation.promo_code_applied'));\n return;\n }\n if (!combine) {\n setPromoCodeError(t('form.validation.promo_code_cant_combine'));\n return;\n }\n\n const res = await postPromoCodeApply(promoCode, event.id);\n const promo = res.data.data;\n\n if (promo && promo.minPurchaseAmount && promo.minPurchaseAmount > originalPrice) {\n setPromoCodeError(\n t('form.validation.min_purchase_not_met') +\n promo.minPurchaseAmount +\n ' ' +\n event.currency\n );\n return;\n }\n\n if (!promo.combine && promoCodes.length === 0) {\n setCombine(false);\n } else if (!promo.combine) {\n setPromoCodeError(t('form.validation.promo_code_cant_combine'));\n return;\n }\n\n setValue('promoCodes', [...promoCodes, promo]);\n showSnackbar(res.message);\n setPromoCodeError(null);\n setValue('promoCode', promo);\n setPromoCode('');\n } catch (err) {\n setPromoCodeError(t('form.validation.promo_code_invalid'));\n console.error(err);\n setValue('promoCode', null);\n }\n },\n 1000,\n { leading: true, trailing: false } // Allow immediate execution but prevent spam\n );\n\n const removePromoCode = (promoCodeToRemove: string) => {\n const newPromoCodes: IPromoCode[] = promoCodes.filter(\n (promoC) => promoC.code !== promoCodeToRemove\n );\n\n if (!newPromoCodes.find((promoC) => promoC.combine)) setCombine(true);\n\n setValue('promoCodes', newPromoCodes);\n };\n\n const handleKeyDown = async (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (promoCode) await handleSubmit();\n }\n };\n\n useEffect(() => {\n if (promoCodes.length === 0) return;\n\n const highest = promoCodes.sort((a, b) => b.minPurchaseAmount - a.minPurchaseAmount)[0]\n .minPurchaseAmount;\n\n if (originalPrice < highest) {\n const newPromoCodes = promoCodes.filter(\n (promoCode) => promoCode.minPurchaseAmount <= originalPrice\n );\n if (newPromoCodes.length === 0) {\n setCombine(true);\n }\n setValue('promoCodes', newPromoCodes);\n }\n }, [originalPrice]);\n\n useEffect(() => {\n if (data) {\n if (!paymentMethodId && !!data.length) {\n setValue('paymentMethodId', data[0].id);\n }\n const selectedPayment =\n data && data?.length && data.find((payment) => payment.id === Number(paymentMethodId));\n if (selectedPayment && !!selectedPayment.options.length && !paymentMethodOptionId) {\n setValue('paymentMethodOptionId', selectedPayment.options[0].id);\n } else if (selectedPayment && !!selectedPayment.options.length && !!paymentMethodOptionId) {\n const existingOption = selectedPayment.options.find(\n (option) => option.id === Number(paymentMethodOptionId)\n );\n if (!existingOption) {\n setValue('paymentMethodOptionId', selectedPayment.options[0].id);\n }\n } else if (selectedPayment && !selectedPayment?.options.length) {\n setValue('paymentMethodOptionId', null);\n }\n }\n }, [data, paymentMethodId, paymentMethodOptionId]);\n\n const tickets: Record<string, ITicketFormTicket[]> = useWatch({\n name: 'tickets',\n defaultValue: {},\n });\n const products: Record<string, IEventProductForm[]> = useWatch({\n name: 'products',\n defaultValue: {},\n });\n const total: number = useWatch({ name: 'total' });\n\n const paymentMethods = useMemo(() => {\n if (!data) return [];\n\n const hasTickets =\n Object.values(tickets)\n .flat()\n .filter((t) => t.quantity).length > 0;\n const hasProducts = Object.values(products).flat().length > 0;\n\n if (total === 0 && (hasTickets || hasProducts)) {\n setValue('isPaymentVerify', true);\n return data.filter((payment) =>\n ['PAYMENT_CARD', 'APPLE_PAY', 'GPAY', 'CLICK_TO_PAY'].includes(payment.type)\n );\n } else {\n setValue('isPaymentVerify', false);\n return data;\n }\n }, [data, total, tickets, products]);\n\n return (\n <Box>\n <Box className=\"payment__promo-code\">\n <Stack direction=\"row\" spacing={2}>\n <TextField\n name=\"promoCode\"\n size=\"small\"\n label={t('form.labels.promo_code')}\n value={promoCode}\n onChange={(e) => setPromoCode(e.target.value)}\n onBlur={(e) => {\n if (!e.target.value.trim()) setPromoCodeError(null);\n }}\n onKeyDown={handleKeyDown}\n error={!!promoCodeError}\n helperText={promoCodeError}\n fullWidth\n />\n <Box>\n <Button\n size=\"large\"\n type=\"button\"\n variant=\"contained\"\n onClick={handleSubmit}\n disabled={!promoCode}\n sx={{ height: 51 }}\n >\n {t('apply')}\n </Button>\n </Box>\n </Stack>\n <Stack paddingTop={3} direction=\"column\" spacing={1}>\n {promoCodes.length > 0 &&\n promoCodes.map((item: IPromoCode) => (\n <Stack\n marginTop={3}\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n spacing={2}\n key={item.code}\n >\n <>\n <Stack direction=\"row\" alignItems=\"center\">\n <Label variant=\"filled\" sx={{ textTransform: 'none', cursor: 'pointer' }}>\n {item.code}\n </Label>\n <Typography variant=\"subtitle2\" sx={{ ml: 1 }}>\n -{' '}\n {item.value +\n `${item.type === PromoCodeTypes.FIXED ? ' ' + event.currency : '%'}`}\n </Typography>\n </Stack>\n <Box>\n <IconButton\n color=\"primary\"\n onClick={() => removePromoCode(item.code)}\n aria-label=\"delete\"\n >\n <Iconify icon=\"carbon:trash-can\" />\n </IconButton>\n </Box>\n </>\n </Stack>\n ))}\n </Stack>\n </Box>\n\n <Typography variant=\"h4\" mt={2}>\n {t('event.tickets.stepper.3.subtitle')}\n </Typography>\n\n {isLoading ? (\n <PaymentSkeleton sx={{ marginTop: 1 }} />\n ) : (\n <PaymentWrapper>\n <Controller\n name=\"paymentMethodId\"\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormControl component=\"fieldset\">\n <RadioGroup {...field}>\n {paymentMethods.map((payment) => (\n <PaymentItem\n key={payment.type}\n active={!!paymentMethodId && Number(paymentMethodId) === payment.id}\n >\n <FormControlLabel\n value={payment.id}\n control={<Radio />}\n label={\n <Stack direction=\"row\" alignItems=\"center\">\n <Typography\n sx={{\n marginRight: 2,\n }}\n >\n {payment.label[lang]}\n </Typography>\n <Image\n src={payment.image.url}\n sx={{\n height: '20px',\n '& .wrapper img': {\n objectFit: 'contain',\n },\n }}\n />\n </Stack>\n }\n sx={{\n '&:not(:last-of-type)': {\n mb: 0,\n },\n }}\n />\n {!!payment.options.length &&\n !!paymentMethodId &&\n Number(paymentMethodId) === payment.id && (\n <PaymentSwiftWrapper>\n <Divider sx={{ mb: 2 }} />\n <RHFRadioGroup\n name=\"paymentMethodOptionId\"\n row\n options={payment.options\n .filter((item) => !item.label.en.includes('eshop.api.swifts'))\n .map((option) => ({\n label: (\n <Stack direction=\"row\" alignItems=\"center\">\n <Image\n src={option.image.url}\n sx={{\n width: 'auto',\n height: '15px',\n maxWidth: '70px',\n display: 'inline-block',\n marginRight: 1,\n '& .wrapper img': {\n objectFit: 'contain',\n objectPosition: 'left',\n },\n }}\n />\n <Typography variant=\"body2\">{option.label[lang]}</Typography>\n </Stack>\n ),\n value: option.id,\n }))}\n />\n </PaymentSwiftWrapper>\n )}\n </PaymentItem>\n ))}\n </RadioGroup>\n\n {!!error && (\n <FormHelperText error={!!error} sx={{ mx: 0 }}>\n {error?.message}\n </FormHelperText>\n )}\n </FormControl>\n )}\n />\n </PaymentWrapper>\n )}\n </Box>\n );\n};\n\nexport default Payment;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Payment.js","sources":["../../../src/form/Payment.tsx"],"sourcesContent":["import React, { KeyboardEvent, useEffect, useMemo, useState } from 'react';\nimport {\n Box,\n Button,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n IconButton,\n Radio,\n RadioGroup,\n Stack,\n TextField,\n Typography,\n} from '@mui/material';\nimport useAllowedPaymentMethods from '@hooks/data/useAllowedPaymentMethods';\nimport { Controller, useFormContext, useWatch } from 'react-hook-form';\nimport { PaymentItem, PaymentWrapper, PaymentSwiftWrapper } from '@form/style';\nimport Image from '@components/Image';\nimport Label from '@components/Label';\nimport PaymentSkeleton from '@form/payment/PaymentSkeleton';\nimport { RHFRadioGroup } from '@components/hook-form';\nimport { postPromoCodeApply } from '@modules/promo-code';\nimport { IEvent } from '@utils/types/event.type';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useGlobal from '@hooks/useGlobal.ts';\nimport { IPromoCode } from '@utils/types/promo-code.type';\nimport { PromoCodeTypes } from '@utils/data/promo-code';\nimport { throttle } from 'lodash';\nimport { Iconify } from '@components';\nimport { IEventProductForm } from '@utils/types/product.type';\n\ninterface Props {\n event: IEvent;\n}\n\nconst Payment: React.FC<Props> = ({ event }) => {\n const { t, lang } = useGlobal();\n const { showSnackbar } = useGlobal();\n const { data, isLoading } = useAllowedPaymentMethods(event.currency, event.id);\n const { control, watch, setValue } = useFormContext<ITicketForm>();\n const paymentMethodId = watch('paymentMethodId');\n const paymentMethodOptionId = watch('paymentMethodOptionId');\n const [promoCode, setPromoCode] = useState<string>('');\n const [promoCodeError, setPromoCodeError] = useState<string | null>(null);\n const [combine, setCombine] = useState<boolean>(true);\n const promoCodes: IPromoCode[] = watch('promoCodes');\n const originalPrice: number = watch('originalPrice');\n\n const handleSubmit = throttle(\n async () => {\n if (!promoCode) {\n setPromoCodeError(t('form.validation.required'));\n return;\n }\n\n try {\n if (promoCodes.find((i) => i.code === promoCode)) {\n setPromoCodeError(t('form.validation.promo_code_applied'));\n return;\n }\n if (!combine) {\n setPromoCodeError(t('form.validation.promo_code_cant_combine'));\n return;\n }\n\n const res = await postPromoCodeApply(promoCode, event.id);\n const promo = res.data.data;\n\n if (promo && promo.minPurchaseAmount && promo.minPurchaseAmount > originalPrice) {\n setPromoCodeError(\n t('form.validation.min_purchase_not_met') +\n promo.minPurchaseAmount +\n ' ' +\n event.currency\n );\n return;\n }\n\n if (!promo.combine && promoCodes.length === 0) {\n setCombine(false);\n } else if (!promo.combine) {\n setPromoCodeError(t('form.validation.promo_code_cant_combine'));\n return;\n }\n\n setValue('promoCodes', [...promoCodes, promo]);\n showSnackbar(res.message);\n setPromoCodeError(null);\n setValue('promoCode', promo);\n setPromoCode('');\n } catch (err) {\n setPromoCodeError(t('form.validation.promo_code_invalid'));\n console.error(err);\n setValue('promoCode', null);\n }\n },\n 1000,\n { leading: true, trailing: false } // Allow immediate execution but prevent spam\n );\n\n const removePromoCode = (promoCodeToRemove: string) => {\n const newPromoCodes: IPromoCode[] = promoCodes.filter(\n (promoC) => promoC.code !== promoCodeToRemove\n );\n\n if (!newPromoCodes.find((promoC) => promoC.combine)) setCombine(true);\n\n setValue('promoCodes', newPromoCodes);\n };\n\n const handleKeyDown = async (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (promoCode) await handleSubmit();\n }\n };\n\n useEffect(() => {\n if (promoCodes.length === 0) return;\n\n const highest = promoCodes.sort((a, b) => b.minPurchaseAmount - a.minPurchaseAmount)[0]\n .minPurchaseAmount;\n\n if (originalPrice < highest) {\n const newPromoCodes = promoCodes.filter(\n (promoCode) => promoCode.minPurchaseAmount <= originalPrice\n );\n if (newPromoCodes.length === 0) {\n setCombine(true);\n }\n setValue('promoCodes', newPromoCodes);\n }\n }, [originalPrice]);\n\n useEffect(() => {\n if (data) {\n if (!paymentMethodId && !!data.length) {\n setValue('paymentMethodId', data[0].id);\n }\n const selectedPayment =\n data && data?.length && data.find((payment) => payment.id === Number(paymentMethodId));\n if (selectedPayment && !!selectedPayment.options.length && !paymentMethodOptionId) {\n setValue('paymentMethodOptionId', selectedPayment.options[0].id);\n } else if (selectedPayment && !!selectedPayment.options.length && !!paymentMethodOptionId) {\n const existingOption = selectedPayment.options.find(\n (option) => option.id === Number(paymentMethodOptionId)\n );\n if (!existingOption) {\n setValue('paymentMethodOptionId', selectedPayment.options[0].id);\n }\n } else if (selectedPayment && !selectedPayment?.options.length) {\n setValue('paymentMethodOptionId', null);\n }\n }\n }, [data, paymentMethodId, paymentMethodOptionId]);\n\n const tickets: Record<string, ITicketFormTicket[]> = useWatch({\n name: 'tickets',\n defaultValue: {},\n });\n const products: Record<string, IEventProductForm[]> = useWatch({\n name: 'products',\n defaultValue: {},\n });\n const total: number = useWatch({ name: 'total' });\n\n const paymentMethods = useMemo(() => {\n if (!data) return [];\n\n const hasTickets =\n Object.values(tickets)\n .flat()\n .filter((t) => t.quantity).length > 0;\n const hasProducts = Object.values(products).flat().length > 0;\n\n if (total === 0 && (hasTickets || hasProducts)) {\n setValue('isPaymentVerify', true);\n return data.filter((payment) =>\n ['PAYMENT_CARD', 'APPLE_PAY', 'GPAY', 'CLICK_TO_PAY'].includes(payment.type)\n );\n } else {\n setValue('isPaymentVerify', false);\n return data;\n }\n }, [data, total, tickets, products]);\n\n return (\n <Box>\n <Box className=\"payment__promo-code\">\n <Stack direction=\"row\" spacing={2}>\n <TextField\n name=\"promoCode\"\n size=\"small\"\n label={t('form.labels.promo_code')}\n value={promoCode}\n onChange={(e) => setPromoCode(e.target.value)}\n onBlur={(e) => {\n if (!e.target.value.trim()) setPromoCodeError(null);\n }}\n onKeyDown={handleKeyDown}\n error={!!promoCodeError}\n helperText={promoCodeError}\n fullWidth\n />\n <Box>\n <Button\n size=\"large\"\n type=\"button\"\n variant=\"contained\"\n onClick={handleSubmit}\n disabled={!promoCode}\n sx={{ height: 51 }}\n >\n {t('apply')}\n </Button>\n </Box>\n </Stack>\n <Stack paddingTop={3} direction=\"column\" spacing={1}>\n {promoCodes.length > 0 &&\n promoCodes.map((item: IPromoCode) => (\n <Stack\n marginTop={3}\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n spacing={2}\n key={item.code}\n >\n <>\n <Stack direction=\"row\" alignItems=\"center\">\n <Label variant=\"filled\" sx={{ textTransform: 'none', cursor: 'pointer' }}>\n {item.code}\n </Label>\n <Typography variant=\"subtitle2\" sx={{ ml: 1 }}>\n -{' '}\n {item.value +\n `${item.type === PromoCodeTypes.FIXED ? ' ' + event.currency : '%'}`}\n </Typography>\n </Stack>\n <Box>\n <IconButton\n color=\"primary\"\n onClick={() => removePromoCode(item.code)}\n aria-label=\"delete\"\n >\n <Iconify icon=\"carbon:trash-can\" />\n </IconButton>\n </Box>\n </>\n </Stack>\n ))}\n </Stack>\n </Box>\n\n <Typography variant=\"h4\" mt={2}>\n {t('event.tickets.stepper.3.subtitle')}\n </Typography>\n\n {isLoading ? (\n <PaymentSkeleton sx={{ marginTop: 1 }} />\n ) : (\n <PaymentWrapper>\n <Controller\n name=\"paymentMethodId\"\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormControl component=\"fieldset\">\n <RadioGroup {...field}>\n {paymentMethods.map((payment) => (\n <PaymentItem\n key={payment.type}\n active={!!paymentMethodId && Number(paymentMethodId) === payment.id}\n >\n <FormControlLabel\n value={payment.id}\n control={<Radio />}\n label={\n <Stack direction=\"row\" alignItems=\"center\">\n <Typography\n sx={{\n marginRight: 2,\n }}\n >\n {payment.label[lang]}\n </Typography>\n <Image\n src={payment.image.url}\n sx={{\n height: '20px',\n '& .wrapper img': {\n objectFit: 'contain',\n },\n }}\n />\n </Stack>\n }\n sx={{\n '&:not(:last-of-type)': {\n mb: 0,\n },\n }}\n />\n {!!payment.options.length &&\n !!paymentMethodId &&\n Number(paymentMethodId) === payment.id && (\n <PaymentSwiftWrapper>\n <Divider sx={{ mb: 2 }} />\n <RHFRadioGroup\n name=\"paymentMethodOptionId\"\n row\n options={payment.options\n .filter((item) => !item.label.en.includes('eshop.api.swifts'))\n .map((option) => ({\n label: (\n <Stack direction=\"row\" alignItems=\"center\">\n <Image\n src={option.image.url}\n sx={{\n width: 'auto',\n height: '15px',\n maxWidth: '70px',\n display: 'inline-block',\n marginRight: 1,\n '& .wrapper img': {\n objectFit: 'contain',\n objectPosition: 'left',\n },\n }}\n />\n <Typography variant=\"body2\">{option.label[lang]}</Typography>\n </Stack>\n ),\n value: option.id,\n }))}\n />\n </PaymentSwiftWrapper>\n )}\n </PaymentItem>\n ))}\n </RadioGroup>\n\n {!!error && (\n <FormHelperText error={!!error} sx={{ mx: 0 }}>\n {error?.message}\n </FormHelperText>\n )}\n </FormControl>\n )}\n />\n </PaymentWrapper>\n )}\n </Box>\n );\n};\n\nexport default Payment;\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TicketSelection.js","sources":["../../../src/form/TicketSelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport {\n Box,\n Divider,\n Grid,\n IconButton,\n MenuItem,\n Skeleton,\n Stack,\n Typography,\n} from '@mui/material';\nimport { RHFSelect } from '@components/hook-form';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useEventActiveReleases from '@hooks/data/useEventActiveReleases';\nimport { fCurrency } from '@utils/formatNumber';\nimport { Iconify } from '@components/iconify';\nimport { groupBy } from '@utils/global';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport FeeBox from '@form/payment/FeeBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useResponsive from '@hooks/useResponsive';\nimport ReleaseExtraFields from '@form/extra-field/ReleaseExtraFields';\nimport { EventType } from '@utils/data/event';\nimport useGlobal from '@hooks/useGlobal.ts';\nimport { isEqual } from 'lodash';\n\ninterface Props {\n event: IEvent;\n}\n\nconst TicketSelection: React.FC<Props> = ({ event }) => {\n const { t, lang } = useGlobal();\n const isMobile = useResponsive('down', 'md');\n const { setValue, watch } = useFormContext<ITicketForm>();\n const tickets = useWatch({\n name: `tickets.${event.id}`,\n defaultValue: [],\n }) as ITicketFormTicket[];\n const eventTimeslotId = watch('eventTimeslotId');\n const [soldOutReleaseCategoryNames, setSoldOutReleaseCategoryNames] = useState<string[]>([]);\n const { data: activeReleases, mutate } = useEventActiveReleases(\n event.id,\n false,\n event.type === EventType.RECURRING ? eventTimeslotId : undefined\n );\n\n const showLoading = !activeReleases && event.type !== EventType.RECURRING;\n\n useEffect(() => {\n selectedTickets();\n }, [tickets]);\n\n const isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);\n\n const getRelease = (releaseId: number) => {\n const release = activeReleases?.find((activeRelease) => activeRelease.id === releaseId);\n return release ? release : null;\n };\n\n const getExtraFields = (releaseId: number | '', index: number) => {\n if (!releaseId) return null;\n\n const release = getRelease(releaseId);\n\n if (!release || !release?.extraFields || release?.extraFields.length <= 0) return null;\n\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n const countTickets = addedRelease?.quantity || 0;\n return (\n <ReleaseExtraFields\n release={release}\n eventId={event.id}\n releaseIndex={index}\n quantity={countTickets}\n />\n );\n };\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 countReleaseCategories = (): number => {\n const grouped = groupBy(activeReleases || [], 'releaseCategoryName');\n return Object.keys(grouped).length;\n };\n\n const selectedReleaseIsSoldOut = (releases: IReleaseShort[] | undefined) => {\n const lockedSelectedReleases: boolean[] | undefined = releases?.map((item, index) => {\n const nextRelease = releases?.find(\n (item2) =>\n item2.releaseCategoryName === item.releaseCategoryName && item2.order === item.order++\n );\n const selected = tickets.find((ticket) => ticket.releaseId === item.id);\n return !!nextRelease && item.locked && !!selected && index + 1 == tickets.length;\n });\n return lockedSelectedReleases && lockedSelectedReleases.includes(true);\n };\n\n const countUnlockedReleases = () => activeReleases?.filter((item) => !item.locked).length || 0;\n\n const countSelectedTickets = () => {\n let count = 0;\n for (const ticket of tickets) {\n count += +ticket.quantity;\n }\n\n return count;\n };\n\n const isQuantityDisabled = (value: number, releaseId: number | '') => {\n const releaseSelected = tickets.find((item) => item.releaseId === releaseId);\n return releaseSelected && releaseSelected.quantity\n ? countSelectedTickets() + value - releaseSelected.quantity > 10\n : countSelectedTickets() + value > 10;\n };\n\n const removeTicket = (indexToRemove: number) => {\n const activeReleases = tickets.filter((_ticket, index) => index !== indexToRemove);\n setValue(`tickets.${event.id}`, activeReleases);\n };\n\n const selectedTickets = async () => {\n const releases = await mutate();\n const allFilled = tickets.filter((item) => !item.releaseId || !item.quantity);\n\n const soldOutReleaseCategories = activeReleases?.filter((release) =>\n tickets.find(\n (ticket) =>\n release.id === ticket.releaseId &&\n ticket.quantity === release.availableTickets &&\n release.availableTickets !== 10\n )\n );\n setSoldOutReleaseCategoryNames(\n soldOutReleaseCategories?.map((item) => item.releaseCategoryName) || []\n );\n\n if (\n (soldOutReleaseCategories &&\n selectedReleaseIsSoldOut(releases) &&\n tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&\n !allFilled.length) ||\n (activeReleases &&\n soldOutReleaseCategories?.length &&\n activeReleases?.length > tickets.length &&\n tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&\n !allFilled.length) ||\n (tickets.length < countReleaseCategories() && !allFilled.length)\n ) {\n setValue(`tickets.${event.id}`, [\n ...tickets,\n {\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n },\n ]);\n }\n };\n\n return (\n <Stack spacing={3} direction=\"column\" divider={<Divider sx={{ borderStyle: 'dashed' }} />}>\n {tickets.map((item, index) => (\n <Box key={index}>\n <Grid container spacing={3}>\n <Grid item xs={12} md={6}>\n {showLoading ? (\n <Skeleton\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(7.5),\n }}\n />\n ) : (\n <RHFSelect\n name={`tickets.${event.id}.${index}.releaseId`}\n value={item.releaseId}\n label={\n index > 0\n ? t('form.labels.add_another_release')\n : t('form.labels.release_category_price')\n }\n maxHeight=\"calc(100vh - 2rem)\"\n onChange={(e) => {\n setValue(`tickets.${event.id}.${index}.releaseId`, Number(e.target.value));\n setValue(`tickets.${event.id}.${index}.extraFields`, []);\n }}\n >\n <MenuItem key={0} value=\"\">\n {t('choose')}\n </MenuItem>\n {activeReleases?.map((activeRelease) => (\n <MenuItem\n key={activeRelease.id}\n value={activeRelease.id}\n disabled={\n isReleaseSelected(activeRelease.id) ||\n (activeRelease.locked &&\n !soldOutReleaseCategoryNames.includes(activeRelease.releaseCategoryName))\n }\n >\n {activeRelease.releaseCategoryName} - {activeRelease.name}:{' '}\n {fCurrency(activeRelease.price, lang, event.currency)}\n </MenuItem>\n ))}\n </RHFSelect>\n )}\n </Grid>\n <Grid key={index} item xs={12} md={6}>\n {showLoading ? (\n <Skeleton\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(7.5),\n }}\n />\n ) : (\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <RHFSelect\n name={`tickets.${event.id}.${index}.quantity`}\n value={item.quantity}\n label={t('form.labels.quantity')}\n >\n {[...Array(getAvailableTicketsForRelease(item))].map((_, index2) => (\n <MenuItem\n key={index2}\n value={index2 + 1}\n disabled={isQuantityDisabled(index2 + 1, item.releaseId)}\n >\n {index2 + 1}\n </MenuItem>\n ))}\n {!item.releaseId && (\n <MenuItem disabled sx={{ textTransform: 'unset!important' }}>\n {t('event.tickets.stepper.1.quantity_select')}\n </MenuItem>\n )}\n </RHFSelect>\n {item.releaseId && item.quantity && (\n <Box>\n <IconButton color=\"primary\" onClick={() => removeTicket(index)}>\n <Iconify icon=\"carbon:trash-can\" />\n </IconButton>\n </Box>\n )}\n </Stack>\n )}\n </Grid>\n </Grid>\n {activeReleases && item.releaseId && (\n <Typography\n variant=\"caption\"\n content=\"div\"\n mt={2}\n mb={getRelease(item.releaseId)?.extraFields?.length ? 2 : 0}\n display=\"block\"\n >\n {getRelease(item.releaseId)?.description ?? ''}\n </Typography>\n )}\n {getExtraFields(item.releaseId, index)}\n </Box>\n ))}\n <Box>\n <Typography variant=\"caption\" component=\"div\" fontStyle=\"italic\" mb={2}>\n *{t('event.tickets.stepper.1.max_ticket_quantity')}\n </Typography>\n {isMobile && <FeeBox event={event} align=\"right\" />}\n </Box>\n </Stack>\n );\n};\n\nexport default TicketSelection;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TicketSelection.js","sources":["../../../src/form/TicketSelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport {\n Box,\n Divider,\n Grid,\n IconButton,\n MenuItem,\n Skeleton,\n Stack,\n Typography,\n} from '@mui/material';\nimport { RHFSelect } from '@components/hook-form';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useEventActiveReleases from '@hooks/data/useEventActiveReleases';\nimport { fCurrency } from '@utils/formatNumber';\nimport { Iconify } from '@components/iconify';\nimport { groupBy } from '@utils/global';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport FeeBox from '@form/payment/FeeBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useResponsive from '@hooks/useResponsive';\nimport ReleaseExtraFields from '@form/extra-field/ReleaseExtraFields';\nimport { EventType } from '@utils/data/event';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n event: IEvent;\n}\n\nconst TicketSelection: React.FC<Props> = ({ event }) => {\n const { t, lang } = useGlobal();\n const isMobile = useResponsive('down', 'md');\n const { setValue, watch } = useFormContext<ITicketForm>();\n const tickets = useWatch({\n name: `tickets.${event.id}`,\n defaultValue: [],\n }) as ITicketFormTicket[];\n const eventTimeslotId = watch('eventTimeslotId');\n const [soldOutReleaseCategoryNames, setSoldOutReleaseCategoryNames] = useState<string[]>([]);\n const { data: activeReleases, mutate } = useEventActiveReleases(\n event.id,\n false,\n event.type === EventType.RECURRING ? eventTimeslotId : undefined\n );\n\n const showLoading = !activeReleases && event.type !== EventType.RECURRING;\n\n useEffect(() => {\n selectedTickets();\n }, [tickets]);\n\n const isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);\n\n const getRelease = (releaseId: number) => {\n const release = activeReleases?.find((activeRelease) => activeRelease.id === releaseId);\n return release ? release : null;\n };\n\n const getExtraFields = (releaseId: number | '', index: number) => {\n if (!releaseId) return null;\n\n const release = getRelease(releaseId);\n\n if (!release || !release?.extraFields || release?.extraFields.length <= 0) return null;\n\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n const countTickets = addedRelease?.quantity || 0;\n return (\n <ReleaseExtraFields\n release={release}\n eventId={event.id}\n releaseIndex={index}\n quantity={countTickets}\n />\n );\n };\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 countReleaseCategories = (): number => {\n const grouped = groupBy(activeReleases || [], 'releaseCategoryName');\n return Object.keys(grouped).length;\n };\n\n const selectedReleaseIsSoldOut = (releases: IReleaseShort[] | undefined) => {\n const lockedSelectedReleases: boolean[] | undefined = releases?.map((item, index) => {\n const nextRelease = releases?.find(\n (item2) =>\n item2.releaseCategoryName === item.releaseCategoryName && item2.order === item.order++\n );\n const selected = tickets.find((ticket) => ticket.releaseId === item.id);\n return !!nextRelease && item.locked && !!selected && index + 1 == tickets.length;\n });\n return lockedSelectedReleases && lockedSelectedReleases.includes(true);\n };\n\n const countUnlockedReleases = () => activeReleases?.filter((item) => !item.locked).length || 0;\n\n const countSelectedTickets = () => {\n let count = 0;\n for (const ticket of tickets) {\n count += +ticket.quantity;\n }\n\n return count;\n };\n\n const isQuantityDisabled = (value: number, releaseId: number | '') => {\n const releaseSelected = tickets.find((item) => item.releaseId === releaseId);\n return releaseSelected && releaseSelected.quantity\n ? countSelectedTickets() + value - releaseSelected.quantity > 10\n : countSelectedTickets() + value > 10;\n };\n\n const removeTicket = (indexToRemove: number) => {\n const activeReleases = tickets.filter((_ticket, index) => index !== indexToRemove);\n setValue(`tickets.${event.id}`, activeReleases);\n };\n\n const selectedTickets = async () => {\n const releases = await mutate();\n const allFilled = tickets.filter((item) => !item.releaseId || !item.quantity);\n\n const soldOutReleaseCategories = activeReleases?.filter((release) =>\n tickets.find(\n (ticket) =>\n release.id === ticket.releaseId &&\n ticket.quantity === release.availableTickets &&\n release.availableTickets !== 10\n )\n );\n setSoldOutReleaseCategoryNames(\n soldOutReleaseCategories?.map((item) => item.releaseCategoryName) || []\n );\n\n if (\n (soldOutReleaseCategories &&\n selectedReleaseIsSoldOut(releases) &&\n tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&\n !allFilled.length) ||\n (activeReleases &&\n soldOutReleaseCategories?.length &&\n activeReleases?.length > tickets.length &&\n tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&\n !allFilled.length) ||\n (tickets.length < countReleaseCategories() && !allFilled.length)\n ) {\n setValue(`tickets.${event.id}`, [\n ...tickets,\n {\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n },\n ]);\n }\n };\n\n return (\n <Stack spacing={3} direction=\"column\" divider={<Divider sx={{ borderStyle: 'dashed' }} />}>\n {tickets.map((item, index) => (\n <Box key={index}>\n <Grid container spacing={3}>\n <Grid item xs={12} md={6}>\n {showLoading ? (\n <Skeleton\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(7.5),\n }}\n />\n ) : (\n <RHFSelect\n name={`tickets.${event.id}.${index}.releaseId`}\n value={item.releaseId}\n label={\n index > 0\n ? t('form.labels.add_another_release')\n : t('form.labels.release_category_price')\n }\n maxHeight=\"calc(100vh - 2rem)\"\n onChange={(e) => {\n setValue(`tickets.${event.id}.${index}.releaseId`, Number(e.target.value));\n setValue(`tickets.${event.id}.${index}.extraFields`, []);\n }}\n >\n <MenuItem key={0} value=\"\">\n {t('choose')}\n </MenuItem>\n {activeReleases?.map((activeRelease) => (\n <MenuItem\n key={activeRelease.id}\n value={activeRelease.id}\n disabled={\n isReleaseSelected(activeRelease.id) ||\n (activeRelease.locked &&\n !soldOutReleaseCategoryNames.includes(activeRelease.releaseCategoryName))\n }\n >\n {activeRelease.releaseCategoryName} - {activeRelease.name}:{' '}\n {fCurrency(activeRelease.price, lang, event.currency)}\n </MenuItem>\n ))}\n </RHFSelect>\n )}\n </Grid>\n <Grid key={index} item xs={12} md={6}>\n {showLoading ? (\n <Skeleton\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(7.5),\n }}\n />\n ) : (\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <RHFSelect\n name={`tickets.${event.id}.${index}.quantity`}\n value={item.quantity}\n label={t('form.labels.quantity')}\n >\n {[...Array(getAvailableTicketsForRelease(item))].map((_, index2) => (\n <MenuItem\n key={index2}\n value={index2 + 1}\n disabled={isQuantityDisabled(index2 + 1, item.releaseId)}\n >\n {index2 + 1}\n </MenuItem>\n ))}\n {!item.releaseId && (\n <MenuItem disabled sx={{ textTransform: 'unset!important' }}>\n {t('event.tickets.stepper.1.quantity_select')}\n </MenuItem>\n )}\n </RHFSelect>\n {item.releaseId && item.quantity && (\n <Box>\n <IconButton color=\"primary\" onClick={() => removeTicket(index)}>\n <Iconify icon=\"carbon:trash-can\" />\n </IconButton>\n </Box>\n )}\n </Stack>\n )}\n </Grid>\n </Grid>\n {activeReleases && item.releaseId && (\n <Typography\n variant=\"caption\"\n content=\"div\"\n mt={2}\n mb={getRelease(item.releaseId)?.extraFields?.length ? 2 : 0}\n display=\"block\"\n >\n {getRelease(item.releaseId)?.description ?? ''}\n </Typography>\n )}\n {getExtraFields(item.releaseId, index)}\n </Box>\n ))}\n <Box>\n <Typography variant=\"caption\" component=\"div\" fontStyle=\"italic\" mb={2}>\n *{t('event.tickets.stepper.1.max_ticket_quantity')}\n </Typography>\n {isMobile && <FeeBox event={event} align=\"right\" />}\n </Box>\n </Stack>\n );\n};\n\nexport default TicketSelection;\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import useSWR from 'swr';
|
|
|
2
2
|
import { getAllowedPaymentMethods } from '../../modules/order.js';
|
|
3
3
|
|
|
4
4
|
function useAllowedPaymentMethods(currency, eventId) {
|
|
5
|
-
const { data, error, mutate, isValidating } = useSWR(['allowed-payment-methods', currency, eventId], () => getAllowedPaymentMethods(currency), {
|
|
5
|
+
const { data, error, mutate, isValidating } = useSWR(['allowed-payment-methods', currency, eventId], () => getAllowedPaymentMethods(currency, eventId), {
|
|
6
6
|
revalidateOnMount: true,
|
|
7
7
|
});
|
|
8
8
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllowedPaymentMethods.js","sources":["../../../../src/hooks/data/useAllowedPaymentMethods.ts"],"sourcesContent":["import useSWR from 'swr';\nimport { getAllowedPaymentMethods } from '@modules/order';\nimport { Currencies } from '@utils/data/currency';\nimport { IPaymentMethod } from '@utils/types/payment-method.type';\n\nexport default function useAllowedPaymentMethods(currency: Currencies, eventId?: number) {\n const { data, error, mutate, isValidating } = useSWR<IPaymentMethod[]>(\n ['allowed-payment-methods', currency, eventId],\n () => getAllowedPaymentMethods(currency, eventId),\n {\n revalidateOnMount: true,\n }\n );\n\n return {\n data,\n error,\n mutate,\n isValidating,\n isLoading: !error && !data,\n };\n}\n"],"names":[],"mappings":";;;AAKc,SAAU,wBAAwB,CAAC,QAAoB,EAAE,OAAgB,EAAA;AACrF,IAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAClD,CAAC,yBAAyB,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC9C,MAAM,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"useAllowedPaymentMethods.js","sources":["../../../../src/hooks/data/useAllowedPaymentMethods.ts"],"sourcesContent":["import useSWR from 'swr';\nimport { getAllowedPaymentMethods } from '@modules/order';\nimport { Currencies } from '@utils/data/currency';\nimport { IPaymentMethod } from '@utils/types/payment-method.type';\n\nexport default function useAllowedPaymentMethods(currency: Currencies, eventId?: number) {\n const { data, error, mutate, isValidating } = useSWR<IPaymentMethod[]>(\n ['allowed-payment-methods', currency, eventId],\n () => getAllowedPaymentMethods(currency, eventId),\n {\n revalidateOnMount: true,\n }\n );\n\n return {\n data,\n error,\n mutate,\n isValidating,\n isLoading: !error && !data,\n };\n}\n"],"names":[],"mappings":";;;AAKc,SAAU,wBAAwB,CAAC,QAAoB,EAAE,OAAgB,EAAA;AACrF,IAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAClD,CAAC,yBAAyB,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC9C,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACjD;AACE,QAAA,iBAAiB,EAAE,IAAI;AACxB,KAAA,CACF;IAED,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,YAAY;AACZ,QAAA,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI;KAC3B;AACH;;;;"}
|
|
@@ -2,7 +2,7 @@ import api from '../utils/axios.js';
|
|
|
2
2
|
|
|
3
3
|
const postOrder = (data) => api.post('/v1/orders', data).then((res) => res.data.data);
|
|
4
4
|
const getAllowedPaymentMethods = (currency, eventId) => api
|
|
5
|
-
.get(`/v1/orders/allowed-payment-methods?currency=${currency}${''}`)
|
|
5
|
+
.get(`/v1/orders/allowed-payment-methods?currency=${currency}${eventId ? `&eventId=${eventId}` : ''}`)
|
|
6
6
|
.then((res) => res.data.data.data);
|
|
7
7
|
const postOrderPaid = (data) => api.post('/v1/orders/paid', data).then((res) => res.data.data);
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sources":["../../../src/modules/order.ts"],"sourcesContent":["import api from '@utils/axios';\nimport { ITicketBody } from '@utils/types/ticket.type';\nimport { IResponse } from '@utils/types/global.type';\nimport { IOrderCreate, IOrderPaid, IOrderPaidData } from '@utils/types/order.type';\nimport { Currencies } from '@utils/data/currency';\n\nexport const postOrder = (data: ITicketBody): Promise<IResponse<IOrderCreate>> =>\n api.post('/v1/orders', data).then((res) => res.data.data);\n\nexport const getAllowedPaymentMethods = (currency: Currencies, eventId?: number) =>\n api\n .get(\n `/v1/orders/allowed-payment-methods?currency=${currency}${\n eventId ? `&eventId=${eventId}` : ''\n }`\n )\n .then((res) => res.data.data.data);\n\nexport const postOrderPaid = (data: IOrderPaidData): Promise<IResponse<IOrderPaid>> =>\n api.post('/v1/orders/paid', data).then((res) => res.data.data);\n"],"names":[],"mappings":";;AAMO,MAAM,SAAS,GAAG,CAAC,IAAiB,KACzC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI;AAEnD,MAAM,wBAAwB,GAAG,CAAC,QAAoB,EAAE,OAAgB,KAC7E;AACG,KAAA,GAAG,CACF,CAAA,4CAAA,EAA+C,QAAQ,CAAA,
|
|
1
|
+
{"version":3,"file":"order.js","sources":["../../../src/modules/order.ts"],"sourcesContent":["import api from '@utils/axios';\nimport { ITicketBody } from '@utils/types/ticket.type';\nimport { IResponse } from '@utils/types/global.type';\nimport { IOrderCreate, IOrderPaid, IOrderPaidData } from '@utils/types/order.type';\nimport { Currencies } from '@utils/data/currency';\n\nexport const postOrder = (data: ITicketBody): Promise<IResponse<IOrderCreate>> =>\n api.post('/v1/orders', data).then((res) => res.data.data);\n\nexport const getAllowedPaymentMethods = (currency: Currencies, eventId?: number) =>\n api\n .get(\n `/v1/orders/allowed-payment-methods?currency=${currency}${\n eventId ? `&eventId=${eventId}` : ''\n }`\n )\n .then((res) => res.data.data.data);\n\nexport const postOrderPaid = (data: IOrderPaidData): Promise<IResponse<IOrderPaid>> =>\n api.post('/v1/orders/paid', data).then((res) => res.data.data);\n"],"names":[],"mappings":";;AAMO,MAAM,SAAS,GAAG,CAAC,IAAiB,KACzC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI;AAEnD,MAAM,wBAAwB,GAAG,CAAC,QAAoB,EAAE,OAAgB,KAC7E;AACG,KAAA,GAAG,CACF,CAAA,4CAAA,EAA+C,QAAQ,CAAA,EACrD,OAAO,GAAG,CAAA,SAAA,EAAY,OAAO,EAAE,GAAG,EACpC,EAAE;AAEH,KAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;AAE9B,MAAM,aAAa,GAAG,CAAC,IAAoB,KAChD,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.js","sources":["../../../../src/utils/data/order.ts"],"sourcesContent":["export enum OrderFeeType {\n FIXED = 'FIXED',\n PERCENTAGE = 'PERCENTAGE',\n}\n"],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC3B,CAAC,EAHW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;;;"}
|