@getmicdrop/venue-calendar 4.0.69 → 4.0.70
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/{CarouselView.legacy-H5I8FG8q.js → CarouselView.legacy-CAtJAiSb.js} +3 -3
- package/dist/{CarouselView.legacy-H5I8FG8q.js.map → CarouselView.legacy-CAtJAiSb.js.map} +1 -1
- package/dist/{CartView-Bp50FEe3.js → CartView-CpA__vH7.js} +53 -53
- package/dist/{CartView-Bp50FEe3.js.map → CartView-CpA__vH7.js.map} +1 -1
- package/dist/{Checkout-C_7r24PK.js → Checkout-Bm3yGYYr.js} +278 -273
- package/dist/Checkout-Bm3yGYYr.js.map +1 -0
- package/dist/{Checkout-CbltFN5w.js → Checkout-CRBwRTOc.js} +114 -114
- package/dist/{Checkout-CbltFN5w.js.map → Checkout-CRBwRTOc.js.map} +1 -1
- package/dist/{Checkout.legacy-C8IT4aEk.js → Checkout.legacy-CpgxTxZl.js} +5 -5
- package/dist/{Checkout.legacy-C8IT4aEk.js.map → Checkout.legacy-CpgxTxZl.js.map} +1 -1
- package/dist/{CheckoutTimer-BDGvUG7s.js → CheckoutTimer-SMZRnL_T.js} +2 -2
- package/dist/{CheckoutTimer-BDGvUG7s.js.map → CheckoutTimer-SMZRnL_T.js.map} +1 -1
- package/dist/{CollectionView-BjcFcBDn.js → CollectionView-DgVzimMX.js} +5 -5
- package/dist/{CollectionView-BjcFcBDn.js.map → CollectionView-DgVzimMX.js.map} +1 -1
- package/dist/{CollectionView.legacy-DXRPPTGM.js → CollectionView.legacy-BTAS-mTd.js} +31 -31
- package/dist/{CollectionView.legacy-DXRPPTGM.js.map → CollectionView.legacy-BTAS-mTd.js.map} +1 -1
- package/dist/{Event-DNTpd-NG.js → Event-BNVO_E6j.js} +145 -145
- package/dist/{Event-DNTpd-NG.js.map → Event-BNVO_E6j.js.map} +1 -1
- package/dist/{EventDetailsView-DokL1zEd.js → EventDetailsView-CXvl9xwe.js} +6 -6
- package/dist/{EventDetailsView-DokL1zEd.js.map → EventDetailsView-CXvl9xwe.js.map} +1 -1
- package/dist/{EventPage-DfER-ohd.js → EventPage-Dc4CtBeS.js} +5 -5
- package/dist/{EventPage-DfER-ohd.js.map → EventPage-Dc4CtBeS.js.map} +1 -1
- package/dist/{EventPage.legacy-DKCXDcqQ.js → EventPage.legacy-D-9svuzb.js} +49 -49
- package/dist/{EventPage.legacy-DKCXDcqQ.js.map → EventPage.legacy-D-9svuzb.js.map} +1 -1
- package/dist/{FeaturedView.legacy-DkEiwirz.js → FeaturedView.legacy-BKF3u2sH.js} +19 -19
- package/dist/{FeaturedView.legacy-DkEiwirz.js.map → FeaturedView.legacy-BKF3u2sH.js.map} +1 -1
- package/dist/{GalleryCard-DBSyzYbv.js → GalleryCard-lNx3CEtB.js} +9 -9
- package/dist/{GalleryCard-DBSyzYbv.js.map → GalleryCard-lNx3CEtB.js.map} +1 -1
- package/dist/{GalleryView.legacy-CcqQNcMK.js → GalleryView.legacy-CMjIfp2b.js} +3 -3
- package/dist/{GalleryView.legacy-CcqQNcMK.js.map → GalleryView.legacy-CMjIfp2b.js.map} +1 -1
- package/dist/{GroupedListView.legacy-Bueg0Oxp.js → GroupedListView.legacy-BybmHzIV.js} +23 -23
- package/dist/{GroupedListView.legacy-Bueg0Oxp.js.map → GroupedListView.legacy-BybmHzIV.js.map} +1 -1
- package/dist/{OrderSummary-D_G9VNpM.js → OrderSummary-B1GhsUnc.js} +7 -7
- package/dist/{OrderSummary-D_G9VNpM.js.map → OrderSummary-B1GhsUnc.js.map} +1 -1
- package/dist/{PromoCodeInput-w7EGNs3a.js → PromoCodeInput-CrXBD0oq.js} +30 -30
- package/dist/{PromoCodeInput-w7EGNs3a.js.map → PromoCodeInput-CrXBD0oq.js.map} +1 -1
- package/dist/{SeriesPage-bCW_8Ewp.js → SeriesPage-DEDSbKuu.js} +5 -5
- package/dist/{SeriesPage-bCW_8Ewp.js.map → SeriesPage-DEDSbKuu.js.map} +1 -1
- package/dist/{SeriesPage.legacy-DZmmNEWc.js → SeriesPage.legacy-BlqTBr4n.js} +38 -38
- package/dist/{SeriesPage.legacy-DZmmNEWc.js.map → SeriesPage.legacy-BlqTBr4n.js.map} +1 -1
- package/dist/{Success-CKSUEqXp.js → Success-CD4K7aRv.js} +24 -24
- package/dist/{Success-CKSUEqXp.js.map → Success-CD4K7aRv.js.map} +1 -1
- package/dist/{Success.legacy-BnjWS130.js → Success.legacy-B1Jvy8N0.js} +2 -2
- package/dist/{Success.legacy-BnjWS130.js.map → Success.legacy-B1Jvy8N0.js.map} +1 -1
- package/dist/{VenueCalendar-n-T-MmLU.js → VenueCalendar-BoSdP7xI.js} +1472 -1457
- package/dist/{VenueCalendar-n-T-MmLU.js.map → VenueCalendar-BoSdP7xI.js.map} +1 -1
- package/dist/{ViewTicketsEmbed-CV6ipR3B.js → ViewTicketsEmbed-D1nD9zJY.js} +42 -42
- package/dist/{ViewTicketsEmbed-CV6ipR3B.js.map → ViewTicketsEmbed-D1nD9zJY.js.map} +1 -1
- package/dist/{WaitlistModal-BDzMplxL.js → WaitlistModal-DWcbQmfW.js} +35 -35
- package/dist/{WaitlistModal-BDzMplxL.js.map → WaitlistModal-DWcbQmfW.js.map} +1 -1
- package/dist/api/api.cjs +1 -1
- package/dist/api/api.cjs.map +1 -1
- package/dist/api/api.mjs +160 -157
- package/dist/api/api.mjs.map +1 -1
- package/dist/{api-Bj-wXy71.js → api-CCKXC9Qs.js} +2 -2
- package/dist/{api-Bj-wXy71.js.map → api-CCKXC9Qs.js.map} +1 -1
- package/dist/{data-toggle-store.svelte-DmcpAUWu.js → data-toggle-store.svelte-CB6WLZEE.js} +2 -2
- package/dist/{data-toggle-store.svelte-DmcpAUWu.js.map → data-toggle-store.svelte-CB6WLZEE.js.map} +1 -1
- package/dist/{transform-BLT4wYBC.js → transform-BrlBxayh.js} +2 -2
- package/dist/{transform-BLT4wYBC.js.map → transform-BrlBxayh.js.map} +1 -1
- package/dist/venue-calendar.es.js +1 -1
- package/dist/venue-calendar.iife.js +32 -32
- package/dist/venue-calendar.iife.js.map +1 -1
- package/dist/venue-calendar.umd.js +30 -30
- package/dist/venue-calendar.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/Checkout-C_7r24PK.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventPage-DfER-ohd.js","sources":["../src/lib/navigation.ts","../src/components/Views/EventPage.svelte"],"sourcesContent":["/**\r\n * Public-calendar URL builders. Centralizes the route shapes so call sites\r\n * stop hand-rolling `goto(`/${id}/${slug}`)` template literals\r\n * (Atlas utility-url-builders convergence). One place per route.\r\n */\r\n\r\n/** Event (or occurrence) page: `/<id>/<slug>`. */\r\nexport function buildEventUrl(id: number | string, slug: string): string {\r\n return `/${id}/${slug}`;\r\n}\r\n\r\n/** Event page by slug only: `/<slug>`. */\r\nexport function buildEventBySlugUrl(slug: string): string {\r\n return `/${slug}`;\r\n}\r\n\r\n/** Checkout for an event: `/<id>/<slug>/checkout`. */\r\nexport function buildCheckoutUrl(id: number | string, slug: string): string {\r\n return `/${id}/${slug}/checkout`;\r\n}\r\n\r\n/** Checkout success page: `/<id>/<slug>/checkout/success`. */\r\nexport function buildCheckoutSuccessUrl(\r\n id: number | string,\r\n slug: string\r\n): string {\r\n return `${buildCheckoutUrl(id, slug)}/success`;\r\n}\r\n","<script module>\r\n\timport { createLogger } from '@getmicdrop/svelte-components';\r\n\tconst logger = createLogger('EventPage');\r\n</script>\r\n\r\n<script lang=\"ts\">\r\n\timport { onMount } from 'svelte';\r\n\timport { goto } from '$app/navigation';\r\n\timport { Locked } from 'carbon-icons-svelte';\r\n\timport { InputModal, parseEventId } from '@getmicdrop/svelte-components';\r\n\timport type { EventId } from '@getmicdrop/svelte-components';\r\n\timport { toast } from '@getmicdrop/svelte-components/toast';\r\n\timport AirbnbSplitMain from '$lib/public-calendar-flow/Event.svelte';\r\n\timport { transformApiEvent } from '$lib/public-calendar-flow/transform';\r\n\timport { validatePromoCode } from '$lib/api/promo';\r\n\timport { buildEventUrl, buildEventBySlugUrl, buildCheckoutUrl } from '$lib/navigation';\r\n\timport {\r\n\t\tpersistCheckoutState,\r\n\t\tinitiateOrder,\r\n\t\ttrackUTMSource,\r\n\t} from '$lib/utils/utils.js';\r\n\timport {\r\n\t\tfetchSeriesOccurrences,\r\n\t\tfetchEventDetails,\r\n\t\tcheckEventPassword,\r\n\t} from '$lib/api';\r\n\timport type {\r\n\t\tEventData,\r\n\t\tPromoCodeState,\r\n\t\tOrderTotals,\r\n\t\tSeriesOccurrence,\r\n\t} from '$lib/public-calendar-flow/types';\r\n\r\n\t// --- Legacy fallback ---\r\n\t// RETIREMENT: 2026-08-13 — see docs/LEGACY_RETIREMENT.md.\r\n\tlet useLegacy = $state(false);\r\n\tlet LegacyComponent: any = $state(null);\r\n\r\n\tif (typeof window !== 'undefined') {\r\n\t\tconst params = new URLSearchParams(window.location.search);\r\n\t\tif (params.get('legacy') === '1') {\r\n\t\t\tuseLegacy = true;\r\n\t\t}\r\n\t}\r\n\r\n\t$effect(() => {\r\n\t\tif (useLegacy && !LegacyComponent) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t'[VC] DEPRECATED: ?legacy=1 fallback for EventPage retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md.'\r\n\t\t\t);\r\n\t\t\timport('./EventPage.legacy.svelte').then((m) => {\r\n\t\t\t\tLegacyComponent = m.default;\r\n\t\t\t}).catch(() => {\r\n\t\t\t\tuseLegacy = false;\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t// --- Props (matches old EventPage external interface) ---\r\n\tinterface Props {\r\n\t\trawEvent?: any;\r\n\t\teventId?: string | number;\r\n\t\tslug?: string;\r\n\t\tcurrentEventId?: number | null;\r\n\t\tonNavigateBack?: () => void;\r\n\t\tonBuyTickets?: (eventId: EventId, slug: string) => void;\r\n\t\t/**\r\n\t\t * Optional checkout hand-off. The standalone get-micdrop.com route lets\r\n\t\t * this default to navigating to /{id}/{slug}/checkout; the embed passes a\r\n\t\t * callback that renders Checkout in-place instead (the cart is already\r\n\t\t * created when this fires). Receives (id, slug, rawEvent).\r\n\t\t */\r\n\t\tonNavigateToCart?: (id: string | number, slug: string, rawEvent: any) => void;\r\n\t\torganizationId?: string;\r\n\t\tlabels?: Record<string, string>;\r\n\t}\r\n\r\n\tlet {\r\n\t\trawEvent: rawEventProp = undefined,\r\n\t\teventId: eventIdProp = undefined,\r\n\t\tslug: slugProp = '',\r\n\t\tcurrentEventId: currentEventIdProp = undefined,\r\n\t\tonNavigateBack = undefined,\r\n\t\tonBuyTickets = undefined,\r\n\t\tonNavigateToCart = undefined,\r\n\t\torganizationId = '',\r\n\t\tlabels = {},\r\n\t}: Props = $props();\r\n\r\n\t// --- Data state ---\r\n\t/* svelte-ignore state_referenced_locally */\r\n\tlet rawEvent = $state<any>(rawEventProp ?? null);\r\n\t/* svelte-ignore state_referenced_locally */\r\n\tlet dataLoading = $state(!rawEventProp && !!eventIdProp);\r\n\r\n\t// Keep rawEvent in sync if rawEventProp changes reactively\r\n\t$effect(() => {\r\n\t\tif (rawEventProp) rawEvent = rawEventProp;\r\n\t});\r\n\tlet dataError = $state<string | null>(null);\r\n\r\n\t// Transform raw API data to EventData\r\n\tlet baseEventData = $derived(rawEvent ? transformApiEvent(rawEvent) : null);\r\n\tlet id = $derived(eventIdProp || baseEventData?.id || '');\r\n\tlet slug = $derived(slugProp || baseEventData?.slug || '');\r\n\r\n\t// Series occurrences (async enrichment)\r\n\tlet seriesOccurrences = $state<SeriesOccurrence[]>([]);\r\n\tlet eventData = $derived<EventData | null>(\r\n\t\tbaseEventData\r\n\t\t\t? {\r\n\t\t\t\t\t...baseEventData,\r\n\t\t\t\t\tseriesOccurrences: seriesOccurrences.length > 0\r\n\t\t\t\t\t\t? seriesOccurrences\r\n\t\t\t\t\t\t: baseEventData.seriesOccurrences || [],\r\n\t\t\t\t}\r\n\t\t\t: null\r\n\t);\r\n\r\n\t// --- Password protection state ---\r\n\tlet showPasswordModal = $state(false);\r\n\tlet isPasswordVerified = $state(false);\r\n\tlet passwordValue = $state('');\r\n\tlet passwordError = $state('');\r\n\tlet passwordLoading = $state(false);\r\n\r\n\tlet requiresPassword = $derived(!!rawEvent?.password && rawEvent.password.trim() !== '');\r\n\tlet isLocked = $derived(requiresPassword && !isPasswordVerified && !isEventAuthenticated(id));\r\n\r\n\tfunction isEventAuthenticated(evtId: string | number): boolean {\r\n\t\tif (typeof window === 'undefined') return false;\r\n\t\tconst authedEvents = JSON.parse(sessionStorage.getItem('authedEvents') || '[]'); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\treturn authedEvents.includes(String(evtId));\r\n\t}\r\n\r\n\tfunction setEventAuthenticated(evtId: string | number): void {\r\n\t\tif (typeof window === 'undefined') return;\r\n\t\tconst authedEvents = JSON.parse(sessionStorage.getItem('authedEvents') || '[]'); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\tconst evtIdStr = String(evtId);\r\n\t\tif (!authedEvents.includes(evtIdStr)) {\r\n\t\t\tauthedEvents.push(evtIdStr);\r\n\t\t\tsessionStorage.setItem('authedEvents', JSON.stringify(authedEvents)); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handlePasswordSubmit(e: any): Promise<void> {\r\n\t\tconst password = e.detail?.value || passwordValue;\r\n\t\tif (!password || !id) return;\r\n\t\tpasswordLoading = true;\r\n\t\tpasswordError = '';\r\n\t\ttry {\r\n\t\t\tconst result = await checkEventPassword(String(id), password);\r\n\t\t\tif (result.valid) {\r\n\t\t\t\tsetEventAuthenticated(id);\r\n\t\t\t\tisPasswordVerified = true;\r\n\t\t\t\tshowPasswordModal = false;\r\n\t\t\t\tpasswordValue = '';\r\n\t\t\t} else {\r\n\t\t\t\tpasswordError = labels.incorrectPassword || 'Incorrect password. Please try again.';\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tpasswordError = labels.unableToVerifyPassword || 'Unable to verify password. Please try again.';\r\n\t\t} finally {\r\n\t\t\tpasswordLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handlePasswordCancel(): void {\r\n\t\tshowPasswordModal = false;\r\n\t\tif (onNavigateBack) onNavigateBack();\r\n\t}\r\n\r\n\t// --- Promo state tracking for checkout persistence ---\r\n\tlet lastPromoCode = $state('');\r\n\tlet lastPromoDiscount = $state(0);\r\n\r\n\tasync function handlePromoApply(code: string): Promise<PromoCodeState> {\r\n\t\tconst result = await validatePromoCode(String(id), code);\r\n\t\tif (!result.valid) {\r\n\t\t\treturn {\r\n\t\t\t\tcode,\r\n\t\t\t\tisApplied: false,\r\n\t\t\t\tisValidating: false,\r\n\t\t\t\terror: result.error || 'Invalid promo code',\r\n\t\t\t\thint: '',\r\n\t\t\t\tdiscountAmount: 0,\r\n\t\t\t\tdiscountType: '',\r\n\t\t\t\tdiscountTicketIds: [],\r\n\t\t\t\trevealHiddenTickets: false,\r\n\t\t\t\trevealTicketIds: [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tlastPromoCode = result.code || code;\r\n\t\tlastPromoDiscount = result.amount || 0;\r\n\t\treturn {\r\n\t\t\tcode: result.code || code,\r\n\t\t\tisApplied: true,\r\n\t\t\tisValidating: false,\r\n\t\t\terror: '',\r\n\t\t\thint: `${(result.code || code).toUpperCase()} applied`,\r\n\t\t\tdiscountAmount: result.amount || 0,\r\n\t\t\tdiscountType: result.discountType === 'percentage' ? '%' : result.discountType === 'fixed' ? '$' : '',\r\n\t\t\tdiscountTicketIds: [],\r\n\t\t\trevealHiddenTickets: result.revealHiddenTickets || false,\r\n\t\t\trevealTicketIds: result.revealTicketIds || [],\r\n\t\t};\r\n\t}\r\n\r\n\tfunction handlePromoRemove(): void {\r\n\t\tlastPromoCode = '';\r\n\t\tlastPromoDiscount = 0;\r\n\t}\r\n\r\n\t// --- Checkout callback ---\r\n\tasync function handleCheckout(orderTotals: OrderTotals): Promise<void> {\r\n\t\tif (!eventData) return;\r\n\r\n\t\t// Reconstruct quantities and donation amounts from OrderTotals lines\r\n\t\tconst quantities: Record<number, number> = {};\r\n\t\tconst donationAmounts: Record<number, number> = {};\r\n\r\n\t\tfor (const line of orderTotals.lines) {\r\n\t\t\tquantities[line.ticketId] = line.quantity;\r\n\t\t\tconst ticket = eventData.tickets.find((t) => t.id === line.ticketId);\r\n\t\t\tif (ticket?.isDonation) {\r\n\t\t\t\tdonationAmounts[line.ticketId] = line.unitPrice;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Persist checkout state for downstream checkout page\r\n\t\tpersistCheckoutState({\r\n\t\t\teventID: String(id),\r\n\t\t\tquantities,\r\n\t\t\tdonationAmounts,\r\n\t\t\tpromocode: lastPromoCode,\r\n\t\t\tpromoDiscountAmount: lastPromoDiscount,\r\n\t\t\ttickets: eventData.tickets.map((t) => ({\r\n\t\t\t\tID: t.id,\r\n\t\t\t\tname: t.name,\r\n\t\t\t\tprice: t.price,\r\n\t\t\t\ttype: String(t.ticketType || 0),\r\n\t\t\t\tvisibility: String(t.isHidden ? 1 : 0),\r\n\t\t\t\tsalesChannel: '0',\r\n\t\t\t})),\r\n\t\t});\r\n\r\n\t\t// Create cart (sets checkout-cartid cookie automatically)\r\n\t\tconst result = await initiateOrder({\r\n\t\t\teventID: id,\r\n\t\t\tquantities,\r\n\t\t\tpromoCode: lastPromoCode || undefined,\r\n\t\t});\r\n\t\tif (!result?.success) {\r\n\t\t\ttoast.error(result?.error || labels.failedToCompleteOrder || 'Failed to complete order. Please try again.');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Embed: render Checkout in-place. Standalone route: navigate to the\r\n\t\t// checkout page. The cart cookie is set either way by initiateOrder().\r\n\t\tif (onNavigateToCart) {\r\n\t\t\tonNavigateToCart(id, slug, rawEvent);\r\n\t\t} else {\r\n\t\t\tgoto(buildCheckoutUrl(id, slug));\r\n\t\t}\r\n\t}\r\n\r\n\t// --- Navigation callbacks ---\r\n\tfunction handleCollectionEventClick(event: { id?: number | string; slug: string }): void {\r\n\t\tif (event.id) {\r\n\t\t\tgoto(buildEventUrl(event.id, event.slug));\r\n\t\t} else {\r\n\t\t\tlogger.warn('Collection event missing id, navigating by slug only');\r\n\t\t\tgoto(buildEventBySlugUrl(event.slug));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handleShowtimeClick(occurrence: { id: number; slug: string }): void {\r\n\t\tif (onBuyTickets) {\r\n\t\t\tonBuyTickets(parseEventId(occurrence.id), occurrence.slug);\r\n\t\t} else {\r\n\t\t\tgoto(buildEventUrl(occurrence.id, occurrence.slug));\r\n\t\t}\r\n\t}\r\n\r\n\t// --- Lifecycle ---\r\n\tonMount(async () => {\r\n\t\t// Self-fetch mode (widget builder / color preview)\r\n\t\tif (!rawEvent && eventIdProp) {\r\n\t\t\ttry {\r\n\t\t\t\tconst fetched = await fetchEventDetails(eventIdProp);\r\n\t\t\t\trawEvent = fetched;\r\n\t\t\t} catch (err: any) {\r\n\t\t\t\tdataError = err.message || labels.failedToLoadEvent || 'Failed to load event';\r\n\t\t\t\tdataLoading = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tdataLoading = false;\r\n\t\t}\r\n\r\n\t\tif (!rawEvent) return;\r\n\r\n\t\t// UTM tracking — use event ID, not venue ID\r\n\t\tconst evtId = rawEvent.ID || rawEvent.id;\r\n\t\tif (evtId) {\r\n\t\t\ttrackUTMSource(evtId);\r\n\t\t}\r\n\r\n\t\t// Fetch series occurrences\r\n\t\tconst seriesId = rawEvent.eventSeriesId || 0;\r\n\t\tconst vId = rawEvent.venueID || rawEvent.venueId || 0;\r\n\r\n\t\tif (seriesId > 0 && vId > 0) {\r\n\t\t\ttry {\r\n\t\t\t\tconst occurrences = await fetchSeriesOccurrences(seriesId, vId);\r\n\t\t\t\tif (Array.isArray(occurrences) && occurrences.length > 0) {\r\n\t\t\t\t\tseriesOccurrences = occurrences.map((occ: any) => ({\r\n\t\t\t\t\t\tid: occ.id,\r\n\t\t\t\t\t\tslug: occ.slug || '',\r\n\t\t\t\t\t\tstartDateTime: occ.startDateTime,\r\n\t\t\t\t\t\tendDateTime: occ.endDateTime || '',\r\n\t\t\t\t\t\tstatus: (occ.ctaState?.reason === 'sold_out' ? 'sold_out' : 'on_sale') as import('$lib/public-calendar-flow/types').EventStatus,\r\n\t\t\t\t\t\tctaText: occ.ctaState?.text || 'Get Tickets',\r\n\t\t\t\t\t\tctaDisabled: occ.ctaState?.disabled || false,\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t} catch {\r\n\t\t\t\t// Non-fatal: event page works without series data\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Password protection check\r\n\t\tif (requiresPassword && !isEventAuthenticated(id)) {\r\n\t\t\tshowPasswordModal = true;\r\n\t\t}\r\n\t});\r\n</script>\r\n\r\n{#if useLegacy && LegacyComponent}\r\n\t<LegacyComponent\r\n\t\trawEvent={rawEventProp}\r\n\t\teventId={eventIdProp}\r\n\t\tslug={slugProp}\r\n\t\tcurrentEventId={currentEventIdProp}\r\n\t\t{onNavigateBack}\r\n\t\t{onBuyTickets}\r\n\t\t{organizationId}\r\n\t\t{labels}\r\n\t/>\r\n{:else}\r\n\t{#if dataLoading}\r\n\t\t<div class=\"flex items-center justify-center py-12 text-center loading-container\">\r\n\t\t\t<p>{labels.loadingEvent || 'Loading event...'}</p>\r\n\t\t</div>\r\n\t{:else if dataError}\r\n\t\t<div class=\"flex flex-col items-center justify-center py-12 text-center gap-4\">\r\n\t\t\t<p class=\"error-text\">{labels.errorPrefix || 'Error:'} {dataError}</p>\r\n\t\t\t{#if onNavigateBack}\r\n\t\t\t\t<button class=\"go-back-btn px-4 py-2 rounded-lg text-white\" onclick={onNavigateBack}>{labels.goBack || 'Go back'}</button>\r\n\t\t\t{/if}\r\n\t\t</div>\r\n\t{:else if eventData}\r\n\t\t{#if isLocked}\r\n\t\t\t<div class=\"locked-wrapper\">\r\n\t\t\t\t<div class=\"locked-overlay absolute inset-0 z-20 flex flex-col items-center justify-center min-h-96\">\r\n\t\t\t\t\t<div class=\"text-center p-8\">\r\n\t\t\t\t\t\t<div class=\"locked-icon-wrapper w-20 h-20 mx-auto mb-4 rounded-full flex items-center justify-center\">\r\n\t\t\t\t\t\t\t<Locked size={32} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<h2 class=\"locked-title text-xl font-semibold mb-2\">{labels.passwordProtectedTitle || 'This event is password protected'}</h2>\r\n\t\t\t\t\t\t<p class=\"locked-description text-sm max-w-xs mx-auto mb-6 leading-relaxed\">{labels.passwordProtectedDescription || 'Enter the event password to view details and purchase tickets.'}</p>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclass=\"unlock-btn py-3 px-6 text-white rounded-lg text-sm font-semibold cursor-pointer\"\r\n\t\t\t\t\t\t\tonclick={() => showPasswordModal = true}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{labels.enterPassword || 'Enter password'}\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"blur-content\">\r\n\t\t\t\t\t<AirbnbSplitMain\r\n\t\t\t\t\t\tevent={eventData}\r\n\t\t\t\t\t\tonCheckout={handleCheckout}\r\n\t\t\t\t\t\tonPromoApply={handlePromoApply}\r\n\t\t\t\t\t\tonPromoRemove={handlePromoRemove}\r\n\t\t\t\t\t\tonCollectionEventClick={handleCollectionEventClick}\r\n\t\t\t\t\t\tonShowtimeClick={handleShowtimeClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t{:else}\r\n\t\t\t<AirbnbSplitMain\r\n\t\t\t\tevent={eventData}\r\n\t\t\t\tonCheckout={handleCheckout}\r\n\t\t\t\tonPromoApply={handlePromoApply}\r\n\t\t\t\tonPromoRemove={handlePromoRemove}\r\n\t\t\t\tonCollectionEventClick={handleCollectionEventClick}\r\n\t\t\t\tonShowtimeClick={handleShowtimeClick}\r\n\t\t\t/>\r\n\t\t{/if}\r\n\t{/if}\r\n\r\n\t<InputModal\r\n\t\tbind:open={showPasswordModal}\r\n\t\tsize=\"md\"\r\n\t\ttitle={labels.enterEventPassword || \"Enter event password\"}\r\n\t\tdescription={labels.passwordModalDescription || \"This event requires a password to view. Please enter the password provided by the event organizer.\"}\r\n\t\tinputLabel={labels.passwordLabel || \"Password\"}\r\n\t\tinputType=\"password\"\r\n\t\tbind:inputValue={passwordValue}\r\n\t\tinputRequired={true}\r\n\t\terrorMessage={passwordError}\r\n\t\tshowError={!!passwordError}\r\n\t\tprimaryButtonText={labels.unlockEvent || \"Unlock event\"}\r\n\t\tsecondaryButtonText={labels.goBack || \"Go back\"}\r\n\t\tloading={passwordLoading}\r\n\t\tonconfirm={handlePasswordSubmit}\r\n\t\toncancel={handlePasswordCancel}\r\n\t\tonclose={handlePasswordCancel}\r\n\t/>\r\n{/if}\r\n\r\n<style>\r\n\t.loading-container {\r\n\t\tcolor: hsl(var(--text-secondary, 215 16% 47%));\r\n\t}\r\n\r\n\t.error-text {\r\n\t\tcolor: hsl(var(--status-sold-out, 0 72% 51%));\r\n\t}\r\n\r\n\t.go-back-btn {\r\n\t\tbackground-color: hsl(var(--brand-primary, 224 76% 48%));\r\n\t}\r\n\r\n\t.locked-wrapper {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.blur-content {\r\n\t\tfilter: blur(8px);\r\n\t\tpointer-events: none;\r\n\t\tuser-select: none;\r\n\t}\r\n\r\n\t.locked-overlay {\r\n\t\tbackground-color: hsl(var(--bg-primary, 0 0% 100%) / 95%);\r\n\t}\r\n\r\n\t.locked-icon-wrapper {\r\n\t\tbackground-color: hsl(var(--bg-secondary, 210 20% 98%));\r\n\t\tcolor: hsl(var(--text-tertiary, 220 9% 46%));\r\n\t}\r\n\r\n\t.locked-title {\r\n\t\tcolor: hsl(var(--text-primary, 222 47% 11%));\r\n\t}\r\n\r\n\t.locked-description {\r\n\t\tcolor: hsl(var(--text-secondary, 215 16% 47%));\r\n\t}\r\n\r\n\t.unlock-btn {\r\n\t\tbackground-color: hsl(var(--brand-primary, 224 76% 48%));\r\n\t\tborder: none;\r\n\t\ttransition: background-color 0.2s ease;\r\n\t}\r\n\r\n\t.unlock-btn:hover {\r\n\t\topacity: 0.9;\r\n\t}\r\n</style>\r\n"],"names":["buildEventUrl","id","slug","buildEventBySlugUrl","buildCheckoutUrl","logger","createLogger","useLegacy","$","LegacyComponent","m","rawEventProp","eventIdProp","slugProp","currentEventIdProp","onNavigateBack","onBuyTickets","onNavigateToCart","organizationId","labels","$$props","rawEvent","dataLoading","dataError","baseEventData","transformApiEvent","seriesOccurrences","eventData","showPasswordModal","isPasswordVerified","passwordValue","passwordError","passwordLoading","requiresPassword","isLocked","isEventAuthenticated","evtId","setEventAuthenticated","authedEvents","evtIdStr","handlePasswordSubmit","e","password","checkEventPassword","handlePasswordCancel","lastPromoCode","lastPromoDiscount","handlePromoApply","code","result","validatePromoCode","handlePromoRemove","handleCheckout","orderTotals","quantities","donationAmounts","line","t","persistCheckoutState","initiateOrder","toast","goto","handleCollectionEventClick","event","handleShowtimeClick","occurrence","parseEventId","onMount","fetched","fetchEventDetails","err","trackUTMSource","seriesId","vId","occurrences","fetchSeriesOccurrences","occ","LegacyComponent_1","$$anchor","div","root_3","p","div_1","root_4","p_1","button","root_5","$$args","$$render","consequent_2","text_1","div_2","root_7","div_3","div_4","div_5","Locked","h2","p_2","button_1","div_6","AirbnbSplitMain","node_6","consequent_4","alternate","consequent_1","consequent_3","consequent_5","InputModal","node_7","$$value","consequent","alternate_1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventPage-Dc4CtBeS.js","sources":["../src/lib/navigation.ts","../src/components/Views/EventPage.svelte"],"sourcesContent":["/**\r\n * Public-calendar URL builders. Centralizes the route shapes so call sites\r\n * stop hand-rolling `goto(`/${id}/${slug}`)` template literals\r\n * (Atlas utility-url-builders convergence). One place per route.\r\n */\r\n\r\n/** Event (or occurrence) page: `/<id>/<slug>`. */\r\nexport function buildEventUrl(id: number | string, slug: string): string {\r\n return `/${id}/${slug}`;\r\n}\r\n\r\n/** Event page by slug only: `/<slug>`. */\r\nexport function buildEventBySlugUrl(slug: string): string {\r\n return `/${slug}`;\r\n}\r\n\r\n/** Checkout for an event: `/<id>/<slug>/checkout`. */\r\nexport function buildCheckoutUrl(id: number | string, slug: string): string {\r\n return `/${id}/${slug}/checkout`;\r\n}\r\n\r\n/** Checkout success page: `/<id>/<slug>/checkout/success`. */\r\nexport function buildCheckoutSuccessUrl(\r\n id: number | string,\r\n slug: string\r\n): string {\r\n return `${buildCheckoutUrl(id, slug)}/success`;\r\n}\r\n","<script module>\r\n\timport { createLogger } from '@getmicdrop/svelte-components';\r\n\tconst logger = createLogger('EventPage');\r\n</script>\r\n\r\n<script lang=\"ts\">\r\n\timport { onMount } from 'svelte';\r\n\timport { goto } from '$app/navigation';\r\n\timport { Locked } from 'carbon-icons-svelte';\r\n\timport { InputModal, parseEventId } from '@getmicdrop/svelte-components';\r\n\timport type { EventId } from '@getmicdrop/svelte-components';\r\n\timport { toast } from '@getmicdrop/svelte-components/toast';\r\n\timport AirbnbSplitMain from '$lib/public-calendar-flow/Event.svelte';\r\n\timport { transformApiEvent } from '$lib/public-calendar-flow/transform';\r\n\timport { validatePromoCode } from '$lib/api/promo';\r\n\timport { buildEventUrl, buildEventBySlugUrl, buildCheckoutUrl } from '$lib/navigation';\r\n\timport {\r\n\t\tpersistCheckoutState,\r\n\t\tinitiateOrder,\r\n\t\ttrackUTMSource,\r\n\t} from '$lib/utils/utils.js';\r\n\timport {\r\n\t\tfetchSeriesOccurrences,\r\n\t\tfetchEventDetails,\r\n\t\tcheckEventPassword,\r\n\t} from '$lib/api';\r\n\timport type {\r\n\t\tEventData,\r\n\t\tPromoCodeState,\r\n\t\tOrderTotals,\r\n\t\tSeriesOccurrence,\r\n\t} from '$lib/public-calendar-flow/types';\r\n\r\n\t// --- Legacy fallback ---\r\n\t// RETIREMENT: 2026-08-13 — see docs/LEGACY_RETIREMENT.md.\r\n\tlet useLegacy = $state(false);\r\n\tlet LegacyComponent: any = $state(null);\r\n\r\n\tif (typeof window !== 'undefined') {\r\n\t\tconst params = new URLSearchParams(window.location.search);\r\n\t\tif (params.get('legacy') === '1') {\r\n\t\t\tuseLegacy = true;\r\n\t\t}\r\n\t}\r\n\r\n\t$effect(() => {\r\n\t\tif (useLegacy && !LegacyComponent) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t'[VC] DEPRECATED: ?legacy=1 fallback for EventPage retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md.'\r\n\t\t\t);\r\n\t\t\timport('./EventPage.legacy.svelte').then((m) => {\r\n\t\t\t\tLegacyComponent = m.default;\r\n\t\t\t}).catch(() => {\r\n\t\t\t\tuseLegacy = false;\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t// --- Props (matches old EventPage external interface) ---\r\n\tinterface Props {\r\n\t\trawEvent?: any;\r\n\t\teventId?: string | number;\r\n\t\tslug?: string;\r\n\t\tcurrentEventId?: number | null;\r\n\t\tonNavigateBack?: () => void;\r\n\t\tonBuyTickets?: (eventId: EventId, slug: string) => void;\r\n\t\t/**\r\n\t\t * Optional checkout hand-off. The standalone get-micdrop.com route lets\r\n\t\t * this default to navigating to /{id}/{slug}/checkout; the embed passes a\r\n\t\t * callback that renders Checkout in-place instead (the cart is already\r\n\t\t * created when this fires). Receives (id, slug, rawEvent).\r\n\t\t */\r\n\t\tonNavigateToCart?: (id: string | number, slug: string, rawEvent: any) => void;\r\n\t\torganizationId?: string;\r\n\t\tlabels?: Record<string, string>;\r\n\t}\r\n\r\n\tlet {\r\n\t\trawEvent: rawEventProp = undefined,\r\n\t\teventId: eventIdProp = undefined,\r\n\t\tslug: slugProp = '',\r\n\t\tcurrentEventId: currentEventIdProp = undefined,\r\n\t\tonNavigateBack = undefined,\r\n\t\tonBuyTickets = undefined,\r\n\t\tonNavigateToCart = undefined,\r\n\t\torganizationId = '',\r\n\t\tlabels = {},\r\n\t}: Props = $props();\r\n\r\n\t// --- Data state ---\r\n\t/* svelte-ignore state_referenced_locally */\r\n\tlet rawEvent = $state<any>(rawEventProp ?? null);\r\n\t/* svelte-ignore state_referenced_locally */\r\n\tlet dataLoading = $state(!rawEventProp && !!eventIdProp);\r\n\r\n\t// Keep rawEvent in sync if rawEventProp changes reactively\r\n\t$effect(() => {\r\n\t\tif (rawEventProp) rawEvent = rawEventProp;\r\n\t});\r\n\tlet dataError = $state<string | null>(null);\r\n\r\n\t// Transform raw API data to EventData\r\n\tlet baseEventData = $derived(rawEvent ? transformApiEvent(rawEvent) : null);\r\n\tlet id = $derived(eventIdProp || baseEventData?.id || '');\r\n\tlet slug = $derived(slugProp || baseEventData?.slug || '');\r\n\r\n\t// Series occurrences (async enrichment)\r\n\tlet seriesOccurrences = $state<SeriesOccurrence[]>([]);\r\n\tlet eventData = $derived<EventData | null>(\r\n\t\tbaseEventData\r\n\t\t\t? {\r\n\t\t\t\t\t...baseEventData,\r\n\t\t\t\t\tseriesOccurrences: seriesOccurrences.length > 0\r\n\t\t\t\t\t\t? seriesOccurrences\r\n\t\t\t\t\t\t: baseEventData.seriesOccurrences || [],\r\n\t\t\t\t}\r\n\t\t\t: null\r\n\t);\r\n\r\n\t// --- Password protection state ---\r\n\tlet showPasswordModal = $state(false);\r\n\tlet isPasswordVerified = $state(false);\r\n\tlet passwordValue = $state('');\r\n\tlet passwordError = $state('');\r\n\tlet passwordLoading = $state(false);\r\n\r\n\tlet requiresPassword = $derived(!!rawEvent?.password && rawEvent.password.trim() !== '');\r\n\tlet isLocked = $derived(requiresPassword && !isPasswordVerified && !isEventAuthenticated(id));\r\n\r\n\tfunction isEventAuthenticated(evtId: string | number): boolean {\r\n\t\tif (typeof window === 'undefined') return false;\r\n\t\tconst authedEvents = JSON.parse(sessionStorage.getItem('authedEvents') || '[]'); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\treturn authedEvents.includes(String(evtId));\r\n\t}\r\n\r\n\tfunction setEventAuthenticated(evtId: string | number): void {\r\n\t\tif (typeof window === 'undefined') return;\r\n\t\tconst authedEvents = JSON.parse(sessionStorage.getItem('authedEvents') || '[]'); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\tconst evtIdStr = String(evtId);\r\n\t\tif (!authedEvents.includes(evtIdStr)) {\r\n\t\t\tauthedEvents.push(evtIdStr);\r\n\t\t\tsessionStorage.setItem('authedEvents', JSON.stringify(authedEvents)); // @storage-escape: authedEvents session-auth state (intentional raw sessionStorage)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handlePasswordSubmit(e: any): Promise<void> {\r\n\t\tconst password = e.detail?.value || passwordValue;\r\n\t\tif (!password || !id) return;\r\n\t\tpasswordLoading = true;\r\n\t\tpasswordError = '';\r\n\t\ttry {\r\n\t\t\tconst result = await checkEventPassword(String(id), password);\r\n\t\t\tif (result.valid) {\r\n\t\t\t\tsetEventAuthenticated(id);\r\n\t\t\t\tisPasswordVerified = true;\r\n\t\t\t\tshowPasswordModal = false;\r\n\t\t\t\tpasswordValue = '';\r\n\t\t\t} else {\r\n\t\t\t\tpasswordError = labels.incorrectPassword || 'Incorrect password. Please try again.';\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tpasswordError = labels.unableToVerifyPassword || 'Unable to verify password. Please try again.';\r\n\t\t} finally {\r\n\t\t\tpasswordLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handlePasswordCancel(): void {\r\n\t\tshowPasswordModal = false;\r\n\t\tif (onNavigateBack) onNavigateBack();\r\n\t}\r\n\r\n\t// --- Promo state tracking for checkout persistence ---\r\n\tlet lastPromoCode = $state('');\r\n\tlet lastPromoDiscount = $state(0);\r\n\r\n\tasync function handlePromoApply(code: string): Promise<PromoCodeState> {\r\n\t\tconst result = await validatePromoCode(String(id), code);\r\n\t\tif (!result.valid) {\r\n\t\t\treturn {\r\n\t\t\t\tcode,\r\n\t\t\t\tisApplied: false,\r\n\t\t\t\tisValidating: false,\r\n\t\t\t\terror: result.error || 'Invalid promo code',\r\n\t\t\t\thint: '',\r\n\t\t\t\tdiscountAmount: 0,\r\n\t\t\t\tdiscountType: '',\r\n\t\t\t\tdiscountTicketIds: [],\r\n\t\t\t\trevealHiddenTickets: false,\r\n\t\t\t\trevealTicketIds: [],\r\n\t\t\t};\r\n\t\t}\r\n\t\tlastPromoCode = result.code || code;\r\n\t\tlastPromoDiscount = result.amount || 0;\r\n\t\treturn {\r\n\t\t\tcode: result.code || code,\r\n\t\t\tisApplied: true,\r\n\t\t\tisValidating: false,\r\n\t\t\terror: '',\r\n\t\t\thint: `${(result.code || code).toUpperCase()} applied`,\r\n\t\t\tdiscountAmount: result.amount || 0,\r\n\t\t\tdiscountType: result.discountType === 'percentage' ? '%' : result.discountType === 'fixed' ? '$' : '',\r\n\t\t\tdiscountTicketIds: [],\r\n\t\t\trevealHiddenTickets: result.revealHiddenTickets || false,\r\n\t\t\trevealTicketIds: result.revealTicketIds || [],\r\n\t\t};\r\n\t}\r\n\r\n\tfunction handlePromoRemove(): void {\r\n\t\tlastPromoCode = '';\r\n\t\tlastPromoDiscount = 0;\r\n\t}\r\n\r\n\t// --- Checkout callback ---\r\n\tasync function handleCheckout(orderTotals: OrderTotals): Promise<void> {\r\n\t\tif (!eventData) return;\r\n\r\n\t\t// Reconstruct quantities and donation amounts from OrderTotals lines\r\n\t\tconst quantities: Record<number, number> = {};\r\n\t\tconst donationAmounts: Record<number, number> = {};\r\n\r\n\t\tfor (const line of orderTotals.lines) {\r\n\t\t\tquantities[line.ticketId] = line.quantity;\r\n\t\t\tconst ticket = eventData.tickets.find((t) => t.id === line.ticketId);\r\n\t\t\tif (ticket?.isDonation) {\r\n\t\t\t\tdonationAmounts[line.ticketId] = line.unitPrice;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Persist checkout state for downstream checkout page\r\n\t\tpersistCheckoutState({\r\n\t\t\teventID: String(id),\r\n\t\t\tquantities,\r\n\t\t\tdonationAmounts,\r\n\t\t\tpromocode: lastPromoCode,\r\n\t\t\tpromoDiscountAmount: lastPromoDiscount,\r\n\t\t\ttickets: eventData.tickets.map((t) => ({\r\n\t\t\t\tID: t.id,\r\n\t\t\t\tname: t.name,\r\n\t\t\t\tprice: t.price,\r\n\t\t\t\ttype: String(t.ticketType || 0),\r\n\t\t\t\tvisibility: String(t.isHidden ? 1 : 0),\r\n\t\t\t\tsalesChannel: '0',\r\n\t\t\t})),\r\n\t\t});\r\n\r\n\t\t// Create cart (sets checkout-cartid cookie automatically)\r\n\t\tconst result = await initiateOrder({\r\n\t\t\teventID: id,\r\n\t\t\tquantities,\r\n\t\t\tpromoCode: lastPromoCode || undefined,\r\n\t\t});\r\n\t\tif (!result?.success) {\r\n\t\t\ttoast.error(result?.error || labels.failedToCompleteOrder || 'Failed to complete order. Please try again.');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Embed: render Checkout in-place. Standalone route: navigate to the\r\n\t\t// checkout page. The cart cookie is set either way by initiateOrder().\r\n\t\tif (onNavigateToCart) {\r\n\t\t\tonNavigateToCart(id, slug, rawEvent);\r\n\t\t} else {\r\n\t\t\tgoto(buildCheckoutUrl(id, slug));\r\n\t\t}\r\n\t}\r\n\r\n\t// --- Navigation callbacks ---\r\n\tfunction handleCollectionEventClick(event: { id?: number | string; slug: string }): void {\r\n\t\tif (event.id) {\r\n\t\t\tgoto(buildEventUrl(event.id, event.slug));\r\n\t\t} else {\r\n\t\t\tlogger.warn('Collection event missing id, navigating by slug only');\r\n\t\t\tgoto(buildEventBySlugUrl(event.slug));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handleShowtimeClick(occurrence: { id: number; slug: string }): void {\r\n\t\tif (onBuyTickets) {\r\n\t\t\tonBuyTickets(parseEventId(occurrence.id), occurrence.slug);\r\n\t\t} else {\r\n\t\t\tgoto(buildEventUrl(occurrence.id, occurrence.slug));\r\n\t\t}\r\n\t}\r\n\r\n\t// --- Lifecycle ---\r\n\tonMount(async () => {\r\n\t\t// Self-fetch mode (widget builder / color preview)\r\n\t\tif (!rawEvent && eventIdProp) {\r\n\t\t\ttry {\r\n\t\t\t\tconst fetched = await fetchEventDetails(eventIdProp);\r\n\t\t\t\trawEvent = fetched;\r\n\t\t\t} catch (err: any) {\r\n\t\t\t\tdataError = err.message || labels.failedToLoadEvent || 'Failed to load event';\r\n\t\t\t\tdataLoading = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tdataLoading = false;\r\n\t\t}\r\n\r\n\t\tif (!rawEvent) return;\r\n\r\n\t\t// UTM tracking — use event ID, not venue ID\r\n\t\tconst evtId = rawEvent.ID || rawEvent.id;\r\n\t\tif (evtId) {\r\n\t\t\ttrackUTMSource(evtId);\r\n\t\t}\r\n\r\n\t\t// Fetch series occurrences\r\n\t\tconst seriesId = rawEvent.eventSeriesId || 0;\r\n\t\tconst vId = rawEvent.venueID || rawEvent.venueId || 0;\r\n\r\n\t\tif (seriesId > 0 && vId > 0) {\r\n\t\t\ttry {\r\n\t\t\t\tconst occurrences = await fetchSeriesOccurrences(seriesId, vId);\r\n\t\t\t\tif (Array.isArray(occurrences) && occurrences.length > 0) {\r\n\t\t\t\t\tseriesOccurrences = occurrences.map((occ: any) => ({\r\n\t\t\t\t\t\tid: occ.id,\r\n\t\t\t\t\t\tslug: occ.slug || '',\r\n\t\t\t\t\t\tstartDateTime: occ.startDateTime,\r\n\t\t\t\t\t\tendDateTime: occ.endDateTime || '',\r\n\t\t\t\t\t\tstatus: (occ.ctaState?.reason === 'sold_out' ? 'sold_out' : 'on_sale') as import('$lib/public-calendar-flow/types').EventStatus,\r\n\t\t\t\t\t\tctaText: occ.ctaState?.text || 'Get Tickets',\r\n\t\t\t\t\t\tctaDisabled: occ.ctaState?.disabled || false,\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t} catch {\r\n\t\t\t\t// Non-fatal: event page works without series data\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Password protection check\r\n\t\tif (requiresPassword && !isEventAuthenticated(id)) {\r\n\t\t\tshowPasswordModal = true;\r\n\t\t}\r\n\t});\r\n</script>\r\n\r\n{#if useLegacy && LegacyComponent}\r\n\t<LegacyComponent\r\n\t\trawEvent={rawEventProp}\r\n\t\teventId={eventIdProp}\r\n\t\tslug={slugProp}\r\n\t\tcurrentEventId={currentEventIdProp}\r\n\t\t{onNavigateBack}\r\n\t\t{onBuyTickets}\r\n\t\t{organizationId}\r\n\t\t{labels}\r\n\t/>\r\n{:else}\r\n\t{#if dataLoading}\r\n\t\t<div class=\"flex items-center justify-center py-12 text-center loading-container\">\r\n\t\t\t<p>{labels.loadingEvent || 'Loading event...'}</p>\r\n\t\t</div>\r\n\t{:else if dataError}\r\n\t\t<div class=\"flex flex-col items-center justify-center py-12 text-center gap-4\">\r\n\t\t\t<p class=\"error-text\">{labels.errorPrefix || 'Error:'} {dataError}</p>\r\n\t\t\t{#if onNavigateBack}\r\n\t\t\t\t<button class=\"go-back-btn px-4 py-2 rounded-lg text-white\" onclick={onNavigateBack}>{labels.goBack || 'Go back'}</button>\r\n\t\t\t{/if}\r\n\t\t</div>\r\n\t{:else if eventData}\r\n\t\t{#if isLocked}\r\n\t\t\t<div class=\"locked-wrapper\">\r\n\t\t\t\t<div class=\"locked-overlay absolute inset-0 z-20 flex flex-col items-center justify-center min-h-96\">\r\n\t\t\t\t\t<div class=\"text-center p-8\">\r\n\t\t\t\t\t\t<div class=\"locked-icon-wrapper w-20 h-20 mx-auto mb-4 rounded-full flex items-center justify-center\">\r\n\t\t\t\t\t\t\t<Locked size={32} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<h2 class=\"locked-title text-xl font-semibold mb-2\">{labels.passwordProtectedTitle || 'This event is password protected'}</h2>\r\n\t\t\t\t\t\t<p class=\"locked-description text-sm max-w-xs mx-auto mb-6 leading-relaxed\">{labels.passwordProtectedDescription || 'Enter the event password to view details and purchase tickets.'}</p>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclass=\"unlock-btn py-3 px-6 text-white rounded-lg text-sm font-semibold cursor-pointer\"\r\n\t\t\t\t\t\t\tonclick={() => showPasswordModal = true}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{labels.enterPassword || 'Enter password'}\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"blur-content\">\r\n\t\t\t\t\t<AirbnbSplitMain\r\n\t\t\t\t\t\tevent={eventData}\r\n\t\t\t\t\t\tonCheckout={handleCheckout}\r\n\t\t\t\t\t\tonPromoApply={handlePromoApply}\r\n\t\t\t\t\t\tonPromoRemove={handlePromoRemove}\r\n\t\t\t\t\t\tonCollectionEventClick={handleCollectionEventClick}\r\n\t\t\t\t\t\tonShowtimeClick={handleShowtimeClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t{:else}\r\n\t\t\t<AirbnbSplitMain\r\n\t\t\t\tevent={eventData}\r\n\t\t\t\tonCheckout={handleCheckout}\r\n\t\t\t\tonPromoApply={handlePromoApply}\r\n\t\t\t\tonPromoRemove={handlePromoRemove}\r\n\t\t\t\tonCollectionEventClick={handleCollectionEventClick}\r\n\t\t\t\tonShowtimeClick={handleShowtimeClick}\r\n\t\t\t/>\r\n\t\t{/if}\r\n\t{/if}\r\n\r\n\t<InputModal\r\n\t\tbind:open={showPasswordModal}\r\n\t\tsize=\"md\"\r\n\t\ttitle={labels.enterEventPassword || \"Enter event password\"}\r\n\t\tdescription={labels.passwordModalDescription || \"This event requires a password to view. Please enter the password provided by the event organizer.\"}\r\n\t\tinputLabel={labels.passwordLabel || \"Password\"}\r\n\t\tinputType=\"password\"\r\n\t\tbind:inputValue={passwordValue}\r\n\t\tinputRequired={true}\r\n\t\terrorMessage={passwordError}\r\n\t\tshowError={!!passwordError}\r\n\t\tprimaryButtonText={labels.unlockEvent || \"Unlock event\"}\r\n\t\tsecondaryButtonText={labels.goBack || \"Go back\"}\r\n\t\tloading={passwordLoading}\r\n\t\tonconfirm={handlePasswordSubmit}\r\n\t\toncancel={handlePasswordCancel}\r\n\t\tonclose={handlePasswordCancel}\r\n\t/>\r\n{/if}\r\n\r\n<style>\r\n\t.loading-container {\r\n\t\tcolor: hsl(var(--text-secondary, 215 16% 47%));\r\n\t}\r\n\r\n\t.error-text {\r\n\t\tcolor: hsl(var(--status-sold-out, 0 72% 51%));\r\n\t}\r\n\r\n\t.go-back-btn {\r\n\t\tbackground-color: hsl(var(--brand-primary, 224 76% 48%));\r\n\t}\r\n\r\n\t.locked-wrapper {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.blur-content {\r\n\t\tfilter: blur(8px);\r\n\t\tpointer-events: none;\r\n\t\tuser-select: none;\r\n\t}\r\n\r\n\t.locked-overlay {\r\n\t\tbackground-color: hsl(var(--bg-primary, 0 0% 100%) / 95%);\r\n\t}\r\n\r\n\t.locked-icon-wrapper {\r\n\t\tbackground-color: hsl(var(--bg-secondary, 210 20% 98%));\r\n\t\tcolor: hsl(var(--text-tertiary, 220 9% 46%));\r\n\t}\r\n\r\n\t.locked-title {\r\n\t\tcolor: hsl(var(--text-primary, 222 47% 11%));\r\n\t}\r\n\r\n\t.locked-description {\r\n\t\tcolor: hsl(var(--text-secondary, 215 16% 47%));\r\n\t}\r\n\r\n\t.unlock-btn {\r\n\t\tbackground-color: hsl(var(--brand-primary, 224 76% 48%));\r\n\t\tborder: none;\r\n\t\ttransition: background-color 0.2s ease;\r\n\t}\r\n\r\n\t.unlock-btn:hover {\r\n\t\topacity: 0.9;\r\n\t}\r\n</style>\r\n"],"names":["buildEventUrl","id","slug","buildEventBySlugUrl","buildCheckoutUrl","logger","createLogger","useLegacy","$","LegacyComponent","m","rawEventProp","eventIdProp","slugProp","currentEventIdProp","onNavigateBack","onBuyTickets","onNavigateToCart","organizationId","labels","$$props","rawEvent","dataLoading","dataError","baseEventData","transformApiEvent","seriesOccurrences","eventData","showPasswordModal","isPasswordVerified","passwordValue","passwordError","passwordLoading","requiresPassword","isLocked","isEventAuthenticated","evtId","setEventAuthenticated","authedEvents","evtIdStr","handlePasswordSubmit","e","password","checkEventPassword","handlePasswordCancel","lastPromoCode","lastPromoDiscount","handlePromoApply","code","result","validatePromoCode","handlePromoRemove","handleCheckout","orderTotals","quantities","donationAmounts","line","t","persistCheckoutState","initiateOrder","toast","goto","handleCollectionEventClick","event","handleShowtimeClick","occurrence","parseEventId","onMount","fetched","fetchEventDetails","err","trackUTMSource","seriesId","vId","occurrences","fetchSeriesOccurrences","occ","LegacyComponent_1","$$anchor","div","root_3","p","div_1","root_4","p_1","button","root_5","$$args","$$render","consequent_2","text_1","div_2","root_7","div_3","div_4","div_5","Locked","h2","p_2","button_1","div_6","AirbnbSplitMain","node_6","consequent_4","alternate","consequent_1","consequent_3","consequent_5","InputModal","node_7","$$value","consequent","alternate_1"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as e from "svelte/internal/client";
|
|
3
3
|
import { onMount as ba } from "svelte";
|
|
4
|
-
import {
|
|
4
|
+
import { a_ as xa, a$ as ya, u as rt, P as st, ai as Bt, a1 as Nt, aG as wa, $ as Aa, aH as Ta, T as Sa, aI as ka, aJ as ja, aj as Ea, ak as Da, c as Pa, q as Ia, f as Ca, a as La, r as Ba, g as Na, I as Ma, b as Ra, at, b0 as Dt, b1 as Fa, L as Qa, A as Ua, b2 as Pt, ae as qa, a2 as It } from "./VenueCalendar-BoSdP7xI.js";
|
|
5
5
|
import "svelte/transition";
|
|
6
6
|
import "svelte/easing";
|
|
7
|
-
import "./api-
|
|
8
|
-
import { W as
|
|
9
|
-
import { h as Za } from "./OrderSummary-
|
|
7
|
+
import "./api-CCKXC9Qs.js";
|
|
8
|
+
import { W as Oa } from "./WaitlistModal-DWcbQmfW.js";
|
|
9
|
+
import { h as Za } from "./OrderSummary-B1GhsUnc.js";
|
|
10
10
|
function Wa(_) {
|
|
11
11
|
if (!_) return "";
|
|
12
12
|
switch (_.profileImageSource || "1") {
|
|
@@ -86,16 +86,16 @@ function Ct(_, l) {
|
|
|
86
86
|
return s.ctaState?.reason === "sold_out" || s.ctaState?.text === "Sold out";
|
|
87
87
|
}
|
|
88
88
|
function ee(s, g) {
|
|
89
|
-
const M = d(s.startDateTime), Y = ne(s),
|
|
89
|
+
const M = d(s.startDateTime), Y = ne(s), q = s.id === U();
|
|
90
90
|
let te = `${M} on ${g}`;
|
|
91
|
-
return
|
|
91
|
+
return q && (te += ", currently selected"), Y ? Y.line2 ? te += `, ${Y.line1} ${Y.line2}` : te += `, ${Y.line1}` : Q(s) || (te += `. ${fe().pressEnterToGetTicketsForDate || "Press Enter to get tickets"}`), te;
|
|
92
92
|
}
|
|
93
93
|
var Ae = e.comment(), Me = e.first_child(Ae);
|
|
94
94
|
{
|
|
95
95
|
var De = (s) => {
|
|
96
96
|
var g = rr();
|
|
97
97
|
let M;
|
|
98
|
-
var Y = e.child(g),
|
|
98
|
+
var Y = e.child(g), q = e.child(Y, !0);
|
|
99
99
|
e.reset(Y);
|
|
100
100
|
var te = e.sibling(Y, 2);
|
|
101
101
|
e.each(te, 21, () => e.get(pe), e.index, (ce, Pe, le) => {
|
|
@@ -124,7 +124,7 @@ function Ct(_, l) {
|
|
|
124
124
|
]
|
|
125
125
|
), e.delegated("click", y, () => _e(e.get(j))), e.append(Te, y);
|
|
126
126
|
}), e.reset(C), e.template_effect(() => e.set_text(ae, c())), e.append(k, m);
|
|
127
|
-
},
|
|
127
|
+
}, O = (k) => {
|
|
128
128
|
var m = $a(), h = e.child(m);
|
|
129
129
|
e.set_attribute(h, "id", `date-group-b-${le}`);
|
|
130
130
|
var ae = e.child(h, !0);
|
|
@@ -143,12 +143,12 @@ function Ct(_, l) {
|
|
|
143
143
|
e.reset(Ce);
|
|
144
144
|
var Je = e.sibling(Ce, 2);
|
|
145
145
|
{
|
|
146
|
-
var
|
|
146
|
+
var qe = (Qe) => {
|
|
147
147
|
var xe = Ga(), Z = e.child(xe, !0);
|
|
148
148
|
e.reset(xe), e.template_effect(() => e.set_text(Z, e.get(y).line2)), e.append(Qe, xe);
|
|
149
149
|
};
|
|
150
150
|
e.if(Je, (Qe) => {
|
|
151
|
-
e.get(y).line2 && Qe(
|
|
151
|
+
e.get(y).line2 && Qe(qe);
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
e.reset(je), e.template_effect(() => e.set_text(We, e.get(y).line1)), e.append(oe, je);
|
|
@@ -195,7 +195,7 @@ function Ct(_, l) {
|
|
|
195
195
|
}), e.reset(C), e.reset(m), e.template_effect(() => e.set_text(ae, c())), e.append(k, m);
|
|
196
196
|
};
|
|
197
197
|
e.if(I, (k) => {
|
|
198
|
-
se() === "A" ? k(R) : se() === "B" ? k(
|
|
198
|
+
se() === "A" ? k(R) : se() === "B" ? k(O, 1) : se() === "C" && k(he, 2);
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
201
|
e.reset(x), e.template_effect(() => e.set_attribute(x, "aria-label", `Showtimes for ${c() ?? ""}`)), e.append(ce, x);
|
|
@@ -204,7 +204,7 @@ function Ct(_, l) {
|
|
|
204
204
|
"variant-a": se() === "A",
|
|
205
205
|
"variant-b": se() === "B",
|
|
206
206
|
"variant-c": se() === "C"
|
|
207
|
-
}), e.set_text(
|
|
207
|
+
}), e.set_text(q, fe().showtimes || "Showtimes");
|
|
208
208
|
}), e.append(s, g);
|
|
209
209
|
};
|
|
210
210
|
e.if(Me, (s) => {
|
|
@@ -235,14 +235,14 @@ function Lt(_, l) {
|
|
|
235
235
|
Sa(x, { size: 20, class: "shrink-0 mt-0.5 icon-muted" });
|
|
236
236
|
var I = e.sibling(x, 2), R = e.child(I);
|
|
237
237
|
{
|
|
238
|
-
var
|
|
238
|
+
var O = (m) => {
|
|
239
239
|
var h = sr(), ae = e.child(h, !0);
|
|
240
240
|
e.reset(h), e.template_effect((C) => e.set_text(ae, C), [
|
|
241
241
|
() => o() && l.event?.endDateTime ? Ea(l.event?.startDateTime, l.event?.endDateTime, U()) : Nt(l.event?.startDateTime, U())
|
|
242
242
|
]), e.append(m, h);
|
|
243
243
|
};
|
|
244
244
|
e.if(R, (m) => {
|
|
245
|
-
pe() && m(
|
|
245
|
+
pe() && m(O);
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
248
|
var he = e.sibling(R, 2);
|
|
@@ -267,16 +267,16 @@ function Lt(_, l) {
|
|
|
267
267
|
Ta(M, { size: 20, class: "shrink-0 mt-0.5 icon-muted" });
|
|
268
268
|
var Y = e.sibling(M, 2);
|
|
269
269
|
{
|
|
270
|
-
var
|
|
270
|
+
var q = (c) => {
|
|
271
271
|
var f = or(), x = e.child(f), I = e.child(x, !0);
|
|
272
272
|
e.reset(x);
|
|
273
273
|
var R = e.sibling(x, 2);
|
|
274
|
-
e.each(R, 17, $, e.index, (
|
|
274
|
+
e.each(R, 17, $, e.index, (O, he) => {
|
|
275
275
|
var k = lr(), m = e.child(k, !0);
|
|
276
|
-
e.reset(k), e.template_effect(() => e.set_text(m, e.get(he))), e.append(
|
|
276
|
+
e.reset(k), e.template_effect(() => e.set_text(m, e.get(he))), e.append(O, k);
|
|
277
277
|
}), e.reset(f), e.template_effect(
|
|
278
|
-
(
|
|
279
|
-
e.set_attribute(f, "href", se()), e.set_attribute(f, "aria-label", `${(K().name || Q().venue || "Venue") ?? ""}, ${
|
|
278
|
+
(O) => {
|
|
279
|
+
e.set_attribute(f, "href", se()), e.set_attribute(f, "aria-label", `${(K().name || Q().venue || "Venue") ?? ""}, ${O ?? ""} (opens in Google Maps)`), e.set_text(I, K().name || Q().venue || "Venue");
|
|
280
280
|
},
|
|
281
281
|
[() => $().join(", ")]
|
|
282
282
|
), e.append(c, f);
|
|
@@ -284,13 +284,13 @@ function Lt(_, l) {
|
|
|
284
284
|
var f = cr(), x = e.child(f), I = e.child(x, !0);
|
|
285
285
|
e.reset(x);
|
|
286
286
|
var R = e.sibling(x, 2);
|
|
287
|
-
e.each(R, 17, $, e.index, (
|
|
287
|
+
e.each(R, 17, $, e.index, (O, he) => {
|
|
288
288
|
var k = dr(), m = e.child(k, !0);
|
|
289
|
-
e.reset(k), e.template_effect(() => e.set_text(m, e.get(he))), e.append(
|
|
289
|
+
e.reset(k), e.template_effect(() => e.set_text(m, e.get(he))), e.append(O, k);
|
|
290
290
|
}), e.reset(f), e.template_effect(() => e.set_text(I, K().name || Q().venue || "Venue")), e.append(c, f);
|
|
291
291
|
};
|
|
292
292
|
e.if(Y, (c) => {
|
|
293
|
-
se() ? c(
|
|
293
|
+
se() ? c(q) : c(te, !1);
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
296
|
e.reset(g);
|
|
@@ -312,7 +312,7 @@ function Lt(_, l) {
|
|
|
312
312
|
var f = ur(), x = e.child(f);
|
|
313
313
|
ja(x, { size: 20, class: "shrink-0 mt-0.5 icon-muted" });
|
|
314
314
|
var I = e.sibling(x, 2), R = e.child(I, !0);
|
|
315
|
-
e.reset(I), e.reset(f), e.template_effect((
|
|
315
|
+
e.reset(I), e.reset(f), e.template_effect((O) => e.set_text(R, O), [
|
|
316
316
|
() => l.event?.hasAgeRestriction && l.event?.ageRequirement ? (Q().agesPlus || "Ages {age}+").replace("{age}", String(l.event.ageRequirement)) : Q().allAges || "All ages"
|
|
317
317
|
]), e.append(c, f);
|
|
318
318
|
};
|
|
@@ -322,7 +322,7 @@ function Lt(_, l) {
|
|
|
322
322
|
}
|
|
323
323
|
e.reset(V), e.template_effect(() => e.set_text(Me, e.get(ne))), e.append(_, V), e.pop();
|
|
324
324
|
}
|
|
325
|
-
var fr = e.from_html('<button class="go-back-btn svelte-8ac2j5"> </button>'), pr = e.from_html('<div class="error-container svelte-8ac2j5"><p class="error-text svelte-8ac2j5"> </p> <!></div>'), _r = e.from_html('<div class="locked-overlay svelte-8ac2j5"><div class="locked-content svelte-8ac2j5"><div class="locked-icon-wrapper svelte-8ac2j5"><!></div> <h2 class="locked-title svelte-8ac2j5"> </h2> <p class="locked-description svelte-8ac2j5"> </p> <button class="unlock-btn svelte-8ac2j5"> </button></div></div>'), mr = e.from_html('<button class="back-button svelte-8ac2j5"><!></button>'), hr = e.from_html('<p class="event-subtitle svelte-8ac2j5"> </p>'), br = e.from_html('<div class="mobile-showtimes svelte-8ac2j5"><!></div>'), xr = e.from_html('<div class="mobile-showtimes svelte-8ac2j5"><!></div>'), yr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="description svelte-8ac2j5"> </div></section>'), wr = e.from_html('<div class="performer-card svelte-8ac2j5"><img class="performer-avatar svelte-8ac2j5"/> <span class="performer-name svelte-8ac2j5"> </span></div>'), Ar = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="performers-grid svelte-8ac2j5"></div></section>'), Tr = e.from_html('<h3 class="faq-question-text svelte-8ac2j5"> </h3>'), Sr = e.from_html('<div class="faq-item"><!> <p class="faq-answer-text svelte-8ac2j5"> </p></div>'), kr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="faq-list svelte-8ac2j5"></div></section>'), jr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <p class="disclaimer-text svelte-8ac2j5"> </p></section>'), Er = e.from_html('<p class="event-subtitle svelte-8ac2j5"> </p>'), Dr = e.from_html('<div class="scarcity-badge-wrapper svelte-8ac2j5"><!></div>'), Pr = e.from_html('<div class="price-label svelte-8ac2j5"> </div> <div class="price-amount svelte-8ac2j5"> </div>', 1), Ir = e.from_html('<div class="waitlist-info svelte-8ac2j5"> </div>'), Cr = e.from_html('<div class="cancelled-info-content svelte-8ac2j5"><p class="svelte-8ac2j5"> </p> <p class="svelte-8ac2j5"> </p> <p class="cancelled-footnote svelte-8ac2j5"> </p></div>'), Lr = e.from_html('<div class="cancelled-info-section svelte-8ac2j5"><button class="cancelled-learn-more svelte-8ac2j5"><span> </span> <span><!></span></button> <!></div>'), Br = e.from_html('<span class="mobile-waitlist-label svelte-8ac2j5"> </span> <span class="mobile-date-label svelte-8ac2j5"> </span>', 1), Nr = e.from_html('<div class="mobile-price-line svelte-8ac2j5"><span class="mobile-price-label svelte-8ac2j5"> </span> <span class="mobile-price-amount svelte-8ac2j5"> </span></div> <span class="mobile-date-label svelte-8ac2j5"> </span>', 1), Mr = e.from_html('<div class="mobile-cta-content svelte-8ac2j5"><div class="mobile-cta-left svelte-8ac2j5"><!></div> <button><span translate="no"> </span></button></div>'), Rr = e.from_html('<div class="mobile-cancelled-info-content svelte-8ac2j5"><p class="svelte-8ac2j5"> </p> <p class="svelte-8ac2j5"> </p> <p class="cancelled-footnote svelte-8ac2j5"> </p></div>'), Fr = e.from_html('<div class="mobile-cancelled-section svelte-8ac2j5"><button class="mobile-cta-button mobile-cta-button-disabled svelte-8ac2j5" disabled=""> </button> <button class="mobile-cancelled-learn-more svelte-8ac2j5"><span> </span> <span><!></span></button></div> <!>', 1), Qr = e.from_html('<button class="mobile-cta-button mobile-cta-button-disabled svelte-8ac2j5" disabled=""><span translate="no"> </span></button>'), Ur = e.from_html('<!> <div><!> <div><div class="hero-card svelte-8ac2j5"><img class="hero-image svelte-8ac2j5"/> <!></div> <div class="event-header svelte-8ac2j5"><h1 class="event-title svelte-8ac2j5"> </h1> <!> <!></div> <!> <!> <!> <!> <!> <!></div> <aside><div class="event-header sidebar-event-header svelte-8ac2j5"><h1 class="event-title svelte-8ac2j5"> </h1> <!> <!></div> <div class="price-card svelte-8ac2j5"><!> <!> <button><span translate="no"> </span></button> <!> <!></div> <!></aside></div> <div><!></div>', 1),
|
|
325
|
+
var fr = e.from_html('<button class="go-back-btn svelte-8ac2j5"> </button>'), pr = e.from_html('<div class="error-container svelte-8ac2j5"><p class="error-text svelte-8ac2j5"> </p> <!></div>'), _r = e.from_html('<div class="locked-overlay svelte-8ac2j5"><div class="locked-content svelte-8ac2j5"><div class="locked-icon-wrapper svelte-8ac2j5"><!></div> <h2 class="locked-title svelte-8ac2j5"> </h2> <p class="locked-description svelte-8ac2j5"> </p> <button class="unlock-btn svelte-8ac2j5"> </button></div></div>'), mr = e.from_html('<button class="back-button svelte-8ac2j5"><!></button>'), hr = e.from_html('<p class="event-subtitle svelte-8ac2j5"> </p>'), br = e.from_html('<div class="mobile-showtimes svelte-8ac2j5"><!></div>'), xr = e.from_html('<div class="mobile-showtimes svelte-8ac2j5"><!></div>'), yr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="description svelte-8ac2j5"> </div></section>'), wr = e.from_html('<div class="performer-card svelte-8ac2j5"><img class="performer-avatar svelte-8ac2j5"/> <span class="performer-name svelte-8ac2j5"> </span></div>'), Ar = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="performers-grid svelte-8ac2j5"></div></section>'), Tr = e.from_html('<h3 class="faq-question-text svelte-8ac2j5"> </h3>'), Sr = e.from_html('<div class="faq-item"><!> <p class="faq-answer-text svelte-8ac2j5"> </p></div>'), kr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <div class="faq-list svelte-8ac2j5"></div></section>'), jr = e.from_html('<section class="content-section svelte-8ac2j5"><h2 class="section-header svelte-8ac2j5"> </h2> <p class="disclaimer-text svelte-8ac2j5"> </p></section>'), Er = e.from_html('<p class="event-subtitle svelte-8ac2j5"> </p>'), Dr = e.from_html('<div class="scarcity-badge-wrapper svelte-8ac2j5"><!></div>'), Pr = e.from_html('<div class="price-label svelte-8ac2j5"> </div> <div class="price-amount svelte-8ac2j5"> </div>', 1), Ir = e.from_html('<div class="waitlist-info svelte-8ac2j5"> </div>'), Cr = e.from_html('<div class="cancelled-info-content svelte-8ac2j5"><p class="svelte-8ac2j5"> </p> <p class="svelte-8ac2j5"> </p> <p class="cancelled-footnote svelte-8ac2j5"> </p></div>'), Lr = e.from_html('<div class="cancelled-info-section svelte-8ac2j5"><button class="cancelled-learn-more svelte-8ac2j5"><span> </span> <span><!></span></button> <!></div>'), Br = e.from_html('<span class="mobile-waitlist-label svelte-8ac2j5"> </span> <span class="mobile-date-label svelte-8ac2j5"> </span>', 1), Nr = e.from_html('<div class="mobile-price-line svelte-8ac2j5"><span class="mobile-price-label svelte-8ac2j5"> </span> <span class="mobile-price-amount svelte-8ac2j5"> </span></div> <span class="mobile-date-label svelte-8ac2j5"> </span>', 1), Mr = e.from_html('<div class="mobile-cta-content svelte-8ac2j5"><div class="mobile-cta-left svelte-8ac2j5"><!></div> <button><span translate="no"> </span></button></div>'), Rr = e.from_html('<div class="mobile-cancelled-info-content svelte-8ac2j5"><p class="svelte-8ac2j5"> </p> <p class="svelte-8ac2j5"> </p> <p class="cancelled-footnote svelte-8ac2j5"> </p></div>'), Fr = e.from_html('<div class="mobile-cancelled-section svelte-8ac2j5"><button class="mobile-cta-button mobile-cta-button-disabled svelte-8ac2j5" disabled=""> </button> <button class="mobile-cancelled-learn-more svelte-8ac2j5"><span> </span> <span><!></span></button></div> <!>', 1), Qr = e.from_html('<button class="mobile-cta-button mobile-cta-button-disabled svelte-8ac2j5" disabled=""><span translate="no"> </span></button>'), Ur = e.from_html('<!> <div><!> <div><div class="hero-card svelte-8ac2j5"><img class="hero-image svelte-8ac2j5"/> <!></div> <div class="event-header svelte-8ac2j5"><h1 class="event-title svelte-8ac2j5"> </h1> <!> <!></div> <!> <!> <!> <!> <!> <!></div> <aside><div class="event-header sidebar-event-header svelte-8ac2j5"><h1 class="event-title svelte-8ac2j5"> </h1> <!> <!></div> <div class="price-card svelte-8ac2j5"><!> <!> <button><span translate="no"> </span></button> <!> <!></div> <!></aside></div> <div><!></div>', 1), qr = e.from_html('<div class="event-page svelte-8ac2j5"><!></div> <!> <!>', 1);
|
|
326
326
|
function Gr(_, l) {
|
|
327
327
|
e.push(l, !0);
|
|
328
328
|
const K = Pa("VC");
|
|
@@ -346,7 +346,7 @@ function Gr(_, l) {
|
|
|
346
346
|
return Array.isArray(i) ? i.filter((r) => r.published === void 0 && r.isPublished === void 0 ? !0 : r.published === !0 || r.isPublished === !0) : [];
|
|
347
347
|
}
|
|
348
348
|
e.derived(() => Y(e.get(d)?.showtimes || []));
|
|
349
|
-
let
|
|
349
|
+
let q = e.state(e.proxy([])), te = e.derived(() => e.get(d)?.eventSeriesId || 0);
|
|
350
350
|
e.derived(() => e.get(d)?.venueID || e.get(d)?.venueId || e.get(c)?.id || 0);
|
|
351
351
|
let ce = e.derived(() => e.get(te) > 0), Pe = e.derived(() => fe() === null ? null : fe() ?? parseInt(String(e.get(g))));
|
|
352
352
|
ba(async () => {
|
|
@@ -367,9 +367,9 @@ function Gr(_, l) {
|
|
|
367
367
|
rt(e.get(d).coverImage || e.get(d).image || e.get(d).ShowImage) || e.set(ne, !0);
|
|
368
368
|
const r = e.get(d).eventSeriesId || 0, v = e.get(d).venueID || e.get(d).venueId || 0;
|
|
369
369
|
if (r > 0 && v > 0 ? La(r, v).then((u) => {
|
|
370
|
-
e.set(
|
|
370
|
+
e.set(q, u, !0), e.set(V, !0);
|
|
371
371
|
}).catch((u) => {
|
|
372
|
-
K.error("Failed to fetch series occurrences:", u), e.set(
|
|
372
|
+
K.error("Failed to fetch series occurrences:", u), e.set(q, [], !0), e.set(V, !0);
|
|
373
373
|
}) : e.set(V, !0), v > 0 && Ba(v).then((u) => {
|
|
374
374
|
e.set(I, u?.stages || [], !0);
|
|
375
375
|
}).catch((u) => {
|
|
@@ -384,7 +384,7 @@ function Gr(_, l) {
|
|
|
384
384
|
pe() && pe()(r, v || e.get(M));
|
|
385
385
|
}
|
|
386
386
|
const Ie = (i) => i ? Array.isArray(i) ? i.map((r) => typeof r == "string" ? { question: "", answer: r.trim() } : r) : [{ question: "", answer: String(i).trim() }] : [];
|
|
387
|
-
let c = e.derived(() => e.get(d)?.venue || {}), f = e.derived(() => Ie(e.get(c).faq)), x = e.derived(() => e.get(c).disclaimer || ""), I = e.state(e.proxy([])), R = e.derived(() => e.get(d)?.stage?.name || ""),
|
|
387
|
+
let c = e.derived(() => e.get(d)?.venue || {}), f = e.derived(() => Ie(e.get(c).faq)), x = e.derived(() => e.get(c).disclaimer || ""), I = e.state(e.proxy([])), R = e.derived(() => e.get(d)?.stage?.name || ""), O = e.derived(() => e.get(I).length > 1 && e.get(R));
|
|
388
388
|
function he(i) {
|
|
389
389
|
if (!i) return [];
|
|
390
390
|
const r = i.split(",").map((P) => P.trim());
|
|
@@ -442,7 +442,7 @@ function Gr(_, l) {
|
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
|
-
function
|
|
445
|
+
function qe() {
|
|
446
446
|
e.set(H, !1), ie() && ie()();
|
|
447
447
|
}
|
|
448
448
|
let Qe = e.derived(() => e.get(d)?.password && e.get(d).password.trim() !== ""), xe = e.derived(() => e.get(Qe) && !e.get(Fe) && !Ce(e.get(g))), Z = e.derived(() => e.get(s) ? Za(e.get(s), e.get(G), {
|
|
@@ -453,7 +453,7 @@ function Gr(_, l) {
|
|
|
453
453
|
text: o().loading || "Loading...",
|
|
454
454
|
disabled: !0,
|
|
455
455
|
reason: "loading"
|
|
456
|
-
}),
|
|
456
|
+
}), Oe = e.derived(() => e.get(Z).text), ye = e.derived(() => e.get(Z).disabled);
|
|
457
457
|
function it() {
|
|
458
458
|
ie() && ie()();
|
|
459
459
|
}
|
|
@@ -487,11 +487,11 @@ function Gr(_, l) {
|
|
|
487
487
|
return `${u} ${P} ${de} · ${b}`;
|
|
488
488
|
}
|
|
489
489
|
let Ft = e.derived(() => Rt(e.get(s)?.startDateTime, e.get(Ue)));
|
|
490
|
-
var ut =
|
|
490
|
+
var ut = qr(), Ke = e.first_child(ut), Qt = e.child(Ke);
|
|
491
491
|
{
|
|
492
492
|
var Ut = (i) => {
|
|
493
493
|
Dt(i, { type: "event" });
|
|
494
|
-
},
|
|
494
|
+
}, qt = (i) => {
|
|
495
495
|
var r = pr(), v = e.child(r), u = e.child(v);
|
|
496
496
|
e.reset(v);
|
|
497
497
|
var P = e.sibling(v, 2);
|
|
@@ -505,7 +505,7 @@ function Gr(_, l) {
|
|
|
505
505
|
});
|
|
506
506
|
}
|
|
507
507
|
e.reset(r), e.template_effect(() => e.set_text(u, `${(o().errorPrefix || "Error:") ?? ""} ${e.get(Q) ?? ""}`)), e.append(i, r);
|
|
508
|
-
},
|
|
508
|
+
}, Ot = (i) => {
|
|
509
509
|
var r = Ur(), v = e.first_child(r);
|
|
510
510
|
{
|
|
511
511
|
var u = (t) => {
|
|
@@ -580,7 +580,7 @@ function Gr(_, l) {
|
|
|
580
580
|
return e.get(m);
|
|
581
581
|
},
|
|
582
582
|
get showStage() {
|
|
583
|
-
return e.get(
|
|
583
|
+
return e.get(O);
|
|
584
584
|
},
|
|
585
585
|
get eventStageName() {
|
|
586
586
|
return e.get(R);
|
|
@@ -601,7 +601,7 @@ function Gr(_, l) {
|
|
|
601
601
|
var a = br(), n = e.child(a);
|
|
602
602
|
Ct(n, {
|
|
603
603
|
get occurrences() {
|
|
604
|
-
return e.get(
|
|
604
|
+
return e.get(q);
|
|
605
605
|
},
|
|
606
606
|
get currentEventId() {
|
|
607
607
|
return e.get(Pe);
|
|
@@ -628,7 +628,7 @@ function Gr(_, l) {
|
|
|
628
628
|
e.reset(a), e.append(t, a);
|
|
629
629
|
};
|
|
630
630
|
e.if(pt, (t) => {
|
|
631
|
-
e.get(ce) && e.get(
|
|
631
|
+
e.get(ce) && e.get(q).length > 0 ? t(zt) : e.get(ce) && e.get(V) && e.get(q).length === 0 && t(Gt, 1);
|
|
632
632
|
});
|
|
633
633
|
}
|
|
634
634
|
var _t = e.sibling(pt, 2);
|
|
@@ -739,7 +739,7 @@ function Gr(_, l) {
|
|
|
739
739
|
return e.get(m);
|
|
740
740
|
},
|
|
741
741
|
get showStage() {
|
|
742
|
-
return e.get(
|
|
742
|
+
return e.get(O);
|
|
743
743
|
},
|
|
744
744
|
get eventStageName() {
|
|
745
745
|
return e.get(R);
|
|
@@ -759,7 +759,7 @@ function Gr(_, l) {
|
|
|
759
759
|
{
|
|
760
760
|
var ia = (t) => {
|
|
761
761
|
var a = Dr(), n = e.child(a);
|
|
762
|
-
|
|
762
|
+
qa(n, {
|
|
763
763
|
get remaining() {
|
|
764
764
|
return e.get(be);
|
|
765
765
|
},
|
|
@@ -840,7 +840,7 @@ function Gr(_, l) {
|
|
|
840
840
|
var ua = (t) => {
|
|
841
841
|
Ct(t, {
|
|
842
842
|
get occurrences() {
|
|
843
|
-
return e.get(
|
|
843
|
+
return e.get(q);
|
|
844
844
|
},
|
|
845
845
|
get currentEventId() {
|
|
846
846
|
return e.get(Pe);
|
|
@@ -865,7 +865,7 @@ function Gr(_, l) {
|
|
|
865
865
|
}
|
|
866
866
|
};
|
|
867
867
|
e.if(va, (t) => {
|
|
868
|
-
e.get(ce) && e.get(
|
|
868
|
+
e.get(ce) && e.get(q).length > 0 ? t(ua) : e.get(ce) && e.get(V) && e.get(q).length === 0 && t(ga, 1);
|
|
869
869
|
});
|
|
870
870
|
}
|
|
871
871
|
e.reset(Ge), e.reset(P);
|
|
@@ -904,7 +904,7 @@ function Gr(_, l) {
|
|
|
904
904
|
e.reset(F), e.reset(E), e.reset(a), e.template_effect(() => {
|
|
905
905
|
L = e.set_class(E, 1, "mobile-cta-button svelte-8ac2j5", null, L, {
|
|
906
906
|
"mobile-cta-waitlist-button": e.get(Z).reason === "sold_out_waitlist"
|
|
907
|
-
}), e.set_text(W, e.get(
|
|
907
|
+
}), e.set_text(W, e.get(Oe));
|
|
908
908
|
}), e.delegated("click", E, function(...S) {
|
|
909
909
|
(e.get(Z).reason === "sold_out_waitlist" ? () => e.set(oe, !0) : nt)?.apply(this, S);
|
|
910
910
|
}), e.append(t, a);
|
|
@@ -934,11 +934,11 @@ function Gr(_, l) {
|
|
|
934
934
|
});
|
|
935
935
|
}
|
|
936
936
|
e.template_effect(() => {
|
|
937
|
-
e.set_text(w, e.get(
|
|
937
|
+
e.set_text(w, e.get(Oe)), e.set_attribute(A, "aria-expanded", e.get(T)), e.set_text(L, o().learnMore || "Learn more"), W = e.set_class(F, 1, "chevron svelte-8ac2j5", null, W, { expanded: e.get(T) });
|
|
938
938
|
}), e.delegated("click", A, () => e.set(T, !e.get(T))), e.append(t, a);
|
|
939
939
|
}, ma = (t) => {
|
|
940
940
|
var a = Qr(), n = e.child(a), p = e.child(n, !0);
|
|
941
|
-
e.reset(n), e.reset(a), e.template_effect(() => e.set_text(p, e.get(
|
|
941
|
+
e.reset(n), e.reset(a), e.template_effect(() => e.set_text(p, e.get(Oe))), e.append(t, a);
|
|
942
942
|
};
|
|
943
943
|
e.if(fa, (t) => {
|
|
944
944
|
e.get(ye) ? e.get(re) ? t(_a, 1) : t(ma, !1) : t(pa);
|
|
@@ -949,7 +949,7 @@ function Gr(_, l) {
|
|
|
949
949
|
de = e.set_class(P, 1, "content-wrapper svelte-8ac2j5", null, de, { "content-hidden": e.get(me) }), Ze = e.set_class(X, 1, "main-content svelte-8ac2j5", null, Ze, { "blur-content": e.get(xe) }), e.set_attribute(Ee, "src", t), e.set_attribute(Ee, "alt", e.get(s).name || "Event"), e.set_text(Kt, e.get(s).name), xt = e.set_class(Ge, 1, "sidebar svelte-8ac2j5", null, xt, { "blur-content": e.get(xe) }), e.set_text(aa, e.get(s).name), Tt = e.set_class(Be, 1, "cta-button svelte-8ac2j5", null, Tt, {
|
|
950
950
|
"cta-disabled": e.get(ye),
|
|
951
951
|
"cta-waitlist": e.get(Z).reason === "sold_out_waitlist"
|
|
952
|
-
}), Be.disabled = e.get(ye), e.set_text(la, e.get(
|
|
952
|
+
}), Be.disabled = e.get(ye), e.set_text(la, e.get(Oe)), jt = e.set_class(et, 1, "mobile-cta-bar svelte-8ac2j5", null, jt, {
|
|
953
953
|
"mobile-cta-disabled": e.get(ye),
|
|
954
954
|
"mobile-cta-cancelled": e.get(re),
|
|
955
955
|
"mobile-cta-hidden": e.get(xe),
|
|
@@ -964,7 +964,7 @@ function Gr(_, l) {
|
|
|
964
964
|
}), e.append(i, r);
|
|
965
965
|
};
|
|
966
966
|
e.if(Qt, (i) => {
|
|
967
|
-
e.get(_e) ? i(Ut) : e.get(Q) ? i(
|
|
967
|
+
e.get(_e) ? i(Ut) : e.get(Q) ? i(qt, 1) : e.get(s) && i(Ot, 2);
|
|
968
968
|
});
|
|
969
969
|
}
|
|
970
970
|
e.reset(Ke);
|
|
@@ -1000,8 +1000,8 @@ function Gr(_, l) {
|
|
|
1000
1000
|
return e.get(Re);
|
|
1001
1001
|
},
|
|
1002
1002
|
onconfirm: Je,
|
|
1003
|
-
oncancel:
|
|
1004
|
-
onclose:
|
|
1003
|
+
oncancel: qe,
|
|
1004
|
+
onclose: qe,
|
|
1005
1005
|
get open() {
|
|
1006
1006
|
return e.get(H);
|
|
1007
1007
|
},
|
|
@@ -1019,7 +1019,7 @@ function Gr(_, l) {
|
|
|
1019
1019
|
var Zt = e.sibling(gt, 2);
|
|
1020
1020
|
{
|
|
1021
1021
|
let i = e.derived(() => parseInt(String(e.get(g)))), r = e.derived(() => e.get(s)?.name || "this event");
|
|
1022
|
-
|
|
1022
|
+
Oa(Zt, {
|
|
1023
1023
|
get eventId() {
|
|
1024
1024
|
return e.get(i);
|
|
1025
1025
|
},
|
|
@@ -1041,4 +1041,4 @@ e.delegate(["click"]);
|
|
|
1041
1041
|
export {
|
|
1042
1042
|
Gr as default
|
|
1043
1043
|
};
|
|
1044
|
-
//# sourceMappingURL=EventPage.legacy-
|
|
1044
|
+
//# sourceMappingURL=EventPage.legacy-D-9svuzb.js.map
|