@eventlook/sdk 1.4.48 → 1.4.49-beta.1
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/.env.example +1 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js +8 -0
- package/dist/cjs/_virtual/_commonjsHelpers.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/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/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.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/components/hook-form/FormProvider.js +2 -2
- package/dist/cjs/components/hook-form/FormProvider.js.map +1 -1
- package/dist/cjs/form/ChildEventDialog.js +3 -3
- package/dist/cjs/form/ChildEventDialog.js.map +1 -1
- package/dist/cjs/form/ContactPerson.js +1 -1
- package/dist/cjs/form/ContactPerson.js.map +1 -1
- package/dist/cjs/form/PaymentOverviewBox.js +47 -61
- package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
- package/dist/cjs/form/PaymentOverviewDrawer.js +157 -0
- package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -0
- package/dist/cjs/form/ReleaseWithMerchandise.js +57 -48
- package/dist/cjs/form/ReleaseWithMerchandise.js.map +1 -1
- package/dist/cjs/form/Shipping.js +21 -18
- package/dist/cjs/form/Shipping.js.map +1 -1
- package/dist/cjs/form/TicketForm.js +94 -33
- package/dist/cjs/form/TicketForm.js.map +1 -1
- package/dist/cjs/form/TicketQuantityControl.js +51 -0
- package/dist/cjs/form/TicketQuantityControl.js.map +1 -0
- package/dist/cjs/form/TicketSelection.js +5 -6
- package/dist/cjs/form/TicketSelection.js.map +1 -1
- package/dist/cjs/form/TicketSelectionMobile.js +98 -0
- package/dist/cjs/form/TicketSelectionMobile.js.map +1 -0
- package/dist/cjs/form/TicketWithMerchandiseSelection.js +3 -5
- package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +1 -1
- package/dist/cjs/form/index.js +1 -1
- package/dist/cjs/form/index.js.map +1 -1
- package/dist/cjs/form/merchandise/MerchandiseSelection.js +14 -0
- package/dist/cjs/form/merchandise/MerchandiseSelection.js.map +1 -0
- package/dist/cjs/form/merchandise/MerchandiseSlider.js +40 -0
- package/dist/cjs/form/merchandise/MerchandiseSlider.js.map +1 -0
- package/dist/cjs/form/merchendise/MerchandiseSelection.js +19 -0
- package/dist/cjs/form/merchendise/MerchandiseSelection.js.map +1 -0
- package/dist/cjs/form/merchendise/MerchandiseSlider.js +75 -0
- package/dist/cjs/form/merchendise/MerchandiseSlider.js.map +1 -0
- package/dist/cjs/form/payment/FeeBox.js +4 -16
- package/dist/cjs/form/payment/FeeBox.js.map +1 -1
- package/dist/cjs/form/payment/PaymentOverviewCheckbox.js +33 -28
- package/dist/cjs/form/payment/PaymentOverviewCheckbox.js.map +1 -1
- package/dist/cjs/form/product/ProductCard.js +139 -36
- package/dist/cjs/form/product/ProductCard.js.map +1 -1
- package/dist/cjs/form/product/ProductVariantsDialog.js +157 -96
- package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -1
- package/dist/cjs/form/services/index.js +133 -0
- package/dist/cjs/form/services/index.js.map +1 -0
- package/dist/cjs/form/style.js +7 -3
- package/dist/cjs/form/style.js.map +1 -1
- package/dist/cjs/form/tickets/ReleaseDescription.js +23 -0
- package/dist/cjs/form/tickets/ReleaseDescription.js.map +1 -0
- package/dist/cjs/form/tickets/ReleaseWithMerchandise.js +141 -0
- package/dist/cjs/form/tickets/ReleaseWithMerchandise.js.map +1 -0
- package/dist/cjs/form/tickets/TicketQuantityControl.js +52 -0
- package/dist/cjs/form/tickets/TicketQuantityControl.js.map +1 -0
- package/dist/cjs/form/tickets/TicketSelection.js +139 -0
- package/dist/cjs/form/tickets/TicketSelection.js.map +1 -0
- package/dist/cjs/form/tickets/TicketSelectionMap.js +73 -0
- package/dist/cjs/form/tickets/TicketSelectionMap.js.map +1 -0
- package/dist/cjs/form/tickets/TicketSelectionMobile.js +90 -0
- package/dist/cjs/form/tickets/TicketSelectionMobile.js.map +1 -0
- package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js +117 -0
- package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
- package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js +59 -0
- package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
- package/dist/cjs/hooks/useScrollToFirstError.js +64 -0
- package/dist/cjs/hooks/useScrollToFirstError.js.map +1 -0
- package/dist/cjs/locales/cs.js +18 -3
- package/dist/cjs/locales/cs.js.map +1 -1
- package/dist/cjs/locales/en.js +17 -2
- package/dist/cjs/locales/en.js.map +1 -1
- package/dist/cjs/locales/es.js +16 -1
- package/dist/cjs/locales/es.js.map +1 -1
- package/dist/cjs/locales/pl.js +16 -1
- package/dist/cjs/locales/pl.js.map +1 -1
- package/dist/cjs/locales/sk.js +17 -2
- package/dist/cjs/locales/sk.js.map +1 -1
- package/dist/cjs/locales/uk.js +16 -1
- package/dist/cjs/locales/uk.js.map +1 -1
- package/dist/cjs/utils/data/global.js +2 -0
- package/dist/cjs/utils/data/global.js.map +1 -1
- package/dist/esm/_virtual/_commonjsHelpers.js +6 -0
- package/dist/esm/_virtual/_commonjsHelpers.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/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/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.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/components/hook-form/FormProvider.js +2 -2
- package/dist/esm/components/hook-form/FormProvider.js.map +1 -1
- package/dist/esm/form/ChildEventDialog.js +3 -3
- package/dist/esm/form/ChildEventDialog.js.map +1 -1
- package/dist/esm/form/ContactPerson.js +1 -1
- package/dist/esm/form/ContactPerson.js.map +1 -1
- package/dist/esm/form/PaymentOverviewBox.js +48 -62
- package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
- package/dist/esm/form/PaymentOverviewDrawer.js +153 -0
- package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -0
- package/dist/esm/form/ReleaseWithMerchandise.js +58 -49
- package/dist/esm/form/ReleaseWithMerchandise.js.map +1 -1
- package/dist/esm/form/Shipping.js +21 -18
- package/dist/esm/form/Shipping.js.map +1 -1
- package/dist/esm/form/TicketForm.js +96 -35
- package/dist/esm/form/TicketForm.js.map +1 -1
- package/dist/esm/form/TicketQuantityControl.js +47 -0
- package/dist/esm/form/TicketQuantityControl.js.map +1 -0
- package/dist/esm/form/TicketSelection.js +5 -6
- package/dist/esm/form/TicketSelection.js.map +1 -1
- package/dist/esm/form/TicketSelectionMobile.js +94 -0
- package/dist/esm/form/TicketSelectionMobile.js.map +1 -0
- package/dist/esm/form/TicketWithMerchandiseSelection.js +4 -6
- package/dist/esm/form/TicketWithMerchandiseSelection.js.map +1 -1
- package/dist/esm/form/index.js +1 -1
- package/dist/esm/form/index.js.map +1 -1
- package/dist/esm/form/merchandise/MerchandiseSelection.js +10 -0
- package/dist/esm/form/merchandise/MerchandiseSelection.js.map +1 -0
- package/dist/esm/form/merchandise/MerchandiseSlider.js +36 -0
- package/dist/esm/form/merchandise/MerchandiseSlider.js.map +1 -0
- package/dist/esm/form/merchendise/MerchandiseSelection.js +15 -0
- package/dist/esm/form/merchendise/MerchandiseSelection.js.map +1 -0
- package/dist/esm/form/merchendise/MerchandiseSlider.js +71 -0
- package/dist/esm/form/merchendise/MerchandiseSlider.js.map +1 -0
- package/dist/esm/form/payment/FeeBox.js +5 -17
- package/dist/esm/form/payment/FeeBox.js.map +1 -1
- package/dist/esm/form/payment/PaymentOverviewCheckbox.js +35 -30
- package/dist/esm/form/payment/PaymentOverviewCheckbox.js.map +1 -1
- package/dist/esm/form/product/ProductCard.js +140 -37
- package/dist/esm/form/product/ProductCard.js.map +1 -1
- package/dist/esm/form/product/ProductVariantsDialog.js +159 -98
- package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -1
- package/dist/esm/form/services/index.js +129 -0
- package/dist/esm/form/services/index.js.map +1 -0
- package/dist/esm/form/style.js +7 -3
- package/dist/esm/form/style.js.map +1 -1
- package/dist/esm/form/tickets/ReleaseDescription.js +19 -0
- package/dist/esm/form/tickets/ReleaseDescription.js.map +1 -0
- package/dist/esm/form/tickets/ReleaseWithMerchandise.js +137 -0
- package/dist/esm/form/tickets/ReleaseWithMerchandise.js.map +1 -0
- package/dist/esm/form/tickets/TicketQuantityControl.js +48 -0
- package/dist/esm/form/tickets/TicketQuantityControl.js.map +1 -0
- package/dist/esm/form/tickets/TicketSelection.js +135 -0
- package/dist/esm/form/tickets/TicketSelection.js.map +1 -0
- package/dist/esm/form/tickets/TicketSelectionMap.js +69 -0
- package/dist/esm/form/tickets/TicketSelectionMap.js.map +1 -0
- package/dist/esm/form/tickets/TicketSelectionMobile.js +86 -0
- package/dist/esm/form/tickets/TicketSelectionMobile.js.map +1 -0
- package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js +113 -0
- package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
- package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js +55 -0
- package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
- package/dist/esm/hooks/useScrollToFirstError.js +60 -0
- package/dist/esm/hooks/useScrollToFirstError.js.map +1 -0
- package/dist/esm/locales/cs.js +18 -3
- package/dist/esm/locales/cs.js.map +1 -1
- package/dist/esm/locales/en.js +17 -2
- package/dist/esm/locales/en.js.map +1 -1
- package/dist/esm/locales/es.js +16 -1
- package/dist/esm/locales/es.js.map +1 -1
- package/dist/esm/locales/pl.js +16 -1
- package/dist/esm/locales/pl.js.map +1 -1
- package/dist/esm/locales/sk.js +17 -2
- package/dist/esm/locales/sk.js.map +1 -1
- package/dist/esm/locales/uk.js +16 -1
- package/dist/esm/locales/uk.js.map +1 -1
- package/dist/esm/utils/data/global.js +2 -1
- package/dist/esm/utils/data/global.js.map +1 -1
- package/dist/types/components/Image.d.ts +4 -4
- package/dist/types/form/PaymentOverviewDrawer.d.ts +8 -0
- package/dist/types/form/merchendise/MerchandiseSelection.d.ts +9 -0
- package/dist/types/form/merchendise/MerchandiseSlider.d.ts +10 -0
- package/dist/types/form/merchendise/MerchendiseSlider.d.ts +0 -0
- package/dist/types/form/style.d.ts +1 -1
- package/package.json +5 -1
- package/rollup.config.mjs +2 -0
- package/src/components/hook-form/FormProvider.tsx +5 -2
- package/src/form/ChildEventDialog.tsx +3 -3
- package/src/form/ContactPerson.tsx +1 -1
- package/src/form/PaymentOverviewBox.tsx +89 -122
- package/src/form/PaymentOverviewDrawer.tsx +238 -0
- package/src/form/Shipping.tsx +29 -17
- package/src/form/TicketForm.tsx +140 -39
- package/src/form/index.tsx +3 -1
- package/src/form/merchandise/MerchandiseSelection.tsx +24 -0
- package/src/form/merchandise/MerchandiseSlider.tsx +62 -0
- package/src/form/payment/FeeBox.tsx +4 -31
- package/src/form/payment/PaymentOverviewCheckbox.tsx +57 -56
- package/src/form/product/ProductCard.tsx +250 -59
- package/src/form/product/ProductVariantsDialog.tsx +253 -140
- package/src/form/services/index.tsx +263 -0
- package/src/form/style.ts +9 -3
- package/src/form/tickets/ReleaseDescription.tsx +46 -0
- package/src/form/tickets/ReleaseWithMerchandise.tsx +239 -0
- package/src/form/tickets/TicketQuantityControl.tsx +94 -0
- package/src/form/{TicketSelection.tsx → tickets/TicketSelection.tsx} +24 -128
- package/src/form/{TicketSelectionMap.tsx → tickets/TicketSelectionMap.tsx} +9 -1
- package/src/form/tickets/TicketSelectionMobile.tsx +177 -0
- package/src/form/{TicketWithMerchandiseSelection.tsx → tickets/TicketWithMerchandiseSelection.tsx} +3 -7
- package/src/hooks/useConsentScrollOnDrawerOpen.ts +73 -0
- package/src/hooks/useScrollToFirstError.ts +94 -0
- package/src/locales/cs.tsx +18 -3
- package/src/locales/en.tsx +17 -2
- package/src/locales/es.tsx +16 -1
- package/src/locales/pl.tsx +16 -1
- package/src/locales/sk.tsx +17 -2
- package/src/locales/uk.tsx +16 -1
- package/src/utils/data/global.ts +1 -0
- package/tsconfig.json +2 -1
- package/.claude/settings.local.json +0 -9
- package/src/form/MerchandiseSelection.tsx +0 -29
- package/src/form/ReleaseWithMerchandise.tsx +0 -230
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketSelectionMobile.js","sources":["../../../../src/form/tickets/TicketSelectionMobile.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Box, Skeleton, Stack, Typography, useTheme } from '@mui/material';\nimport { fCurrency } from '@utils/formatNumber';\nimport { IEvent } from '@utils/types/event.type';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport { ITicketFormTicket } from '@utils/types/ticket.type';\nimport useGlobal from '@hooks/useGlobal';\nimport ReleaseDescription from './ReleaseDescription';\nimport TicketQuantityControl from './TicketQuantityControl';\n\ninterface Props {\n event: IEvent;\n activeReleases?: IReleaseShort[];\n showLoading: boolean;\n soldOutReleaseCategoryNames: string[];\n tickets: ITicketFormTicket[];\n isQuantityDisabled: (value: number, releaseId: number | '') => boolean;\n setValue: (name: string, value: any) => void;\n removeTicket: (indexToRemove: number) => void;\n getExtraFields: (releaseId: number | '', index: number) => React.ReactNode;\n}\n\nconst TicketSelectionMobile: React.FC<Props> = ({\n event,\n activeReleases,\n showLoading,\n soldOutReleaseCategoryNames,\n tickets,\n isQuantityDisabled,\n setValue,\n removeTicket,\n getExtraFields,\n}) => {\n const { t, lang } = useGlobal();\n const [expandedReleaseIds, setExpandedReleaseIds] = useState<Record<number, boolean>>({});\n const theme = useTheme();\n const isLight = theme.palette.mode === 'light';\n\n const getReleaseTitle = (release: IReleaseShort) =>\n release.releaseCategoryName || release.name || '';\n\n const getTicketIndexByRelease = (releaseId: number) =>\n tickets.findIndex((ticket) => ticket.releaseId === releaseId);\n\n const getReleaseQuantity = (releaseId: number) => {\n const ticket = tickets.find((t) => t.releaseId === releaseId);\n return Number(ticket?.quantity || 0);\n };\n\n const updateReleaseQuantity = (release: IReleaseShort, nextQuantity: number) => {\n const maxAvailable = Math.min(release.availableTickets || 0, 10);\n const clampedQuantity = Math.max(0, Math.min(nextQuantity, maxAvailable));\n const ticketIndex = getTicketIndexByRelease(release.id);\n\n if (clampedQuantity <= 0) {\n if (ticketIndex >= 0) removeTicket(ticketIndex);\n return;\n }\n\n if (ticketIndex >= 0) {\n setValue(`tickets.${event.id}.${ticketIndex}.quantity`, clampedQuantity);\n return;\n }\n\n setValue(`tickets.${event.id}`, [\n ...tickets,\n {\n releaseId: release.id,\n quantity: clampedQuantity,\n itemName: getReleaseTitle(release),\n price: release.price || 0,\n products: [],\n extraFields: [],\n },\n ]);\n };\n\n const toggleReleaseDescription = (releaseId: number) =>\n setExpandedReleaseIds((prev) => ({\n ...prev,\n [releaseId]: !prev[releaseId],\n }));\n\n if (showLoading) {\n return (\n <Stack spacing={2}>\n {[...Array(2)].map((_, index) => (\n <Skeleton\n key={index}\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(12),\n }}\n />\n ))}\n </Stack>\n );\n }\n\n return (\n <Stack spacing={2}>\n {activeReleases?.map((release) => {\n const quantity = getReleaseQuantity(release.id);\n const ticketIndex = getTicketIndexByRelease(release.id);\n const maxAvailable = Math.min(release.availableTickets || 0, 10);\n const isLocked =\n release.locked && !soldOutReleaseCategoryNames.includes(release.releaseCategoryName);\n const isDisabled = isLocked && quantity === 0;\n const canAddFirst = maxAvailable > 0 && !isQuantityDisabled(1, release.id);\n const canAddMore = quantity < maxAvailable && !isQuantityDisabled(quantity + 1, release.id);\n\n return (\n <Box\n key={release.id}\n sx={{\n pt: 1,\n pr: 0.5,\n pb: 0.5,\n pl: 2,\n borderRadius: 1,\n bgcolor: (theme) => (isLight ? theme.palette.grey[100] : theme.palette.grey[800]),\n }}\n >\n <Stack spacing={0}>\n <Box>\n <Typography variant=\"subtitle2\" fontWeight={700}>\n {getReleaseTitle(release)}\n </Typography>\n </Box>\n\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Stack>\n <Typography variant=\"body2\">\n {release.price === 0\n ? t('free')\n : fCurrency(release.price, lang, event.currency)}\n </Typography>\n\n <ReleaseDescription\n description={release.description}\n isExpanded={Boolean(expandedReleaseIds[release.id])}\n onToggle={() => toggleReleaseDescription(release.id)}\n moreInfoLabel={t('more_info')}\n />\n </Stack>\n\n <TicketQuantityControl\n quantity={quantity}\n isDisabled={isDisabled}\n canAddFirst={canAddFirst}\n canAddMore={canAddMore}\n addLabel={t('add')}\n onDecrement={() => updateReleaseQuantity(release, quantity - 1)}\n onIncrement={() => updateReleaseQuantity(release, quantity + 1)}\n onAddFirst={() => updateReleaseQuantity(release, 1)}\n />\n </Stack>\n\n <ReleaseDescription\n description={release.description}\n isExpanded={Boolean(expandedReleaseIds[release.id])}\n onToggle={() => toggleReleaseDescription(release.id)}\n moreInfoLabel={t('more_info')}\n showCollapse\n />\n\n {ticketIndex >= 0 && getExtraFields(release.id, ticketIndex)}\n </Stack>\n </Box>\n );\n })}\n </Stack>\n );\n};\n\nexport default TicketSelectionMobile;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import React, { useRef, useEffect } from 'react';
|
|
2
|
+
import { useFormContext, useWatch } from 'react-hook-form';
|
|
3
|
+
import { Stack, Skeleton, Typography, Box } from '@mui/material';
|
|
4
|
+
import useEventActiveReleases from '../../hooks/data/useEventActiveReleases.js';
|
|
5
|
+
import { groupBy } from '../../utils/global.js';
|
|
6
|
+
import ReleaseWithMerchandise from './ReleaseWithMerchandise.js';
|
|
7
|
+
import { EventType } from '../../utils/data/event.js';
|
|
8
|
+
import useGlobal from '../../hooks/useGlobal.js';
|
|
9
|
+
|
|
10
|
+
const TicketWithMerchandiseSelection = ({ event }) => {
|
|
11
|
+
const { t } = useGlobal();
|
|
12
|
+
const { setValue, watch } = useFormContext();
|
|
13
|
+
const tickets = useWatch({ name: `tickets.${event.id}`, defaultValue: [] });
|
|
14
|
+
const eventTimeslotId = watch('eventTimeslotId');
|
|
15
|
+
const isProcessingRef = useRef(false);
|
|
16
|
+
const { data: activeReleases, mutate } = useEventActiveReleases(event.id, false, event.type === EventType.RECURRING ? eventTimeslotId : undefined);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (!isProcessingRef.current)
|
|
19
|
+
selectedTickets();
|
|
20
|
+
}, [tickets, activeReleases]);
|
|
21
|
+
const countReleaseCategories = () => {
|
|
22
|
+
const grouped = groupBy(activeReleases || [], 'releaseCategoryName');
|
|
23
|
+
return Object.keys(grouped).length;
|
|
24
|
+
};
|
|
25
|
+
const selectedReleaseIsSoldOut = (releases) => {
|
|
26
|
+
const lockedSelectedReleases = releases?.map((item, index) => {
|
|
27
|
+
const nextRelease = releases?.find((item2) => item2.releaseCategoryName === item.releaseCategoryName && item2.order === item.order + 1);
|
|
28
|
+
const selected = tickets.find((ticket) => ticket.releaseId === item.id);
|
|
29
|
+
return !!nextRelease && item.locked && !!selected && index + 1 == tickets.length;
|
|
30
|
+
});
|
|
31
|
+
return lockedSelectedReleases && lockedSelectedReleases.includes(true);
|
|
32
|
+
};
|
|
33
|
+
const countUnlockedReleases = () => activeReleases?.filter((item) => !item.locked).length || 0;
|
|
34
|
+
const isReleaseSelected = (id) => !!tickets.find((ticket) => ticket.releaseId === id);
|
|
35
|
+
const selectedTickets = async () => {
|
|
36
|
+
const releases = await mutate();
|
|
37
|
+
const allFilled = tickets.filter((item) => !item.releaseId || !item.quantity);
|
|
38
|
+
const soldOutReleaseCategories = activeReleases?.filter((release) => tickets.find((ticket) => release.id === ticket.releaseId &&
|
|
39
|
+
ticket.quantity === release.availableTickets &&
|
|
40
|
+
release.availableTickets !== 10));
|
|
41
|
+
// Unlock next releases when current release is sold out
|
|
42
|
+
if (soldOutReleaseCategories?.length && activeReleases) {
|
|
43
|
+
let hasChanges = false;
|
|
44
|
+
const updatedReleases = activeReleases.map((release) => {
|
|
45
|
+
// For each sold-out release, find and unlock the next one
|
|
46
|
+
const soldOutRelease = soldOutReleaseCategories.find((soldOut) => soldOut.releaseCategoryName === release.releaseCategoryName &&
|
|
47
|
+
soldOut.order === release.order - 1 &&
|
|
48
|
+
release.locked);
|
|
49
|
+
if (soldOutRelease) {
|
|
50
|
+
hasChanges = true;
|
|
51
|
+
return { ...release, locked: false };
|
|
52
|
+
}
|
|
53
|
+
return release;
|
|
54
|
+
});
|
|
55
|
+
if (hasChanges) {
|
|
56
|
+
await mutate(updatedReleases, false);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const hasSelectableRelease = activeReleases?.some((release) => !isReleaseSelected(release.id) && !release.locked);
|
|
60
|
+
const shouldAddRow = (soldOutReleaseCategories &&
|
|
61
|
+
selectedReleaseIsSoldOut(releases) &&
|
|
62
|
+
tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&
|
|
63
|
+
!allFilled.length) ||
|
|
64
|
+
(activeReleases &&
|
|
65
|
+
soldOutReleaseCategories?.length &&
|
|
66
|
+
activeReleases?.length > tickets.length &&
|
|
67
|
+
tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&
|
|
68
|
+
!allFilled.length) ||
|
|
69
|
+
(tickets.length < countReleaseCategories() && !allFilled.length);
|
|
70
|
+
const shouldRemoveEmptyRows = allFilled.length > 0 &&
|
|
71
|
+
tickets.length > 1 &&
|
|
72
|
+
!hasSelectableRelease &&
|
|
73
|
+
(!soldOutReleaseCategories?.length || !selectedReleaseIsSoldOut(releases));
|
|
74
|
+
if (shouldAddRow) {
|
|
75
|
+
isProcessingRef.current = true;
|
|
76
|
+
setValue(`tickets.${event.id}`, [
|
|
77
|
+
...tickets,
|
|
78
|
+
{
|
|
79
|
+
releaseId: '',
|
|
80
|
+
quantity: '',
|
|
81
|
+
itemName: '',
|
|
82
|
+
price: 0,
|
|
83
|
+
products: [],
|
|
84
|
+
extraFields: [],
|
|
85
|
+
},
|
|
86
|
+
]);
|
|
87
|
+
setTimeout(() => (isProcessingRef.current = false), 0);
|
|
88
|
+
}
|
|
89
|
+
else if (shouldRemoveEmptyRows) {
|
|
90
|
+
// Only remove completely empty rows (no releaseId), keep rows where user started selecting
|
|
91
|
+
const nonEmptyTickets = tickets.filter((item) => item.releaseId);
|
|
92
|
+
if (nonEmptyTickets.length < tickets.length) {
|
|
93
|
+
isProcessingRef.current = true;
|
|
94
|
+
setValue(`tickets.${event.id}`, nonEmptyTickets);
|
|
95
|
+
setTimeout(() => (isProcessingRef.current = false), 0);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
return (React.createElement(Stack, { spacing: 1, direction: "column" },
|
|
100
|
+
!activeReleases && event.type !== EventType.RECURRING ? (React.createElement(Skeleton, { variant: "rounded", sx: {
|
|
101
|
+
width: '100%',
|
|
102
|
+
height: (theme) => theme.spacing(7.5),
|
|
103
|
+
} })) : (activeReleases?.map((release, index) => (React.createElement(ReleaseWithMerchandise, { key: release.id, eventId: event.id, release: release, activeReleases: activeReleases, currency: event.currency, index: index })))),
|
|
104
|
+
!activeReleases && event.type === EventType.RECURRING && (React.createElement(Typography, { variant: "h5" }, t('event.tickets.stepper.1.select_timeslot'))),
|
|
105
|
+
!!activeReleases && !activeReleases.length && (React.createElement(Typography, { variant: "h5" }, t('event.tickets.stepper.1.no_tickets'))),
|
|
106
|
+
React.createElement(Box, null,
|
|
107
|
+
React.createElement(Typography, { variant: "caption", component: "div", fontStyle: "italic", mb: 2 },
|
|
108
|
+
"*",
|
|
109
|
+
t('event.tickets.stepper.1.max_ticket_quantity')))));
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export { TicketWithMerchandiseSelection as default };
|
|
113
|
+
//# sourceMappingURL=TicketWithMerchandiseSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketWithMerchandiseSelection.js","sources":["../../../../src/form/tickets/TicketWithMerchandiseSelection.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { Box, Skeleton, Stack, Typography } from '@mui/material';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport useEventActiveReleases from '@hooks/data/useEventActiveReleases';\nimport { groupBy } from '@utils/global';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport { IEvent } from '@utils/types/event.type';\nimport ReleaseWithMerchandise from '@form/tickets/ReleaseWithMerchandise';\nimport { EventType } from '@utils/data/event';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n event: IEvent;\n}\n\nconst TicketWithMerchandiseSelection: React.FC<Props> = ({ event }) => {\n const { t } = useGlobal();\n const { setValue, watch } = useFormContext<ITicketForm>();\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${event.id}`, defaultValue: [] });\n const eventTimeslotId = watch('eventTimeslotId');\n const isProcessingRef = useRef(false);\n const { data: activeReleases, mutate } = useEventActiveReleases(\n event.id,\n false,\n event.type === EventType.RECURRING ? eventTimeslotId : undefined\n );\n\n useEffect(() => {\n if (!isProcessingRef.current) selectedTickets();\n }, [tickets, activeReleases]);\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 + 1\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 isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);\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\n // Unlock next releases when current release is sold out\n if (soldOutReleaseCategories?.length && activeReleases) {\n let hasChanges = false;\n const updatedReleases = activeReleases.map((release) => {\n // For each sold-out release, find and unlock the next one\n const soldOutRelease = soldOutReleaseCategories.find(\n (soldOut) =>\n soldOut.releaseCategoryName === release.releaseCategoryName &&\n soldOut.order === release.order - 1 &&\n release.locked\n );\n if (soldOutRelease) {\n hasChanges = true;\n return { ...release, locked: false };\n }\n return release;\n });\n\n if (hasChanges) {\n await mutate(updatedReleases, false);\n }\n }\n\n const hasSelectableRelease = activeReleases?.some(\n (release) => !isReleaseSelected(release.id) && !release.locked\n );\n\n const shouldAddRow =\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 const shouldRemoveEmptyRows =\n allFilled.length > 0 &&\n tickets.length > 1 &&\n !hasSelectableRelease &&\n (!soldOutReleaseCategories?.length || !selectedReleaseIsSoldOut(releases));\n\n if (shouldAddRow) {\n isProcessingRef.current = true;\n setValue(`tickets.${event.id}`, [\n ...tickets,\n {\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n },\n ]);\n setTimeout(() => (isProcessingRef.current = false), 0);\n } else if (shouldRemoveEmptyRows) {\n // Only remove completely empty rows (no releaseId), keep rows where user started selecting\n const nonEmptyTickets = tickets.filter((item) => item.releaseId);\n if (nonEmptyTickets.length < tickets.length) {\n isProcessingRef.current = true;\n setValue(`tickets.${event.id}`, nonEmptyTickets);\n setTimeout(() => (isProcessingRef.current = false), 0);\n }\n }\n };\n\n return (\n <Stack spacing={1} direction=\"column\">\n {!activeReleases && event.type !== EventType.RECURRING ? (\n <Skeleton\n variant=\"rounded\"\n sx={{\n width: '100%',\n height: (theme) => theme.spacing(7.5),\n }}\n />\n ) : (\n activeReleases?.map((release, index) => (\n <ReleaseWithMerchandise\n key={release.id}\n eventId={event.id}\n release={release}\n activeReleases={activeReleases}\n currency={event.currency}\n index={index}\n />\n ))\n )}\n {!activeReleases && event.type === EventType.RECURRING && (\n <Typography variant=\"h5\">{t('event.tickets.stepper.1.select_timeslot')}</Typography>\n )}\n {!!activeReleases && !activeReleases.length && (\n <Typography variant=\"h5\">{t('event.tickets.stepper.1.no_tickets')}</Typography>\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 </Box>\n </Stack>\n );\n};\n\nexport default TicketWithMerchandiseSelection;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function useConsentScrollOnDrawerOpen({ isDrawerOpen, consentRef, }) {
|
|
4
|
+
const [isNearConsentSection, setIsNearConsentSection] = useState(false);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
const consentElement = consentRef.current;
|
|
7
|
+
if (!consentElement) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (!('IntersectionObserver' in window)) {
|
|
11
|
+
setIsNearConsentSection(true);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const observer = new IntersectionObserver((entries) => {
|
|
15
|
+
const entry = entries[0];
|
|
16
|
+
setIsNearConsentSection(entry.isIntersecting);
|
|
17
|
+
}, {
|
|
18
|
+
root: null,
|
|
19
|
+
threshold: 0,
|
|
20
|
+
rootMargin: '0px 0px 140px 0px',
|
|
21
|
+
});
|
|
22
|
+
observer.observe(consentElement);
|
|
23
|
+
return () => {
|
|
24
|
+
observer.disconnect();
|
|
25
|
+
};
|
|
26
|
+
}, [consentRef]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!isDrawerOpen) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (window.matchMedia('(min-width:900px)').matches) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!isNearConsentSection) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let frameId = 0;
|
|
38
|
+
let frameId2 = 0;
|
|
39
|
+
frameId = window.requestAnimationFrame(() => {
|
|
40
|
+
frameId2 = window.requestAnimationFrame(() => {
|
|
41
|
+
consentRef.current?.scrollIntoView({
|
|
42
|
+
behavior: 'smooth',
|
|
43
|
+
block: 'center',
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
return () => {
|
|
48
|
+
window.cancelAnimationFrame(frameId);
|
|
49
|
+
window.cancelAnimationFrame(frameId2);
|
|
50
|
+
};
|
|
51
|
+
}, [consentRef, isDrawerOpen, isNearConsentSection]);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { useConsentScrollOnDrawerOpen as default };
|
|
55
|
+
//# sourceMappingURL=useConsentScrollOnDrawerOpen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConsentScrollOnDrawerOpen.js","sources":["../../../src/hooks/useConsentScrollOnDrawerOpen.ts"],"sourcesContent":["import { RefObject, useEffect, useState } from 'react';\n\ninterface UseConsentScrollOnDrawerOpenProps {\n isDrawerOpen: boolean;\n consentRef: RefObject<HTMLElement | null>;\n}\n\nexport default function useConsentScrollOnDrawerOpen({\n isDrawerOpen,\n consentRef,\n}: UseConsentScrollOnDrawerOpenProps) {\n const [isNearConsentSection, setIsNearConsentSection] = useState(false);\n\n useEffect(() => {\n const consentElement = consentRef.current;\n if (!consentElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n setIsNearConsentSection(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n setIsNearConsentSection(entry.isIntersecting);\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px 140px 0px',\n }\n );\n\n observer.observe(consentElement);\n\n return () => {\n observer.disconnect();\n };\n }, [consentRef]);\n\n useEffect(() => {\n if (!isDrawerOpen) {\n return;\n }\n\n if (window.matchMedia('(min-width:900px)').matches) {\n return;\n }\n\n if (!isNearConsentSection) {\n return;\n }\n\n let frameId = 0;\n let frameId2 = 0;\n frameId = window.requestAnimationFrame(() => {\n frameId2 = window.requestAnimationFrame(() => {\n consentRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n });\n });\n });\n\n return () => {\n window.cancelAnimationFrame(frameId);\n window.cancelAnimationFrame(frameId2);\n };\n }, [consentRef, isDrawerOpen, isNearConsentSection]);\n}\n"],"names":[],"mappings":";;AAOc,SAAU,4BAA4B,CAAC,EACnD,YAAY,EACZ,UAAU,GACwB,EAAA;IAClC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEvE,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO;QACzC,IAAI,CAAC,cAAc,EAAE;YACnB;;AAGF,QAAA,IAAI,EAAE,sBAAsB,IAAI,MAAM,CAAC,EAAE;YACvC,uBAAuB,CAAC,IAAI,CAAC;YAC7B;;QAGF,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,CAAC,OAAO,KAAI;AACV,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AACxB,YAAA,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC;AAC/C,SAAC,EACD;AACE,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,UAAU,EAAE,mBAAmB;AAChC,SAAA,CACF;AAED,QAAA,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;AAEhC,QAAA,OAAO,MAAK;YACV,QAAQ,CAAC,UAAU,EAAE;AACvB,SAAC;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAEhB,SAAS,CAAC,MAAK;QACb,IAAI,CAAC,YAAY,EAAE;YACjB;;QAGF,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE;YAClD;;QAGF,IAAI,CAAC,oBAAoB,EAAE;YACzB;;QAGF,IAAI,OAAO,GAAG,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC;AAChB,QAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAK;AAC1C,YAAA,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAK;AAC3C,gBAAA,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC;AACjC,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA,CAAC;AACJ,aAAC,CAAC;AACJ,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC;AACpC,YAAA,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC;AACvC,SAAC;KACF,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;AACtD;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
const isFieldError = (value) => !!value && typeof value === 'object' && ('type' in value || 'message' in value);
|
|
4
|
+
const getFirstError = (errors, parentPath = '') => {
|
|
5
|
+
for (const [key, value] of Object.entries(errors)) {
|
|
6
|
+
if (!value) {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
const fieldPath = parentPath ? `${parentPath}.${key}` : key;
|
|
10
|
+
if (isFieldError(value)) {
|
|
11
|
+
return {
|
|
12
|
+
name: fieldPath,
|
|
13
|
+
ref: value.ref instanceof HTMLElement ? value.ref : null,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
for (let index = 0; index < value.length; index++) {
|
|
18
|
+
const nestedError = value[index];
|
|
19
|
+
if (!nestedError) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const firstNestedError = getFirstError(nestedError, parentPath ? `${parentPath}.${key}.${index}` : `${key}.${index}`);
|
|
23
|
+
if (firstNestedError) {
|
|
24
|
+
return firstNestedError;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (typeof value === 'object') {
|
|
29
|
+
const firstNestedError = getFirstError(value, fieldPath);
|
|
30
|
+
if (firstNestedError) {
|
|
31
|
+
return firstNestedError;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
};
|
|
37
|
+
const escapeSelectorValue = (value) => {
|
|
38
|
+
if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
|
|
39
|
+
return CSS.escape(value);
|
|
40
|
+
}
|
|
41
|
+
return value.replace(/"/g, '\\"');
|
|
42
|
+
};
|
|
43
|
+
function useScrollToFirstError(methods) {
|
|
44
|
+
return useCallback((errors) => {
|
|
45
|
+
const firstError = getFirstError(errors);
|
|
46
|
+
if (!firstError) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
methods.setFocus(firstError.name);
|
|
50
|
+
const scrollTarget = firstError.ref ||
|
|
51
|
+
document.querySelector(`[name="${escapeSelectorValue(String(firstError.name))}"]`);
|
|
52
|
+
scrollTarget?.scrollIntoView({
|
|
53
|
+
behavior: 'smooth',
|
|
54
|
+
block: 'center',
|
|
55
|
+
});
|
|
56
|
+
}, [methods]);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export { useScrollToFirstError as default };
|
|
60
|
+
//# sourceMappingURL=useScrollToFirstError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollToFirstError.js","sources":["../../../src/hooks/useScrollToFirstError.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { FieldError, FieldErrors, FieldValues, Path, UseFormReturn } from 'react-hook-form';\n\ntype FirstError<T extends FieldValues> = {\n name: Path<T>;\n ref?: HTMLElement | null;\n};\n\nconst isFieldError = (value: unknown): value is FieldError =>\n !!value && typeof value === 'object' && ('type' in value || 'message' in value);\n\nconst getFirstError = <T extends FieldValues>(\n errors: FieldErrors<T>,\n parentPath = ''\n): FirstError<T> | null => {\n for (const [key, value] of Object.entries(errors)) {\n if (!value) {\n continue;\n }\n\n const fieldPath = parentPath ? `${parentPath}.${key}` : key;\n\n if (isFieldError(value)) {\n return {\n name: fieldPath as Path<T>,\n ref: value.ref instanceof HTMLElement ? value.ref : null,\n };\n }\n\n if (Array.isArray(value)) {\n for (let index = 0; index < value.length; index++) {\n const nestedError = value[index] as FieldErrors<T> | undefined;\n if (!nestedError) {\n continue;\n }\n\n const firstNestedError = getFirstError(\n nestedError,\n parentPath ? `${parentPath}.${key}.${index}` : `${key}.${index}`\n );\n if (firstNestedError) {\n return firstNestedError;\n }\n }\n } else if (typeof value === 'object') {\n const firstNestedError = getFirstError(value as FieldErrors<T>, fieldPath);\n if (firstNestedError) {\n return firstNestedError;\n }\n }\n }\n\n return null;\n};\n\nconst escapeSelectorValue = (value: string) => {\n if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {\n return CSS.escape(value);\n }\n\n return value.replace(/\"/g, '\\\\\"');\n};\n\ntype ScrollToFirstErrorMethods<T extends FieldValues> = Pick<\n UseFormReturn<T, any, any>,\n 'setFocus'\n>;\n\nexport default function useScrollToFirstError<T extends FieldValues>(\n methods: ScrollToFirstErrorMethods<T>\n) {\n return useCallback(\n (errors: FieldErrors<T>) => {\n const firstError = getFirstError(errors);\n if (!firstError) {\n return;\n }\n\n methods.setFocus(firstError.name);\n\n const scrollTarget =\n firstError.ref ||\n document.querySelector<HTMLElement>(\n `[name=\"${escapeSelectorValue(String(firstError.name))}\"]`\n );\n\n scrollTarget?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n });\n },\n [methods]\n );\n}\n"],"names":[],"mappings":";;AAQA,MAAM,YAAY,GAAG,CAAC,KAAc,KAClC,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,KAAK,MAAM,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC;AAEjF,MAAM,aAAa,GAAG,CACpB,MAAsB,EACtB,UAAU,GAAG,EAAE,KACS;AACxB,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,CAAC,KAAK,EAAE;YACV;;AAGF,QAAA,MAAM,SAAS,GAAG,UAAU,GAAG,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,GAAG,GAAG;AAE3D,QAAA,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;YACvB,OAAO;AACL,gBAAA,IAAI,EAAE,SAAoB;AAC1B,gBAAA,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI;aACzD;;AAGH,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACjD,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAA+B;gBAC9D,IAAI,CAAC,WAAW,EAAE;oBAChB;;gBAGF,MAAM,gBAAgB,GAAG,aAAa,CACpC,WAAW,EACX,UAAU,GAAG,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,GAAG,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CACjE;gBACD,IAAI,gBAAgB,EAAE;AACpB,oBAAA,OAAO,gBAAgB;;;;AAGtB,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAuB,EAAE,SAAS,CAAC;YAC1E,IAAI,gBAAgB,EAAE;AACpB,gBAAA,OAAO,gBAAgB;;;;AAK7B,IAAA,OAAO,IAAI;AACb,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAa,KAAI;AAC5C,IAAA,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;AAClE,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;;IAG1B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,CAAC;AAOa,SAAU,qBAAqB,CAC3C,OAAqC,EAAA;AAErC,IAAA,OAAO,WAAW,CAChB,CAAC,MAAsB,KAAI;AACzB,QAAA,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE;YACf;;AAGF,QAAA,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AAEjC,QAAA,MAAM,YAAY,GAChB,UAAU,CAAC,GAAG;AACd,YAAA,QAAQ,CAAC,aAAa,CACpB,CAAA,OAAA,EAAU,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA,EAAA,CAAI,CAC3D;QAEH,YAAY,EAAE,cAAc,CAAC;AAC3B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,KAAK,EAAE,QAAQ;AAChB,SAAA,CAAC;AACJ,KAAC,EACD,CAAC,OAAO,CAAC,CACV;AACH;;;;"}
|
package/dist/esm/locales/cs.js
CHANGED
|
@@ -7,6 +7,8 @@ const cs = {
|
|
|
7
7
|
add: 'Přidat',
|
|
8
8
|
confirm: 'Potvrdit',
|
|
9
9
|
cancel: 'Zrušit',
|
|
10
|
+
close: 'Zavřít',
|
|
11
|
+
remove: 'Odstranit',
|
|
10
12
|
pay: 'Zaplatit',
|
|
11
13
|
change: 'Změnit',
|
|
12
14
|
free: 'Zdarma',
|
|
@@ -39,7 +41,7 @@ const cs = {
|
|
|
39
41
|
promo_code: 'Slevový kód',
|
|
40
42
|
start_date: 'Datum konání',
|
|
41
43
|
organizer: 'Pořadatel',
|
|
42
|
-
total: 'Celkem
|
|
44
|
+
total: 'Celkem',
|
|
43
45
|
with_fee: 'vč. servisního poplatku',
|
|
44
46
|
service_fee: 'Servisní poplatek',
|
|
45
47
|
shipping_fee: 'Doprava',
|
|
@@ -52,6 +54,8 @@ const cs = {
|
|
|
52
54
|
category: 'Kategorie',
|
|
53
55
|
sms_notification: 'SMS notifikace',
|
|
54
56
|
open_map: 'Otevřít mapu',
|
|
57
|
+
payment_overview_open: 'Otevřít přehled platby',
|
|
58
|
+
payment_overview_close: 'Zavřít přehled platby',
|
|
55
59
|
},
|
|
56
60
|
validation: {
|
|
57
61
|
required: 'Toto pole je povinné.',
|
|
@@ -102,8 +106,12 @@ const cs = {
|
|
|
102
106
|
7: {
|
|
103
107
|
title: 'Přidružené eventy',
|
|
104
108
|
},
|
|
109
|
+
8: {
|
|
110
|
+
title: 'EventLook služby',
|
|
111
|
+
additional_info: 'Více informací ke službám',
|
|
112
|
+
},
|
|
105
113
|
},
|
|
106
|
-
terms_and_conditions: '
|
|
114
|
+
terms_and_conditions: 'Souhlasím s <0>Obchodními podmínkami</0> {{termsAndConditionsCompanies}} a <1>Zásady soukromí</1>.',
|
|
107
115
|
insurance: {
|
|
108
116
|
label: 'Pojištění vstupenek',
|
|
109
117
|
per_ticket: 'ks',
|
|
@@ -114,12 +122,19 @@ const cs = {
|
|
|
114
122
|
},
|
|
115
123
|
},
|
|
116
124
|
sms_notification: {
|
|
117
|
-
label: 'SMS připomenutí termínu
|
|
125
|
+
label: 'SMS připomenutí termínu',
|
|
118
126
|
modal: {
|
|
119
127
|
description: 'Připomínka akce den předem: SMS vás upozorní na blížící se událost, abyste na ni nezapomněli a stihli se včas připravit.',
|
|
120
128
|
price: 'Cena SMS připomenutí termínu akce',
|
|
121
129
|
},
|
|
122
130
|
},
|
|
131
|
+
merchandise: {
|
|
132
|
+
show_sizes: 'Zobrazit velikosti',
|
|
133
|
+
show_added: 'Zobrazit přidané',
|
|
134
|
+
},
|
|
135
|
+
services: {
|
|
136
|
+
add_tickets_first: 'Nejdříve prosím přidejte vstupenky',
|
|
137
|
+
},
|
|
123
138
|
order_success: {
|
|
124
139
|
title: 'Vstupenky byly úspěšně zarezervovány. Teď už zbývá jenom zaplatit.',
|
|
125
140
|
description: 'Odpočet běží {{countdown}}. Pokud k přesměrování nedojde automaticky, klikněte na tlačítko Zaplatit níže.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cs.js","sources":["../../../src/locales/cs.tsx"],"sourcesContent":["const cs = {\n and: 'a',\n choose: 'Vyberte',\n apply: 'Použít',\n buy: 'Zakoupit',\n verify: 'Ověřit',\n add: 'Přidat',\n confirm: 'Potvrdit',\n cancel: 'Zrušit',\n pay: 'Zaplatit',\n change: 'Změnit',\n free: 'Zdarma',\n back_to_tickets: 'Zpět na vstupenky',\n unselected: 'Nevybráno',\n go_home: 'Přejít na úvodní stránku',\n apple_wallet: 'Stáhnout do Apple Wallet',\n google_wallet: 'Stáhnout do Google Wallet',\n more_info: 'Více informací',\n shipping_method: {\n types: {\n PACKETA: 'Zásilkovna',\n PICK_UP: 'Vyzvednutí na místě',\n },\n },\n form: {\n labels: {\n release_category_price: 'Kategorie vstupenek a cena',\n add_another_release: 'Přidat další kategorii',\n quantity: 'Počet',\n first_name: 'Jméno',\n last_name: 'Příjmení',\n email: 'E-mailová adresa',\n phone: 'Telefon',\n birthdate: 'Datum narození',\n gender: 'Pohlaví',\n male: 'Muž',\n female: 'Žena',\n other: 'Jiné',\n promo_code: 'Slevový kód',\n start_date: 'Datum konání',\n organizer: 'Pořadatel',\n total: 'Celkem ',\n with_fee: 'vč. servisního poplatku',\n service_fee: 'Servisní poplatek',\n shipping_fee: 'Doprava',\n ticket_insurance: 'Pojištění vstupenek',\n price_including_service_fee: 'Cena zahrnuje servisní poplatek v hodnotě {{fee}}.',\n price_including_service_fee_percentage:\n 'Cena zahrnuje servisní poplatek v výši {{percentage}} z celkové částky.',\n terms_and_conditions: 'Souhlasím se zpracováním osobních údajů',\n original_price: 'Původní cena',\n ticket: 'Vstupenka',\n category: 'Kategorie',\n sms_notification: 'SMS notifikace',\n open_map: 'Otevřít mapu',\n },\n validation: {\n required: 'Toto pole je povinné.',\n email: 'E-mail musí být validní E-mailová adresa.',\n phone: 'Telefon není validní.',\n invalid_date: 'Datum není platné.',\n terms_and_conditions: 'Musíte souhlasit s obchodními podmínkami.',\n promo_code_invalid: 'Slevový kód není platný.',\n promo_code_applied: 'Tento slevový kód již byl použit.',\n promo_code_cant_combine: 'Tento slevový kód nelze kombinovat s jinými kódy.',\n min_purchase_not_met: 'Minimální částka nákupu nebyla dosažena: ',\n count_tickets_or_products: 'Musíte vybrat alespoň 1 vstupenku nebo produkt.',\n },\n },\n event: {\n tickets: {\n title: 'Vstupenky',\n error: {\n order: 'Objednávku se nepodařilo dokončit. Zkuste to prosím znovu.',\n },\n stepper: {\n 1: {\n title: 'Výběr vstupenek',\n reserve: 'vstupenky máte zarezervované ještě na {{minutes}}:{{seconds}}',\n quantity_select: 'Nejdříve musíte vybrat kategorii',\n max_ticket_quantity:\n 'Je povoleno zakoupit až 10 vstupenek na jednu osobu, s možností volby z různých kategorií.',\n no_tickets: 'Pro tuto událost nejsou k dispozici žádné vstupenky.',\n select_timeslot: 'Nejdříve musíte vybrat časový slot',\n },\n 2: {\n title: 'Kontaktní osoba',\n },\n 3: {\n title: 'Způsoby platby',\n title_verify: 'Způsoby ověření',\n subtitle: 'Platební metody',\n },\n 4: {\n title: 'Produkty',\n },\n 5: {\n title: 'Způsob dopravy',\n error:\n 'Pro tuto kombinaci produktů nejsou k dispozici žádné způsoby dopravy. Zkuste jinou kombinaci.',\n },\n 6: {\n title: 'Výběr časového slotu',\n },\n 7: {\n title: 'Přidružené eventy',\n },\n },\n terms_and_conditions:\n 'Odesláním objednávky souhlasím s <0>Obchodními podmínkami</0> {{termsAndConditionsCompanies}} a beru na vědomí <1>Zásady soukromí</1>.',\n insurance: {\n label: 'Pojištění vstupenek',\n per_ticket: 'ks',\n modal: {\n description:\n 'Pojištění vstupenek Vám poskytuje ochranu v případě, že se nebudete moci zúčastnit akce z důvodu nemoci, úrazu nebo jiných nepředvídatelných událostí.',\n coverage:\n 'Pojištění pokrývá: nemoc, úraz, náhlá hospitalizace, karanténa nebo jiné nepředvídatelné události, které Vám zabrání v účasti na akci.',\n price: 'Cena pojištění',\n },\n },\n sms_notification: {\n label: 'SMS připomenutí termínu akce',\n modal: {\n description:\n 'Připomínka akce den předem: SMS vás upozorní na blížící se událost, abyste na ni nezapomněli a stihli se včas připravit.',\n price: 'Cena SMS připomenutí termínu akce',\n },\n },\n order_success: {\n title: 'Vstupenky byly úspěšně zarezervovány. Teď už zbývá jenom zaplatit.',\n description:\n 'Odpočet běží {{countdown}}. Pokud k přesměrování nedojde automaticky, klikněte na tlačítko Zaplatit níže.',\n },\n payment_success: {\n loading: 'Zpracováváme platbu. Ještě chvilku strpení... ⏳',\n paid: {\n status: 'Vaše platba byla schválena!',\n title: 'Děkujeme za <br/> Váš nákup!',\n subtitle:\n 'Na E-mail jsme Vám zaslali vstupenky. V případě problémů nás neváhejte kontaktovat.',\n tickets: 'Vaše vstupenky',\n button: 'Stáhnout vstupenku',\n products: 'Vaše produkty',\n },\n unpaid: 'Platba neproběhla',\n unpaid_description: 'Zkuste to prosím znovu kliknutím na tlačítko Zaplatit.',\n },\n payment_pending: 'Kontaktuji poskytovatele bankovních služeb...',\n email_confirmation: {\n title: 'Zkontrolujte prosím Vaši e-mailovou adresu, na kterou Vám zašleme vstupenky.',\n description: '',\n },\n release_countdown: {\n title: 'Předprodej již brzy!',\n countdown:\n '{{days}}d<span>:</span>{{hours}}h<span>:</span>{{minutes}}m<span>:</span>{{seconds}}s',\n },\n },\n },\n components: {\n product_variant_dialog: {\n select_variant: 'Musíte vybrat variantu produktu.',\n },\n },\n};\n\nexport default cs;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cs.js","sources":["../../../src/locales/cs.tsx"],"sourcesContent":["const cs = {\n and: 'a',\n choose: 'Vyberte',\n apply: 'Použít',\n buy: 'Zakoupit',\n verify: 'Ověřit',\n add: 'Přidat',\n confirm: 'Potvrdit',\n cancel: 'Zrušit',\n close: 'Zavřít',\n remove: 'Odstranit',\n pay: 'Zaplatit',\n change: 'Změnit',\n free: 'Zdarma',\n back_to_tickets: 'Zpět na vstupenky',\n unselected: 'Nevybráno',\n go_home: 'Přejít na úvodní stránku',\n apple_wallet: 'Stáhnout do Apple Wallet',\n google_wallet: 'Stáhnout do Google Wallet',\n more_info: 'Více informací',\n shipping_method: {\n types: {\n PACKETA: 'Zásilkovna',\n PICK_UP: 'Vyzvednutí na místě',\n },\n },\n form: {\n labels: {\n release_category_price: 'Kategorie vstupenek a cena',\n add_another_release: 'Přidat další kategorii',\n quantity: 'Počet',\n first_name: 'Jméno',\n last_name: 'Příjmení',\n email: 'E-mailová adresa',\n phone: 'Telefon',\n birthdate: 'Datum narození',\n gender: 'Pohlaví',\n male: 'Muž',\n female: 'Žena',\n other: 'Jiné',\n promo_code: 'Slevový kód',\n start_date: 'Datum konání',\n organizer: 'Pořadatel',\n total: 'Celkem',\n with_fee: 'vč. servisního poplatku',\n service_fee: 'Servisní poplatek',\n shipping_fee: 'Doprava',\n ticket_insurance: 'Pojištění vstupenek',\n price_including_service_fee: 'Cena zahrnuje servisní poplatek v hodnotě {{fee}}.',\n price_including_service_fee_percentage:\n 'Cena zahrnuje servisní poplatek v výši {{percentage}} z celkové částky.',\n terms_and_conditions: 'Souhlasím se zpracováním osobních údajů',\n original_price: 'Původní cena',\n ticket: 'Vstupenka',\n category: 'Kategorie',\n sms_notification: 'SMS notifikace',\n open_map: 'Otevřít mapu',\n payment_overview_open: 'Otevřít přehled platby',\n payment_overview_close: 'Zavřít přehled platby',\n },\n validation: {\n required: 'Toto pole je povinné.',\n email: 'E-mail musí být validní E-mailová adresa.',\n phone: 'Telefon není validní.',\n invalid_date: 'Datum není platné.',\n terms_and_conditions: 'Musíte souhlasit s obchodními podmínkami.',\n promo_code_invalid: 'Slevový kód není platný.',\n promo_code_applied: 'Tento slevový kód již byl použit.',\n promo_code_cant_combine: 'Tento slevový kód nelze kombinovat s jinými kódy.',\n min_purchase_not_met: 'Minimální částka nákupu nebyla dosažena: ',\n count_tickets_or_products: 'Musíte vybrat alespoň 1 vstupenku nebo produkt.',\n },\n },\n event: {\n tickets: {\n title: 'Vstupenky',\n error: {\n order: 'Objednávku se nepodařilo dokončit. Zkuste to prosím znovu.',\n },\n stepper: {\n 1: {\n title: 'Výběr vstupenek',\n reserve: 'vstupenky máte zarezervované ještě na {{minutes}}:{{seconds}}',\n quantity_select: 'Nejdříve musíte vybrat kategorii',\n max_ticket_quantity:\n 'Je povoleno zakoupit až 10 vstupenek na jednu osobu, s možností volby z různých kategorií.',\n no_tickets: 'Pro tuto událost nejsou k dispozici žádné vstupenky.',\n select_timeslot: 'Nejdříve musíte vybrat časový slot',\n },\n 2: {\n title: 'Kontaktní osoba',\n },\n 3: {\n title: 'Způsoby platby',\n title_verify: 'Způsoby ověření',\n subtitle: 'Platební metody',\n },\n 4: {\n title: 'Produkty',\n },\n 5: {\n title: 'Způsob dopravy',\n error:\n 'Pro tuto kombinaci produktů nejsou k dispozici žádné způsoby dopravy. Zkuste jinou kombinaci.',\n },\n 6: {\n title: 'Výběr časového slotu',\n },\n 7: {\n title: 'Přidružené eventy',\n },\n 8: {\n title: 'EventLook služby',\n additional_info: 'Více informací ke službám',\n },\n },\n terms_and_conditions:\n 'Souhlasím s <0>Obchodními podmínkami</0> {{termsAndConditionsCompanies}} a <1>Zásady soukromí</1>.',\n insurance: {\n label: 'Pojištění vstupenek',\n per_ticket: 'ks',\n modal: {\n description:\n 'Pojištění vstupenek Vám poskytuje ochranu v případě, že se nebudete moci zúčastnit akce z důvodu nemoci, úrazu nebo jiných nepředvídatelných událostí.',\n coverage:\n 'Pojištění pokrývá: nemoc, úraz, náhlá hospitalizace, karanténa nebo jiné nepředvídatelné události, které Vám zabrání v účasti na akci.',\n price: 'Cena pojištění',\n },\n },\n sms_notification: {\n label: 'SMS připomenutí termínu',\n modal: {\n description:\n 'Připomínka akce den předem: SMS vás upozorní na blížící se událost, abyste na ni nezapomněli a stihli se včas připravit.',\n price: 'Cena SMS připomenutí termínu akce',\n },\n },\n merchandise: {\n show_sizes: 'Zobrazit velikosti',\n show_added: 'Zobrazit přidané',\n },\n services: {\n add_tickets_first: 'Nejdříve prosím přidejte vstupenky',\n },\n order_success: {\n title: 'Vstupenky byly úspěšně zarezervovány. Teď už zbývá jenom zaplatit.',\n description:\n 'Odpočet běží {{countdown}}. Pokud k přesměrování nedojde automaticky, klikněte na tlačítko Zaplatit níže.',\n },\n payment_success: {\n loading: 'Zpracováváme platbu. Ještě chvilku strpení... ⏳',\n paid: {\n status: 'Vaše platba byla schválena!',\n title: 'Děkujeme za <br/> Váš nákup!',\n subtitle:\n 'Na E-mail jsme Vám zaslali vstupenky. V případě problémů nás neváhejte kontaktovat.',\n tickets: 'Vaše vstupenky',\n button: 'Stáhnout vstupenku',\n products: 'Vaše produkty',\n },\n unpaid: 'Platba neproběhla',\n unpaid_description: 'Zkuste to prosím znovu kliknutím na tlačítko Zaplatit.',\n },\n payment_pending: 'Kontaktuji poskytovatele bankovních služeb...',\n email_confirmation: {\n title: 'Zkontrolujte prosím Vaši e-mailovou adresu, na kterou Vám zašleme vstupenky.',\n description: '',\n },\n release_countdown: {\n title: 'Předprodej již brzy!',\n countdown:\n '{{days}}d<span>:</span>{{hours}}h<span>:</span>{{minutes}}m<span>:</span>{{seconds}}s',\n },\n },\n },\n components: {\n product_variant_dialog: {\n select_variant: 'Musíte vybrat variantu produktu.',\n },\n },\n};\n\nexport default cs;\n"],"names":[],"mappings":"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"}
|
package/dist/esm/locales/en.js
CHANGED
|
@@ -7,6 +7,8 @@ const en = {
|
|
|
7
7
|
add: 'Add',
|
|
8
8
|
confirm: 'Confirm',
|
|
9
9
|
cancel: 'Cancel',
|
|
10
|
+
close: 'Close',
|
|
11
|
+
remove: 'Remove',
|
|
10
12
|
pay: 'Pay',
|
|
11
13
|
change: 'Change',
|
|
12
14
|
free: 'Free',
|
|
@@ -52,6 +54,8 @@ const en = {
|
|
|
52
54
|
category: 'Category',
|
|
53
55
|
sms_notification: 'SMS notification',
|
|
54
56
|
open_map: 'Open map',
|
|
57
|
+
payment_overview_open: 'Open payment overview',
|
|
58
|
+
payment_overview_close: 'Close payment overview',
|
|
55
59
|
},
|
|
56
60
|
validation: {
|
|
57
61
|
required: 'This field is required.',
|
|
@@ -102,8 +106,12 @@ const en = {
|
|
|
102
106
|
7: {
|
|
103
107
|
title: 'Associated events',
|
|
104
108
|
},
|
|
109
|
+
8: {
|
|
110
|
+
title: 'EventLook services',
|
|
111
|
+
additional_info: 'More information about services',
|
|
112
|
+
},
|
|
105
113
|
},
|
|
106
|
-
terms_and_conditions: '
|
|
114
|
+
terms_and_conditions: 'I agree with the <0>Terms and Conditions</0> {{termsAndConditionsCompanies}} and the <1>Privacy Policy</1>.',
|
|
107
115
|
insurance: {
|
|
108
116
|
label: 'Ticket insurance',
|
|
109
117
|
per_ticket: 'pc',
|
|
@@ -117,10 +125,17 @@ const en = {
|
|
|
117
125
|
sms_notification: {
|
|
118
126
|
label: 'SMS event reminder',
|
|
119
127
|
modal: {
|
|
120
|
-
description:
|
|
128
|
+
description: "Event reminder the day before: SMS will notify you about the upcoming event so you don't forget and have time to prepare.",
|
|
121
129
|
price: 'SMS event reminder price',
|
|
122
130
|
},
|
|
123
131
|
},
|
|
132
|
+
merchandise: {
|
|
133
|
+
show_sizes: 'Show sizes',
|
|
134
|
+
show_added: 'Show added',
|
|
135
|
+
},
|
|
136
|
+
services: {
|
|
137
|
+
add_tickets_first: 'Please add tickets first',
|
|
138
|
+
},
|
|
124
139
|
order_success: {
|
|
125
140
|
title: 'Tickets have been successfully reserved. Now you just need to pay.',
|
|
126
141
|
description: 'The countdown is running {{countdown}}. If you are not redirected automatically, please click the Pay button below.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sources":["../../../src/locales/en.tsx"],"sourcesContent":["const en = {\n and: 'and',\n choose: 'Choose',\n apply: 'Apply',\n buy: 'Buy',\n verify: 'Verify',\n add: 'Add',\n confirm: 'Confirm',\n cancel: 'Cancel',\n pay: 'Pay',\n change: 'Change',\n free: 'Free',\n back_to_tickets: 'Back to tickets',\n unselected: 'Unselected',\n go_home: 'Go to homepage',\n apple_wallet: 'Download to Apple Wallet',\n google_wallet: 'Download to Google Wallet',\n more_info: 'More information',\n shipping_method: {\n types: {\n PACKETA: 'Packeta',\n PICK_UP: 'Pick up on site',\n },\n },\n form: {\n labels: {\n release_category_price: 'Ticket category and price',\n add_another_release: 'Add another category',\n quantity: 'Quantity',\n first_name: 'First name',\n last_name: 'Last name',\n email: 'Email address',\n phone: 'Phone',\n birthdate: 'Date of birth',\n gender: 'Gender',\n male: 'Male',\n female: 'Female',\n other: 'Other',\n promo_code: 'Promo code',\n start_date: 'Event date',\n organizer: 'Organizer',\n total: 'Total',\n with_fee: 'incl. service fee',\n service_fee: 'Service fee',\n shipping_fee: 'Shipping',\n ticket_insurance: 'Ticket insurance',\n price_including_service_fee: 'The price includes a service fee of {{fee}}.',\n price_including_service_fee_percentage:\n 'The price includes a service fee of {{percentage}} of the total amount.',\n terms_and_conditions: 'I agree to the processing of personal data',\n original_price: 'Original price',\n ticket: 'Ticket',\n category: 'Category',\n sms_notification: 'SMS notification',\n open_map: 'Open map',\n },\n validation: {\n required: 'This field is required.',\n email: 'Email must be a valid email address.',\n phone: 'Phone is not valid.',\n invalid_date: 'Date is not valid.',\n terms_and_conditions: 'You must agree to the terms and conditions.',\n promo_code_invalid: 'Promo code is not valid.',\n promo_code_applied: 'This promo code has already been applied.',\n promo_code_cant_combine: 'This promo code cannot be combined with other codes.',\n min_purchase_not_met: 'Minimum purchase amount not met: ',\n count_tickets_or_products: 'You must select at least 1 ticket or product.',\n },\n },\n event: {\n tickets: {\n title: 'Tickets',\n error: {\n order: 'The order could not be completed. Please try again.',\n },\n stepper: {\n 1: {\n title: 'Ticket selection',\n reserve: 'Your tickets are reserved for {{minutes}}:{{seconds}}',\n quantity_select: 'You must select a category first',\n max_ticket_quantity:\n 'You can buy up to 10 tickets per person, with the option to choose from different categories.',\n no_tickets: 'No tickets are available for this event.',\n select_timeslot: 'You must select a timeslot first',\n },\n 2: {\n title: 'Contact person',\n },\n 3: {\n title: 'Payment methods',\n title_verify: 'Verification methods',\n subtitle: 'Payment methods',\n },\n 4: {\n title: 'Products',\n },\n 5: {\n title: 'Shipping method',\n error:\n 'No shipping methods are available for this combination of products. Try a different combination.',\n },\n 6: {\n title: 'Timeslot selection',\n },\n 7: {\n title: 'Associated events',\n },\n },\n terms_and_conditions:\n 'By submitting the order, I agree to the <0>Terms and Conditions</0> of {{termsAndConditionsCompanies}} and acknowledge the <1>Privacy Policy</1>.',\n insurance: {\n label: 'Ticket insurance',\n per_ticket: 'pc',\n modal: {\n title: 'Ticket Insurance',\n description:\n 'Ticket insurance provides you with protection in case you cannot attend the event due to illness, injury, or other unforeseen circumstances.',\n coverage:\n 'Insurance covers: illness, injury, sudden hospitalization, quarantine, or other unforeseen events that prevent you from attending the event.',\n price: 'Insurance price',\n },\n },\n sms_notification: {\n label: 'SMS event reminder',\n modal: {\n description:\n 'Event reminder the day before: SMS will notify you about the upcoming event so you don\\'t forget and have time to prepare.',\n price: 'SMS event reminder price',\n },\n },\n order_success: {\n title: 'Tickets have been successfully reserved. Now you just need to pay.',\n description:\n 'The countdown is running {{countdown}}. If you are not redirected automatically, please click the Pay button below.',\n },\n payment_success: {\n loading: 'Processing payment. Please wait a moment... ⏳',\n paid: {\n status: 'Your payment has been approved!',\n title: 'Thank you for <br/> your purchase!',\n subtitle:\n 'We have sent the tickets to your email. If you have any problems, please contact us.',\n tickets: 'Your tickets',\n button: 'Download ticket',\n products: 'Your products',\n },\n unpaid: 'The payment was not successful.',\n unpaid_description: 'Please try again by clicking the Pay button.',\n },\n payment_pending: 'Contacting the payment service provider...',\n email_confirmation: {\n title: 'Please check your email address where we will send your tickets.',\n description: '',\n },\n release_countdown: {\n title: 'Presale coming soon!',\n countdown:\n '{{days}}d<span>:</span>{{hours}}h<span>:</span>{{minutes}}m<span>:</span>{{seconds}}s',\n },\n },\n },\n components: {\n product_variant_dialog: {\n select_variant: 'You must select a product variant',\n },\n },\n};\n\nexport default en;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"en.js","sources":["../../../src/locales/en.tsx"],"sourcesContent":["const en = {\n and: 'and',\n choose: 'Choose',\n apply: 'Apply',\n buy: 'Buy',\n verify: 'Verify',\n add: 'Add',\n confirm: 'Confirm',\n cancel: 'Cancel',\n close: 'Close',\n remove: 'Remove',\n pay: 'Pay',\n change: 'Change',\n free: 'Free',\n back_to_tickets: 'Back to tickets',\n unselected: 'Unselected',\n go_home: 'Go to homepage',\n apple_wallet: 'Download to Apple Wallet',\n google_wallet: 'Download to Google Wallet',\n more_info: 'More information',\n shipping_method: {\n types: {\n PACKETA: 'Packeta',\n PICK_UP: 'Pick up on site',\n },\n },\n form: {\n labels: {\n release_category_price: 'Ticket category and price',\n add_another_release: 'Add another category',\n quantity: 'Quantity',\n first_name: 'First name',\n last_name: 'Last name',\n email: 'Email address',\n phone: 'Phone',\n birthdate: 'Date of birth',\n gender: 'Gender',\n male: 'Male',\n female: 'Female',\n other: 'Other',\n promo_code: 'Promo code',\n start_date: 'Event date',\n organizer: 'Organizer',\n total: 'Total',\n with_fee: 'incl. service fee',\n service_fee: 'Service fee',\n shipping_fee: 'Shipping',\n ticket_insurance: 'Ticket insurance',\n price_including_service_fee: 'The price includes a service fee of {{fee}}.',\n price_including_service_fee_percentage:\n 'The price includes a service fee of {{percentage}} of the total amount.',\n terms_and_conditions: 'I agree to the processing of personal data',\n original_price: 'Original price',\n ticket: 'Ticket',\n category: 'Category',\n sms_notification: 'SMS notification',\n open_map: 'Open map',\n payment_overview_open: 'Open payment overview',\n payment_overview_close: 'Close payment overview',\n },\n validation: {\n required: 'This field is required.',\n email: 'Email must be a valid email address.',\n phone: 'Phone is not valid.',\n invalid_date: 'Date is not valid.',\n terms_and_conditions: 'You must agree to the terms and conditions.',\n promo_code_invalid: 'Promo code is not valid.',\n promo_code_applied: 'This promo code has already been applied.',\n promo_code_cant_combine: 'This promo code cannot be combined with other codes.',\n min_purchase_not_met: 'Minimum purchase amount not met: ',\n count_tickets_or_products: 'You must select at least 1 ticket or product.',\n },\n },\n event: {\n tickets: {\n title: 'Tickets',\n error: {\n order: 'The order could not be completed. Please try again.',\n },\n stepper: {\n 1: {\n title: 'Ticket selection',\n reserve: 'Your tickets are reserved for {{minutes}}:{{seconds}}',\n quantity_select: 'You must select a category first',\n max_ticket_quantity:\n 'You can buy up to 10 tickets per person, with the option to choose from different categories.',\n no_tickets: 'No tickets are available for this event.',\n select_timeslot: 'You must select a timeslot first',\n },\n 2: {\n title: 'Contact person',\n },\n 3: {\n title: 'Payment methods',\n title_verify: 'Verification methods',\n subtitle: 'Payment methods',\n },\n 4: {\n title: 'Products',\n },\n 5: {\n title: 'Shipping method',\n error:\n 'No shipping methods are available for this combination of products. Try a different combination.',\n },\n 6: {\n title: 'Timeslot selection',\n },\n 7: {\n title: 'Associated events',\n },\n 8: {\n title: 'EventLook services',\n additional_info: 'More information about services',\n },\n },\n terms_and_conditions:\n 'I agree with the <0>Terms and Conditions</0> {{termsAndConditionsCompanies}} and the <1>Privacy Policy</1>.',\n insurance: {\n label: 'Ticket insurance',\n per_ticket: 'pc',\n modal: {\n title: 'Ticket Insurance',\n description:\n 'Ticket insurance provides you with protection in case you cannot attend the event due to illness, injury, or other unforeseen circumstances.',\n coverage:\n 'Insurance covers: illness, injury, sudden hospitalization, quarantine, or other unforeseen events that prevent you from attending the event.',\n price: 'Insurance price',\n },\n },\n sms_notification: {\n label: 'SMS event reminder',\n modal: {\n description:\n \"Event reminder the day before: SMS will notify you about the upcoming event so you don't forget and have time to prepare.\",\n price: 'SMS event reminder price',\n },\n },\n merchandise: {\n show_sizes: 'Show sizes',\n show_added: 'Show added',\n },\n services: {\n add_tickets_first: 'Please add tickets first',\n },\n order_success: {\n title: 'Tickets have been successfully reserved. Now you just need to pay.',\n description:\n 'The countdown is running {{countdown}}. If you are not redirected automatically, please click the Pay button below.',\n },\n payment_success: {\n loading: 'Processing payment. Please wait a moment... ⏳',\n paid: {\n status: 'Your payment has been approved!',\n title: 'Thank you for <br/> your purchase!',\n subtitle:\n 'We have sent the tickets to your email. If you have any problems, please contact us.',\n tickets: 'Your tickets',\n button: 'Download ticket',\n products: 'Your products',\n },\n unpaid: 'The payment was not successful.',\n unpaid_description: 'Please try again by clicking the Pay button.',\n },\n payment_pending: 'Contacting the payment service provider...',\n email_confirmation: {\n title: 'Please check your email address where we will send your tickets.',\n description: '',\n },\n release_countdown: {\n title: 'Presale coming soon!',\n countdown:\n '{{days}}d<span>:</span>{{hours}}h<span>:</span>{{minutes}}m<span>:</span>{{seconds}}s',\n },\n },\n },\n components: {\n product_variant_dialog: {\n select_variant: 'You must select a product variant',\n },\n },\n};\n\nexport default en;\n"],"names":[],"mappings":"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"}
|
package/dist/esm/locales/es.js
CHANGED
|
@@ -7,6 +7,8 @@ const es = {
|
|
|
7
7
|
add: 'Añadir',
|
|
8
8
|
confirm: 'Confirmar',
|
|
9
9
|
cancel: 'Cancelar',
|
|
10
|
+
close: 'Cerrar',
|
|
11
|
+
remove: 'Eliminar',
|
|
10
12
|
pay: 'Pagar',
|
|
11
13
|
change: 'Cambiar',
|
|
12
14
|
free: 'Gratis',
|
|
@@ -52,6 +54,8 @@ const es = {
|
|
|
52
54
|
category: 'Categoría',
|
|
53
55
|
sms_notification: 'Notificación SMS',
|
|
54
56
|
open_map: 'Abrir mapa',
|
|
57
|
+
payment_overview_open: 'Abrir resumen de pago',
|
|
58
|
+
payment_overview_close: 'Cerrar resumen de pago',
|
|
55
59
|
},
|
|
56
60
|
validation: {
|
|
57
61
|
required: 'Este campo es obligatorio.',
|
|
@@ -102,8 +106,12 @@ const es = {
|
|
|
102
106
|
7: {
|
|
103
107
|
title: 'Eventos asociados',
|
|
104
108
|
},
|
|
109
|
+
8: {
|
|
110
|
+
title: 'EventLook servicios',
|
|
111
|
+
additional_info: 'Más información sobre los servicios',
|
|
112
|
+
},
|
|
105
113
|
},
|
|
106
|
-
terms_and_conditions: '
|
|
114
|
+
terms_and_conditions: 'Estoy de acuerdo con los <0>Términos y Condiciones</0> de {{termsAndConditionsCompanies}} y la <1>Política de Privacidad</1>.',
|
|
107
115
|
insurance: {
|
|
108
116
|
label: 'Seguro de entrada',
|
|
109
117
|
per_ticket: 'pc',
|
|
@@ -121,6 +129,13 @@ const es = {
|
|
|
121
129
|
price: 'Precio del recordatorio por SMS del evento',
|
|
122
130
|
},
|
|
123
131
|
},
|
|
132
|
+
merchandise: {
|
|
133
|
+
show_sizes: 'Mostrar tallas',
|
|
134
|
+
show_added: 'Mostrar añadidos',
|
|
135
|
+
},
|
|
136
|
+
services: {
|
|
137
|
+
add_tickets_first: 'Por favor, agregue entradas primero',
|
|
138
|
+
},
|
|
124
139
|
order_success: {
|
|
125
140
|
title: 'Las entradas han sido reservadas con éxito. Ahora solo tienes que pagar.',
|
|
126
141
|
description: 'La cuenta atrás está en marcha {{countdown}}. Si no se le redirige automáticamente, haga clic en el botón Pagar abajo.',
|