@dcl/landing-site 0.5.1-24685869120.commit-1de5712 → 0.5.1-24686484792.commit-e56f2bf
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/assets/{AnimatedBackground--tmRk4pB.js → AnimatedBackground-BbbuCmrW.js} +2 -2
- package/assets/{AnimatedBackground--tmRk4pB.js.map → AnimatedBackground-BbbuCmrW.js.map} +1 -1
- package/assets/{AnimatedSection-4VTaj_2R.js → AnimatedSection-CcAt5h6R.js} +1 -1
- package/assets/{AnimatedSection-4VTaj_2R.js.map → AnimatedSection-CcAt5h6R.js.map} +1 -1
- package/assets/{ArrowBackIosNew-BmStpKu0.js → ArrowBackIosNew-lqzUFZQL.js} +1 -1
- package/assets/{ArrowBackIosNew-BmStpKu0.js.map → ArrowBackIosNew-lqzUFZQL.js.map} +1 -1
- package/assets/{AuthorPage-DsEGDjQw.js → AuthorPage-4inFQH2X.js} +1 -1
- package/assets/{AuthorPage-DsEGDjQw.js.map → AuthorPage-4inFQH2X.js.map} +1 -1
- package/assets/{Badges-DFm-dJP0.js → Badges-DPcq_7dC.js} +1 -1
- package/assets/{Badges-DFm-dJP0.js.map → Badges-DPcq_7dC.js.map} +1 -1
- package/assets/{BlogLayout-CxiSrxYR.js → BlogLayout-Bl9FID_L.js} +1 -1
- package/assets/{BlogLayout-CxiSrxYR.js.map → BlogLayout-Bl9FID_L.js.map} +1 -1
- package/assets/{BlogPage-BrmWjpqW.js → BlogPage-4c8ZFzdw.js} +1 -1
- package/assets/{BlogPage-BrmWjpqW.js.map → BlogPage-4c8ZFzdw.js.map} +1 -1
- package/assets/{CTAButton-DiWefRTF.js → CTAButton-D8_9d6Wu.js} +1 -1
- package/assets/{CTAButton-DiWefRTF.js.map → CTAButton-D8_9d6Wu.js.map} +1 -1
- package/assets/{CardContent-BGQcwSBj.js → CardContent-BQ0iSa2p.js} +1 -1
- package/assets/{CardContent-BGQcwSBj.js.map → CardContent-BQ0iSa2p.js.map} +1 -1
- package/assets/{CardMedia-RFT7-c29.js → CardMedia-B6PneSTk.js} +1 -1
- package/assets/{CardMedia-RFT7-c29.js.map → CardMedia-B6PneSTk.js.map} +1 -1
- package/assets/{Carousel-pw-zJClB.js → Carousel-DJd7E-wq.js} +1 -1
- package/assets/{Carousel-pw-zJClB.js.map → Carousel-DJd7E-wq.js.map} +1 -1
- package/assets/{CategoryPage-ZdXQJP2n.js → CategoryPage-DNQI3nXz.js} +1 -1
- package/assets/{CategoryPage-ZdXQJP2n.js.map → CategoryPage-DNQI3nXz.js.map} +1 -1
- package/assets/{CircleAndArrow-DjRydx_v.js → CircleAndArrow-DIeWRbH9.js} +1 -1
- package/assets/{CircleAndArrow-DjRydx_v.js.map → CircleAndArrow-DIeWRbH9.js.map} +1 -1
- package/assets/{CircularProgress-CpGrVwOe.js → CircularProgress-AsNM1BvH.js} +1 -1
- package/assets/{CircularProgress-CpGrVwOe.js.map → CircularProgress-AsNM1BvH.js.map} +1 -1
- package/assets/{ContentCopy-Biu7mI_B.js → ContentCopy-CDhBZqHF.js} +1 -1
- package/assets/{ContentCopy-Biu7mI_B.js.map → ContentCopy-CDhBZqHF.js.map} +1 -1
- package/assets/{CreateEventPage-CSyGxQEM.js → CreateEventPage-NcQUT47j.js} +1 -1
- package/assets/{CreateEventPage-CSyGxQEM.js.map → CreateEventPage-NcQUT47j.js.map} +1 -1
- package/assets/{CreatorHubDownload-C0lTqfvy.js → CreatorHubDownload-y9x_B8ll.js} +1 -1
- package/assets/{CreatorHubDownload-C0lTqfvy.js.map → CreatorHubDownload-y9x_B8ll.js.map} +1 -1
- package/assets/{CreatorHubDownloadSuccess-OmyWSLJA.js → CreatorHubDownloadSuccess-BP7MSbSp.js} +1 -1
- package/assets/{CreatorHubDownloadSuccess-OmyWSLJA.js.map → CreatorHubDownloadSuccess-BP7MSbSp.js.map} +1 -1
- package/assets/{DappsShell-DNMjP5_u.js → DappsShell-HNAsXcn5.js} +1 -1
- package/assets/{DappsShell-DNMjP5_u.js.map → DappsShell-HNAsXcn5.js.map} +1 -1
- package/assets/{DownloadSuccessLayout-OfN-COoN.js → DownloadSuccessLayout-COBp7A1N.js} +1 -1
- package/assets/{DownloadSuccessLayout-OfN-COoN.js.map → DownloadSuccessLayout-COBp7A1N.js.map} +1 -1
- package/assets/{Grow-vvw5xHGO.js → Grow-eKASrvPe.js} +1 -1
- package/assets/{Grow-vvw5xHGO.js.map → Grow-eKASrvPe.js.map} +1 -1
- package/assets/HomePage-CZwkfB5G.js +3 -0
- package/assets/HomePage-CZwkfB5G.js.map +1 -0
- package/assets/{InviteFaqs-VtXtD9Y7.js → InviteFaqs-BkOvxqyN.js} +1 -1
- package/assets/{InviteFaqs-VtXtD9Y7.js.map → InviteFaqs-BkOvxqyN.js.map} +1 -1
- package/assets/{InvitePage-B2ILV0JT.js → InvitePage-D5lELZNP.js} +2 -2
- package/assets/{InvitePage-B2ILV0JT.js.map → InvitePage-D5lELZNP.js.map} +1 -1
- package/assets/{JumpInIcon-DQLZFf5_.js → JumpInIcon-bPOWl5ae.js} +1 -1
- package/assets/{JumpInIcon-DQLZFf5_.js.map → JumpInIcon-bPOWl5ae.js.map} +1 -1
- package/assets/{LegalPageLayout-BPmxsGkt.js → LegalPageLayout-DeH35WpT.js} +1 -1
- package/assets/{LegalPageLayout-BPmxsGkt.js.map → LegalPageLayout-DeH35WpT.js.map} +1 -1
- package/assets/{Link-CRy-ui2j.js → Link-C3GGl2C6.js} +1 -1
- package/assets/{Link-CRy-ui2j.js.map → Link-C3GGl2C6.js.map} +1 -1
- package/assets/{MenuItem--w_lFNXz.js → MenuItem-B0piwgTa.js} +1 -1
- package/assets/{MenuItem--w_lFNXz.js.map → MenuItem-B0piwgTa.js.map} +1 -1
- package/assets/{Paper-DkTuC9MF.js → Paper-BfSYUoim.js} +1 -1
- package/assets/{Paper-DkTuC9MF.js.map → Paper-BfSYUoim.js.map} +1 -1
- package/assets/{PostCard-CoBBQR_z.js → PostCard-Zsk0_WYz.js} +1 -1
- package/assets/{PostCard-CoBBQR_z.js.map → PostCard-Zsk0_WYz.js.map} +1 -1
- package/assets/{PostPage-DTs37H2-.js → PostPage-FBb63V37.js} +1 -1
- package/assets/{PostPage-DTs37H2-.js.map → PostPage-FBb63V37.js.map} +1 -1
- package/assets/{PostPage.styled-DLL8lMAH.js → PostPage.styled-B7Xofl3c.js} +3 -3
- package/assets/{PostPage.styled-DLL8lMAH.js.map → PostPage.styled-B7Xofl3c.js.map} +1 -1
- package/assets/{PreviewPage-CM24MWpu.js → PreviewPage-Dla6vQZW.js} +1 -1
- package/assets/{PreviewPage-CM24MWpu.js.map → PreviewPage-Dla6vQZW.js.map} +1 -1
- package/assets/{SEO-B1CZcHhQ.js → SEO-CGGKu_zm.js} +1 -1
- package/assets/{SEO-B1CZcHhQ.js.map → SEO-CGGKu_zm.js.map} +1 -1
- package/assets/{SearchPage-Bc-IQg_Z.js → SearchPage-ByMcz1c8.js} +1 -1
- package/assets/{SearchPage-Bc-IQg_Z.js.map → SearchPage-ByMcz1c8.js.map} +1 -1
- package/assets/{SignInRedirect-CytWMFc_.js → SignInRedirect-BNwfxyGB.js} +1 -1
- package/assets/{SignInRedirect-CytWMFc_.js.map → SignInRedirect-BNwfxyGB.js.map} +1 -1
- package/assets/{SignInRedirect-CHd5tZSP.js → SignInRedirect-Bxl1dwag.js} +1 -1
- package/assets/{SignInRedirect-CHd5tZSP.js.map → SignInRedirect-Bxl1dwag.js.map} +1 -1
- package/assets/{Skeleton-Bp_3tZG7.js → Skeleton-BP1Os8gY.js} +1 -1
- package/assets/{Skeleton-Bp_3tZG7.js.map → Skeleton-BP1Os8gY.js.map} +1 -1
- package/assets/{TwitterEmbed-qGRZ9Jyy.js → TwitterEmbed-BbSYYog-.js} +1 -1
- package/assets/{TwitterEmbed-qGRZ9Jyy.js.map → TwitterEmbed-BbSYYog-.js.map} +1 -1
- package/assets/{Video-DnCE7TZC.js → Video--A0fBGqz.js} +1 -1
- package/assets/{Video-DnCE7TZC.js.map → Video--A0fBGqz.js.map} +1 -1
- package/assets/WearablePreview-KunRQByO.js +4 -0
- package/assets/{WearablePreview-DLAIz58Z.js.map → WearablePreview-KunRQByO.js.map} +1 -1
- package/assets/{auto-track-DyJFTD4H.js → auto-track-DJw7KsLA.js} +1 -1
- package/assets/{auto-track-DyJFTD4H.js.map → auto-track-DJw7KsLA.js.map} +1 -1
- package/assets/{ccip-Dh2ZOi0c.js → ccip-EHA4QwVS.js} +1 -1
- package/assets/{ccip-Dh2ZOi0c.js.map → ccip-EHA4QwVS.js.map} +1 -1
- package/assets/{createSvgIcon-DPMfLii4.js → createSvgIcon-CnAtXIjx.js} +1 -1
- package/assets/{createSvgIcon-DPMfLii4.js.map → createSvgIcon-CnAtXIjx.js.map} +1 -1
- package/assets/{download-30qm_WAk.js → download-Csh0UAX4.js} +2 -2
- package/assets/{download-30qm_WAk.js.map → download-Csh0UAX4.js.map} +1 -1
- package/assets/{downloadWithIdentity-BtEnlEpV.js → downloadWithIdentity-imzC-1Iy.js} +1 -1
- package/assets/{downloadWithIdentity-BtEnlEpV.js.map → downloadWithIdentity-imzC-1Iy.js.map} +1 -1
- package/assets/{events.client-Cm_vJXoK.js → events.client-BypQp_hx.js} +1 -1
- package/assets/{events.client-Cm_vJXoK.js.map → events.client-BypQp_hx.js.map} +1 -1
- package/assets/{index-DphyojdM.js → index-0VgKmd34.js} +1 -1
- package/assets/{index-DphyojdM.js.map → index-0VgKmd34.js.map} +1 -1
- package/assets/{index-CnliSg2U.js → index-B-PLjKpI.js} +1 -1
- package/assets/{index-CnliSg2U.js.map → index-B-PLjKpI.js.map} +1 -1
- package/assets/{index-3Yl6UR--.js → index-BKY10VNY.js} +1 -1
- package/assets/{index-3Yl6UR--.js.map → index-BKY10VNY.js.map} +1 -1
- package/assets/{index-CcVwIken.js → index-BO6ciUn8.js} +1 -1
- package/assets/{index-CcVwIken.js.map → index-BO6ciUn8.js.map} +1 -1
- package/assets/{index-C1q8L88E.js → index-BVu5N7d0.js} +1 -1
- package/assets/{index-C1q8L88E.js.map → index-BVu5N7d0.js.map} +1 -1
- package/assets/{index-BxZNYwr3.js → index-BaEE4ZXP.js} +1 -1
- package/assets/{index-BxZNYwr3.js.map → index-BaEE4ZXP.js.map} +1 -1
- package/assets/{index-C7VbadJ8.js → index-Bd63106P.js} +1 -1
- package/assets/{index-C7VbadJ8.js.map → index-Bd63106P.js.map} +1 -1
- package/assets/{index-SmcmwtEm.js → index-Bfn0rTR9.js} +1 -1
- package/assets/{index-SmcmwtEm.js.map → index-Bfn0rTR9.js.map} +1 -1
- package/assets/{index-BMggQVV_.js → index-Bq7PojkE.js} +1 -1
- package/assets/{index-BMggQVV_.js.map → index-Bq7PojkE.js.map} +1 -1
- package/assets/{index-BgUWva8u.js → index-BtL1Whr6.js} +1 -1
- package/assets/{index-BgUWva8u.js.map → index-BtL1Whr6.js.map} +1 -1
- package/assets/{index-XqSXzv-4.js → index-BzmWmDt2.js} +1 -1
- package/assets/{index-XqSXzv-4.js.map → index-BzmWmDt2.js.map} +1 -1
- package/assets/{index-Dgp9VKxh.js → index-C1apFG92.js} +1 -1
- package/assets/{index-Dgp9VKxh.js.map → index-C1apFG92.js.map} +1 -1
- package/assets/{index-CAq1HW41.js → index-CC8b5SLA.js} +1 -1
- package/assets/{index-CAq1HW41.js.map → index-CC8b5SLA.js.map} +1 -1
- package/assets/{index-D6BepkG_.js → index-CJ9b6HdV.js} +1 -1
- package/assets/{index-D6BepkG_.js.map → index-CJ9b6HdV.js.map} +1 -1
- package/assets/{index--KeAUoz4.js → index-CXMTgMUj.js} +1 -1
- package/assets/{index--KeAUoz4.js.map → index-CXMTgMUj.js.map} +1 -1
- package/assets/{index-C62RHb__.js → index-CfKiEnnb.js} +1 -1
- package/assets/{index-C62RHb__.js.map → index-CfKiEnnb.js.map} +1 -1
- package/assets/{index-vUzwsML4.js → index-CqU_IKja.js} +1 -1
- package/assets/{index-vUzwsML4.js.map → index-CqU_IKja.js.map} +1 -1
- package/assets/{index-DchvHHlK.js → index-CsY_wahP.js} +1 -1
- package/assets/{index-DchvHHlK.js.map → index-CsY_wahP.js.map} +1 -1
- package/assets/{index-B6K794Rf.js → index-DIU7xr_7.js} +1 -1
- package/assets/{index-B6K794Rf.js.map → index-DIU7xr_7.js.map} +1 -1
- package/assets/{index-BY3JByxP.js → index-DJdpP3iF.js} +1 -1
- package/assets/{index-BY3JByxP.js.map → index-DJdpP3iF.js.map} +1 -1
- package/assets/{index-D0nE3AYE.js → index-DUmIu2EK.js} +37 -37
- package/assets/index-DUmIu2EK.js.map +1 -0
- package/assets/{index-C8cR2Ojr.js → index-DV8UooZK.js} +1 -1
- package/assets/{index-C8cR2Ojr.js.map → index-DV8UooZK.js.map} +1 -1
- package/assets/{index-DLkc1FLr.js → index-DW87VeBc.js} +1 -1
- package/assets/{index-DLkc1FLr.js.map → index-DW87VeBc.js.map} +1 -1
- package/assets/{index-BrT6YuSM.js → index-DwKCx_Fj.js} +4 -4
- package/assets/{index-BrT6YuSM.js.map → index-DwKCx_Fj.js.map} +1 -1
- package/assets/{index-C_4lnhwn.js → index-Dx9lzInm.js} +1 -1
- package/assets/{index-C_4lnhwn.js.map → index-Dx9lzInm.js.map} +1 -1
- package/assets/{index-DsMEKak1.js → index-FcfsIuei.js} +1 -1
- package/assets/{index-DsMEKak1.js.map → index-FcfsIuei.js.map} +1 -1
- package/assets/{index-tdgsZ4Yr.js → index-Hs2OtJ7_.js} +1 -1
- package/assets/{index-tdgsZ4Yr.js.map → index-Hs2OtJ7_.js.map} +1 -1
- package/assets/{index-CALzixlI.js → index-KkMZZ6nz.js} +1 -1
- package/assets/{index-CALzixlI.js.map → index-KkMZZ6nz.js.map} +1 -1
- package/assets/{index-CTcKnQdc.js → index-XwRFjo-F.js} +3 -3
- package/assets/{index-CTcKnQdc.js.map → index-XwRFjo-F.js.map} +1 -1
- package/assets/{index-Fbn9W4zr.js → index-fmnLygLZ.js} +1 -1
- package/assets/{index-Fbn9W4zr.js.map → index-fmnLygLZ.js.map} +1 -1
- package/assets/{index-DklThyvZ.js → index-iTL2dY0l.js} +1 -1
- package/assets/{index-DklThyvZ.js.map → index-iTL2dY0l.js.map} +1 -1
- package/assets/{index-cnaXlDby.js → index-pguZ7Pr7.js} +2 -2
- package/assets/{index-cnaXlDby.js.map → index-pguZ7Pr7.js.map} +1 -1
- package/assets/{profile.client-DJkJAVO7.js → profile.client-BtZZbgxj.js} +1 -1
- package/assets/{profile.client-DJkJAVO7.js.map → profile.client-BtZZbgxj.js.map} +1 -1
- package/assets/{shared.styled-CdKr8-z1.js → shared.styled-D8qloAmp.js} +1 -1
- package/assets/{shared.styled-CdKr8-z1.js.map → shared.styled-D8qloAmp.js.map} +1 -1
- package/assets/{store-B-SZNpsH.js → store-OyTPwmKI.js} +1 -1
- package/assets/{store-B-SZNpsH.js.map → store-OyTPwmKI.js.map} +1 -1
- package/assets/{url-B6S3bwqB.js → url-BHzlJYXC.js} +1 -1
- package/assets/{url-B6S3bwqB.js.map → url-BHzlJYXC.js.map} +1 -1
- package/assets/{useAuthIdentity-BlDTBxRE.js → useAuthIdentity-D2zQ3q5X.js} +1 -1
- package/assets/{useAuthIdentity-BlDTBxRE.js.map → useAuthIdentity-D2zQ3q5X.js.map} +1 -1
- package/assets/{useCreatorHubDownload-TIbrehIm.js → useCreatorHubDownload-Dp_zMaiv.js} +1 -1
- package/assets/{useCreatorHubDownload-TIbrehIm.js.map → useCreatorHubDownload-Dp_zMaiv.js.map} +1 -1
- package/assets/{useInfiniteBlogPosts-DKtXiohd.js → useInfiniteBlogPosts-B9Mv_Fup.js} +1 -1
- package/assets/{useInfiniteBlogPosts-DKtXiohd.js.map → useInfiniteBlogPosts-B9Mv_Fup.js.map} +1 -1
- package/assets/{useSlot-B74_4mYS.js → useSlot-DM_UQPu8.js} +1 -1
- package/assets/{useSlot-B74_4mYS.js.map → useSlot-DM_UQPu8.js.map} +1 -1
- package/assets/{utils-B-HvTNW5.js → utils-CJGePSnj.js} +1 -1
- package/assets/{utils-B-HvTNW5.js.map → utils-CJGePSnj.js.map} +1 -1
- package/index.html +15 -15
- package/package.json +3 -3
- package/assets/HomePage-9QTR-dt7.js +0 -3
- package/assets/HomePage-9QTR-dt7.js.map +0 -1
- package/assets/WearablePreview-DLAIz58Z.js +0 -4
- package/assets/index-D0nE3AYE.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HomePage-CZwkfB5G.js","sources":["../../node_modules/decentraland-ui2/node_modules/@mui/material/Dialog/dialogClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Dialog/DialogContext.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Dialog/Dialog.js","../../node_modules/@mui/icons-material/AccessTime.js","../../node_modules/decentraland-ui2/dist/components/EventSmallCard/EventSmallCard.styled.js","../../node_modules/decentraland-ui2/dist/components/EventSmallCard/EventSmallCard.js","../../src/hooks/useVisibleColumnCount.ts","../../src/utils/exploreChunk.ts","../../src/utils/exploreDate.ts","../../node_modules/@mui/icons-material/CalendarToday.js","../../src/utils/exploreUrl.ts","../../src/components/explore/EventDetailModal/EventDetailModal.styled.ts","../../src/components/explore/EventDetailModal/EventDetailModalContent.tsx","../../node_modules/@mui/icons-material/CalendarMonth.js","../../src/hooks/useRemindMe.ts","../../src/components/explore/common/RemindMeIcon.tsx","../../src/components/explore/EventDetailModal/EventDetailModalHero.tsx","../../src/components/explore/EventDetailModal/EventDetailModal.tsx","../../src/components/explore/EventDetailModal/normalizers.ts","../../src/images/explore/images/host_avatar.webp","../../src/images/explore/images/host_scene.webp","../../node_modules/@mui/icons-material/CheckBox.js","../../src/components/explore/HostBanner/HostBanner.styled.ts","../../src/components/explore/HostBanner/HostBanner.tsx","../../src/hooks/useCardActions.ts","../../src/utils/exploreTime.ts","../../src/components/explore/common/CalendarAddIcon.tsx","../../src/components/explore/common/CardActions.styled.ts","../../src/components/explore/common/RemindMeButton.tsx","../../src/components/explore/Upcoming/UpcomingCard.styled.ts","../../src/components/explore/Upcoming/UpcomingCard.tsx","../../src/components/explore/AllExperiences/AllExperiencesCard.styled.ts","../../src/components/explore/AllExperiences/FutureCard.tsx","../../src/components/explore/AllExperiences/LiveCard.tsx","../../src/components/explore/AllExperiences/AllExperiencesCard.tsx","../../node_modules/@mui/icons-material/ChevronLeft.js","../../node_modules/@mui/icons-material/ChevronRight.js","../../src/components/explore/AllExperiences/DateNavigation.styled.ts","../../src/components/explore/AllExperiences/DateNavigation.tsx","../../src/components/explore/AllExperiences/DayColumn.styled.ts","../../src/components/explore/AllExperiences/DayColumn.tsx","../../src/components/explore/AllExperiences/AllExperiences.styled.ts","../../src/components/explore/AllExperiences/AllExperiences.tsx","../../src/hooks/useDocumentVisible.ts","../../src/hooks/useLiveNowQueryParams.ts","../../src/components/explore/common/PaginationDots.styled.ts","../../src/components/explore/LiveNow/LiveNowCardItem.tsx","../../src/components/explore/LiveNow/LiveNow.styled.ts","../../src/components/explore/LiveNow/LiveNow.tsx","../../src/components/explore/Upcoming/Upcoming.styled.ts","../../src/components/explore/Upcoming/Upcoming.tsx","../../src/images/explore/images/top_background.webp","../../src/pages/explore/HomePage.styled.ts","../../src/pages/explore/HomePage.tsx"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogUtilityClass(slot) {\n return generateUtilityClass('MuiDialog', slot);\n}\nconst dialogClasses = generateUtilityClasses('MuiDialog', ['root', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);\nexport default dialogClasses;","import * as React from 'react';\nconst DialogContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n DialogContext.displayName = 'DialogContext';\n}\nexport default DialogContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-describedby\", \"aria-labelledby\", \"BackdropComponent\", \"BackdropProps\", \"children\", \"className\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClick\", \"onClose\", \"open\", \"PaperComponent\", \"PaperProps\", \"scroll\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport capitalize from '../utils/capitalize';\nimport Modal from '../Modal';\nimport Fade from '../Fade';\nimport Paper from '../Paper';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport dialogClasses, { getDialogUtilityClass } from './dialogClasses';\nimport DialogContext from './DialogContext';\nimport Backdrop from '../Backdrop';\nimport useTheme from '../styles/useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DialogBackdrop = styled(Backdrop, {\n name: 'MuiDialog',\n slot: 'Backdrop',\n overrides: (props, styles) => styles.backdrop\n})({\n // Improve scrollable dialog support.\n zIndex: -1\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n scroll,\n maxWidth,\n fullWidth,\n fullScreen\n } = ownerState;\n const slots = {\n root: ['root'],\n container: ['container', `scroll${capitalize(scroll)}`],\n paper: ['paper', `paperScroll${capitalize(scroll)}`, `paperWidth${capitalize(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']\n };\n return composeClasses(slots, getDialogUtilityClass, classes);\n};\nconst DialogRoot = styled(Modal, {\n name: 'MuiDialog',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n '@media print': {\n // Use !important to override the Modal inline-style.\n position: 'absolute !important'\n }\n});\nconst DialogContainer = styled('div', {\n name: 'MuiDialog',\n slot: 'Container',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.container, styles[`scroll${capitalize(ownerState.scroll)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n height: '100%',\n '@media print': {\n height: 'auto'\n },\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n}, ownerState.scroll === 'body' && {\n overflowY: 'auto',\n overflowX: 'hidden',\n textAlign: 'center',\n '&::after': {\n content: '\"\"',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0'\n }\n}));\nconst DialogPaper = styled(Paper, {\n name: 'MuiDialog',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`scrollPaper${capitalize(ownerState.scroll)}`], styles[`paperWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fullWidth && styles.paperFullWidth, ownerState.fullScreen && styles.paperFullScreen];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 32,\n position: 'relative',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n '@media print': {\n overflowY: 'visible',\n boxShadow: 'none'\n }\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100% - 64px)'\n}, ownerState.scroll === 'body' && {\n display: 'inline-block',\n verticalAlign: 'middle',\n textAlign: 'left' // 'initial' doesn't work on IE11\n}, !ownerState.maxWidth && {\n maxWidth: 'calc(100% - 64px)'\n}, ownerState.maxWidth === 'xs' && {\n maxWidth: theme.breakpoints.unit === 'px' ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.maxWidth && ownerState.maxWidth !== 'xs' && {\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(theme.breakpoints.values[ownerState.maxWidth] + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.fullWidth && {\n width: 'calc(100% - 64px)'\n}, ownerState.fullScreen && {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: 'none',\n borderRadius: 0,\n [`&.${dialogClasses.paperScrollBody}`]: {\n margin: 0,\n maxWidth: '100%'\n }\n}));\n\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\nconst Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialog'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledbyProp,\n BackdropComponent,\n BackdropProps,\n children,\n className,\n disableEscapeKeyDown = false,\n fullScreen = false,\n fullWidth = false,\n maxWidth = 'sm',\n onBackdropClick,\n onClick,\n onClose,\n open,\n PaperComponent = Paper,\n PaperProps = {},\n scroll = 'paper',\n TransitionComponent = Fade,\n transitionDuration = defaultTransitionDuration,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableEscapeKeyDown,\n fullScreen,\n fullWidth,\n maxWidth,\n scroll\n });\n const classes = useUtilityClasses(ownerState);\n const backdropClick = React.useRef();\n const handleMouseDown = event => {\n // We don't want to close the dialog when clicking the dialog content.\n // Make sure the event starts and ends on the same DOM element.\n backdropClick.current = event.target === event.currentTarget;\n };\n const handleBackdropClick = event => {\n if (onClick) {\n onClick(event);\n }\n\n // Ignore the events not coming from the \"backdrop\".\n if (!backdropClick.current) {\n return;\n }\n backdropClick.current = null;\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const ariaLabelledby = useId(ariaLabelledbyProp);\n const dialogContextValue = React.useMemo(() => {\n return {\n titleId: ariaLabelledby\n };\n }, [ariaLabelledby]);\n return /*#__PURE__*/_jsx(DialogRoot, _extends({\n className: clsx(classes.root, className),\n closeAfterTransition: true,\n components: {\n Backdrop: DialogBackdrop\n },\n componentsProps: {\n backdrop: _extends({\n transitionDuration,\n as: BackdropComponent\n }, BackdropProps)\n },\n disableEscapeKeyDown: disableEscapeKeyDown,\n onClose: onClose,\n open: open,\n ref: ref,\n onClick: handleBackdropClick,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n role: \"presentation\"\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(DialogContainer, {\n className: clsx(classes.container),\n onMouseDown: handleMouseDown,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogPaper, _extends({\n as: PaperComponent,\n elevation: 24,\n role: \"dialog\",\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogContext.Provider, {\n value: dialogContextValue,\n children: children\n })\n }))\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Dialog.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The id(s) of the element(s) that describe the dialog.\n */\n 'aria-describedby': PropTypes.string,\n /**\n * The id(s) of the element(s) that label the dialog.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * Dialog children, usually the included sub-components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen: PropTypes.bool,\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n *\n * Notice that the dialog width grow is limited by the default margin.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Determine the max-width of the dialog.\n * The dialog width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'sm'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The component used to render the body of the dialog.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Determine the container for scrolling the dialog.\n * @default 'paper'\n */\n scroll: PropTypes.oneOf(['body', 'paper']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Dialog;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n}, \"1\")], 'AccessTime');","import { Box, Typography, styled } from '@mui/material';\nconst HOVER_SHADOW = '0px 2px 12px 12px rgba(255, 255, 255, 0.3)';\nconst HOVER_SHADOW_LIGHT = '0px 2px 12px 4px rgba(0, 0, 0, 0.12)';\nconst TimePill = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.06)',\n borderRadius: theme.spacing(0.75),\n padding: theme.spacing(0.25, 1, 0.25, 0.5),\n height: 24,\n width: 'fit-content',\n maxWidth: '100%',\n transition: 'opacity 0.2s ease'\n}));\nconst HoverActions = styled(Box)(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: theme.spacing(1.5),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n gap: theme.spacing(0.5),\n opacity: 0,\n transform: 'translateY(8px)',\n transition: 'opacity 0.2s ease, transform 0.2s ease',\n flexWrap: 'nowrap'\n}));\nconst EventSmallCardContainer = styled(Box, {\n shouldForwardProp: prop => prop !== 'disableHover'\n})(({ theme, disableHover }) => ({\n display: 'flex',\n flexDirection: 'row',\n borderRadius: theme.spacing(2),\n overflow: 'hidden',\n cursor: 'pointer',\n height: 140,\n minWidth: 300,\n maxWidth: 430,\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.05)',\n transition: 'transform 0.2s ease, box-shadow 0.2s ease',\n ...(!disableHover && {\n '&:hover': {\n transform: 'translateY(-4px)',\n boxShadow: theme.palette.mode === 'dark' ? HOVER_SHADOW : HOVER_SHADOW_LIGHT\n },\n '&:hover [data-role=\"hover-actions\"]': {\n opacity: 1,\n transform: 'translateY(0)'\n },\n '&:hover [data-role=\"time-pill\"]': {\n opacity: 0\n }\n }),\n [theme.breakpoints.down('md')]: {\n minWidth: 0,\n '& [data-role=\"hover-actions\"]': {\n display: 'none'\n }\n }\n}));\nconst ThumbnailWrapper = styled(Box)({\n width: '42%',\n height: 140,\n flexShrink: 0,\n overflow: 'hidden'\n});\nconst Thumbnail = styled('img')({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block'\n});\nconst TextBlock = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1,\n minWidth: 0,\n padding: theme.spacing(1.5),\n position: 'relative'\n}));\nconst ContentTop = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(0.5),\n overflow: 'hidden'\n}));\nconst EventTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.5,\n color: theme.palette.text.primary,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n flex: 1,\n minWidth: 0,\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical'\n}));\nconst TitleRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n alignItems: 'flex-start'\n}));\nconst MobileAction = styled(Box)(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('md')]: {\n display: 'flex',\n flexShrink: 0\n }\n}));\nconst AvatarImg = styled('img')(({ theme }) => ({\n width: 19,\n height: 19,\n borderRadius: '50%',\n border: `1.4px solid ${theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.15)'}`,\n flexShrink: 0,\n objectFit: 'cover'\n}));\nconst AvatarFallback = styled(Box)(({ theme }) => ({\n width: 19,\n height: 19,\n borderRadius: '50%',\n backgroundColor: theme.palette.success.dark,\n border: `1.4px solid ${theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.15)'}`,\n flexShrink: 0\n}));\nconst CreatorRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1)\n}));\nconst CreatorName = styled(Typography)(({ theme }) => ({\n fontSize: 12,\n lineHeight: 1,\n color: theme.palette.text.secondary,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n}));\nconst CreatorNameHighlight = styled('span')(({ theme }) => ({\n color: theme.palette.primary.main\n}));\nconst TimeLabel = styled(Typography)(({ theme }) => ({\n fontSize: 14,\n fontWeight: 600,\n lineHeight: 1.5,\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n}));\nexport { AvatarFallback, AvatarImg, ContentTop, CreatorName, CreatorNameHighlight, CreatorRow, EventSmallCardContainer, EventTitle, HoverActions, MobileAction, TextBlock, Thumbnail, ThumbnailWrapper, TimeLabel, TimePill, TitleRow };\n//# sourceMappingURL=EventSmallCard.styled.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { memo, useCallback } from 'react';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport { AvatarFallback, AvatarImg, ContentTop, CreatorName, CreatorNameHighlight, CreatorRow, EventSmallCardContainer, EventTitle, HoverActions, MobileAction, TextBlock, Thumbnail, ThumbnailWrapper, TimeLabel, TimePill, TitleRow } from './EventSmallCard.styled';\nconst EventSmallCard = memo(({ image, title, creatorName, creatorAvatarUrl, timeLabel, onClick, disableHover, action, hoverActions }) => {\n const handleKeyDown = useCallback((e) => {\n if ((e.key === 'Enter' || e.key === ' ') && onClick) {\n e.preventDefault();\n onClick();\n }\n }, [onClick]);\n return (_jsxs(EventSmallCardContainer, { onClick: onClick, disableHover: disableHover, ...(onClick && { role: 'button', tabIndex: 0, onKeyDown: handleKeyDown }), children: [image && (_jsx(ThumbnailWrapper, { children: _jsx(Thumbnail, { src: image, alt: title, loading: \"lazy\" }) })), _jsxs(TextBlock, { children: [_jsxs(ContentTop, { children: [_jsxs(TitleRow, { children: [_jsx(EventTitle, { children: title }), action && _jsx(MobileAction, { children: action })] }), creatorName && (_jsxs(CreatorRow, { children: [creatorAvatarUrl ? _jsx(AvatarImg, { src: creatorAvatarUrl, alt: creatorName }) : _jsx(AvatarFallback, {}), _jsxs(CreatorName, { children: [\"by \", _jsx(CreatorNameHighlight, { children: creatorName })] })] }))] }), timeLabel && (_jsxs(TimePill, { \"data-role\": \"time-pill\", children: [_jsx(AccessTimeIcon, { sx: { fontSize: 20, color: 'inherit' } }), _jsx(TimeLabel, { children: timeLabel })] })), hoverActions && _jsx(HoverActions, { \"data-role\": \"hover-actions\", children: hoverActions })] })] }));\n});\nEventSmallCard.displayName = 'EventSmallCard';\nexport { EventSmallCard };\n//# sourceMappingURL=EventSmallCard.js.map","import { useEffect, useState } from 'react'\n\n/** Must match the number of useDayQuery calls in useAllExperiencesData */\nconst MAX_COLUMNS = 5\n\nconst BREAKPOINTS = [\n { query: '(min-width: 1536px)', columns: MAX_COLUMNS },\n { query: '(min-width: 1200px)', columns: 4 },\n { query: '(min-width: 900px)', columns: 3 },\n { query: '(min-width: 600px)', columns: 2 }\n] as const\n\nfunction getColumnCount(): number {\n for (const { query, columns } of BREAKPOINTS) {\n if (window.matchMedia(query).matches) {\n return columns\n }\n }\n return 1\n}\n\nfunction useVisibleColumnCount(): number {\n const [columnCount, setColumnCount] = useState(getColumnCount)\n\n useEffect(() => {\n const mediaQueryLists = BREAKPOINTS.map(({ query }) => window.matchMedia(query))\n\n const handleChange = () => {\n setColumnCount(getColumnCount())\n }\n\n for (const mql of mediaQueryLists) {\n mql.addEventListener('change', handleChange)\n }\n\n return () => {\n for (const mql of mediaQueryLists) {\n mql.removeEventListener('change', handleChange)\n }\n }\n }, [])\n\n return columnCount\n}\n\nexport { MAX_COLUMNS, useVisibleColumnCount }\n","function chunk<T>(arr: T[], size: number): T[][] {\n if (size < 1) return []\n const result: T[][] = []\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size))\n }\n return result\n}\n\nexport { chunk }\n","type TranslateFn = (key: string, values?: Record<string, string | number>) => string\n\nfunction addDays(date: Date, days: number): Date {\n const result = new Date(date)\n result.setDate(result.getDate() + days)\n return result\n}\n\nfunction startOfDay(date: Date): Date {\n const result = new Date(date)\n result.setHours(0, 0, 0, 0)\n return result\n}\n\nfunction endOfDay(date: Date): Date {\n const result = new Date(date)\n result.setHours(23, 59, 59, 999)\n return result\n}\n\nfunction getDayRange(date: Date): { from: string; to: string } {\n return {\n from: startOfDay(date).toISOString(),\n to: endOfDay(date).toISOString()\n }\n}\n\nfunction isSameLocalDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate()\n}\n\nfunction formatDayHeader(date: Date, t: TranslateFn, today: Date = new Date()): string {\n if (isSameLocalDay(date, today)) {\n return t('all_experiences.today')\n }\n\n const tomorrow = addDays(today, 1)\n if (isSameLocalDay(date, tomorrow)) {\n return t('all_experiences.tomorrow')\n }\n\n const weekday = date.toLocaleDateString(undefined, { weekday: 'short' })\n const month = date.toLocaleDateString(undefined, { month: 'short' })\n const day = date.getDate()\n\n return `${weekday}, ${month} ${day}`\n}\n\nfunction formatDayHeaderAria(date: Date): string {\n return date.toLocaleDateString(undefined, { weekday: 'long', month: 'long', day: 'numeric', year: 'numeric' })\n}\n\nexport { addDays, endOfDay, formatDayHeader, formatDayHeaderAria, getDayRange, isSameLocalDay, startOfDay }\nexport type { TranslateFn }\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z\"\n}), 'CalendarToday');","function buildJumpInUrl(x: number, y: number): string {\n return `https://decentraland.org/jump?position=${x},${y}`\n}\n\nfunction buildEventJumpInUrl(x: number, y: number): string {\n return `https://decentraland.org/jump/event?position=${x},${y}`\n}\n\nfunction parseCoordinates(coordinates: string): [number, number] {\n const [x, y] = coordinates.split(',').map(Number)\n if (Number.isNaN(x) || Number.isNaN(y)) {\n return [0, 0]\n }\n return [x, y]\n}\n\ninterface CalendarEventParams {\n name: string\n description?: string | null\n startAt: string | null\n finishAt?: string | null\n x: number\n y: number\n url: string\n}\n\nfunction buildCalendarUrl(event: CalendarEventParams): string | null {\n if (!event.startAt) return null\n const formatDate = (iso: string) =>\n new Date(iso)\n .toISOString()\n .replace(/[-:]/g, '')\n .replace(/\\.\\d{3}/, '')\n const start = formatDate(event.startAt)\n const end = event.finishAt ? formatDate(event.finishAt) : start\n const params = new URLSearchParams({\n action: 'TEMPLATE',\n text: event.name,\n dates: `${start}/${end}`,\n details: `${event.description || ''}\\n\\n${event.url}`,\n location: `Decentraland ${event.x},${event.y}`\n })\n return `https://calendar.google.com/calendar/render?${params.toString()}`\n}\n\nexport { buildCalendarUrl, buildEventJumpInUrl, buildJumpInUrl, parseCoordinates }\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CloseIcon from '@mui/icons-material/Close'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\nimport { Box, Dialog, Typography, styled } from 'decentraland-ui2'\n\nconst MOBILE_NAVBAR_OFFSET = 64\n\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n /* eslint-disable @typescript-eslint/naming-convention */\n '& .MuiBackdrop-root': {\n backgroundColor: 'rgba(0, 0, 0, 0.8)'\n },\n '& .MuiDialog-paper': {\n borderRadius: theme.spacing(2),\n maxWidth: 880,\n width: '100%',\n maxHeight: '80vh',\n margin: 0,\n overflowY: 'auto',\n overflowX: 'hidden',\n backgroundColor: 'transparent',\n boxShadow: '0px 4px 25px 0px #FFFFFF40',\n display: 'flex',\n flexDirection: 'column',\n scrollbarWidth: 'none'\n },\n '& .MuiDialog-paper::-webkit-scrollbar': {\n display: 'none'\n },\n [theme.breakpoints.down('sm')]: {\n '& .MuiDialog-paper': {\n borderRadius: 0,\n maxWidth: '100%',\n maxHeight: `calc(100% - ${MOBILE_NAVBAR_OFFSET}px)`,\n height: `calc(100% - ${MOBILE_NAVBAR_OFFSET}px)`,\n margin: 0,\n marginTop: MOBILE_NAVBAR_OFFSET,\n backgroundColor: '#1A0A2E'\n }\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst HeroSection = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: 880,\n height: 450,\n maxWidth: '100%',\n overflow: 'hidden',\n flexShrink: 0,\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n height: 'auto'\n }\n}))\n\nconst HeroImage = styled('img')(({ theme }) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n [theme.breakpoints.down('sm')]: {\n position: 'relative',\n aspectRatio: '16 / 9',\n height: 'auto'\n }\n}))\n\nconst HeroOverlay = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: 'linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0.8) 30.02%, rgba(0, 0, 0, 0) 106.22%)',\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst CloseButton = styled('button')(({ theme }) => ({\n position: 'absolute',\n top: theme.spacing(1.5),\n right: theme.spacing(1.5),\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n border: 'none',\n borderRadius: '50%',\n cursor: 'pointer',\n zIndex: 2,\n padding: 0,\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.6)'\n },\n '&:focus-visible': {\n outline: '2px solid #FCFCFC',\n outlineOffset: 2\n },\n [theme.breakpoints.down('sm')]: {\n top: theme.spacing(1),\n left: theme.spacing(1),\n right: 'auto'\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst CloseIconStyled = styled(CloseIcon)({\n fontSize: 20,\n color: '#FCFCFC'\n})\n\nconst HeroContent = styled(Box)(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: theme.spacing(0, 3.75, 6.25, 3.75),\n zIndex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n [theme.breakpoints.down('sm')]: {\n position: 'relative',\n padding: theme.spacing(2),\n background: 'linear-gradient(180deg, #1A0A2E 0%, #32134C 100%)'\n }\n}))\n\nconst CategoryLabel = styled(Typography)({\n fontSize: 14,\n fontWeight: 600,\n color: '#FCFCFC',\n textTransform: 'uppercase',\n letterSpacing: '0.04em'\n})\n\nconst ModalTitle = styled(Typography)({\n fontSize: 32,\n fontWeight: 600,\n lineHeight: 1.24,\n color: '#FCFCFC',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n /* eslint-disable @typescript-eslint/naming-convention */\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical'\n /* eslint-enable @typescript-eslint/naming-convention */\n})\n\nconst CreatorRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1)\n}))\n\nconst AvatarImage = styled('img')(({ theme }) => ({\n width: theme.spacing(3),\n height: theme.spacing(3),\n borderRadius: '50%',\n border: '1.5px solid rgba(255, 255, 255, 0.5)',\n flexShrink: 0,\n objectFit: 'cover'\n}))\n\nconst AvatarFallback = styled(Box)(({ theme }) => ({\n width: theme.spacing(3),\n height: theme.spacing(3),\n borderRadius: '50%',\n backgroundColor: '#00B453',\n border: '1.5px solid rgba(255, 255, 255, 0.5)',\n flexShrink: 0\n}))\n\nconst CreatorName = styled(Typography)({\n fontSize: 14,\n lineHeight: 1,\n color: '#FCFCFC',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n})\n\nconst CreatorNameHighlight = styled('span')({\n color: '#FF2D55'\n})\n\nconst ActionsRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1)\n}))\n\nconst JumpInButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n backgroundColor: '#FCFCFC',\n color: '#161518',\n border: 'none',\n borderRadius: theme.spacing(1),\n padding: theme.spacing(1, 2.5),\n fontSize: 14,\n fontWeight: 600,\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n backgroundColor: '#E0E0E0'\n },\n '&:focus-visible': {\n outline: '2px solid #FCFCFC',\n outlineOffset: 2\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst SecondaryButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n backgroundColor: 'transparent',\n color: '#FCFCFC',\n border: '1px solid #FCFCFC',\n borderRadius: theme.spacing(1),\n padding: theme.spacing(1, 2),\n fontSize: 14,\n fontWeight: 600,\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:disabled': {\n opacity: 0.5,\n cursor: 'default'\n },\n '&:hover:not(:disabled)': {\n backgroundColor: 'rgba(255, 255, 255, 0.2)'\n },\n '&:focus-visible': {\n outline: '2px solid #FCFCFC',\n outlineOffset: 2\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst CopyButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent',\n border: '1px solid #FCFCFC',\n borderRadius: theme.spacing(1),\n padding: theme.spacing(1, 2),\n flexShrink: 0,\n cursor: 'pointer',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.2)'\n },\n '&:focus-visible': {\n outline: '2px solid #FCFCFC',\n outlineOffset: 2\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst CopyIconStyled = styled(ContentCopyIcon)({\n fontSize: 18,\n color: '#FCFCFC'\n})\n\nconst ContentSection = styled(Box)(({ theme }) => ({\n background: 'radial-gradient(47.37% 84.21% at 42.4% 26.48%, #6E31A7 0%, #32134C 100%)',\n padding: theme.spacing(3.75, 6.25),\n flex: 1,\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(3, 2)\n }\n}))\n\nconst SectionLabel = styled(Typography)(({ theme }) => ({\n fontSize: 14,\n fontWeight: 600,\n lineHeight: 1.75,\n textTransform: 'uppercase',\n color: '#A09BA8',\n marginBottom: theme.spacing(1)\n}))\n\nconst DescriptionText = styled(Typography)({\n fontSize: 14,\n lineHeight: 1.6,\n color: '#FCFCFC'\n})\n\nconst ContentDivider = styled(Box)(({ theme }) => ({\n height: 1,\n backgroundColor: 'rgba(255, 255, 255, 0.15)',\n margin: theme.spacing(2, 0)\n}))\n\nconst ScheduleRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: theme.spacing(1.5)\n}))\n\nconst ScheduleIconButton = styled('button')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'none',\n border: 'none',\n padding: 0,\n cursor: 'pointer',\n color: '#A09BA8',\n flexShrink: 0,\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n color: '#FCFCFC'\n },\n '&:focus-visible': {\n outline: '2px solid #FCFCFC',\n outlineOffset: 2\n },\n '& .MuiSvgIcon-root': {\n fontSize: 20\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n})\n\nconst ScheduleText = styled(Typography)({\n fontSize: 14,\n lineHeight: 1.5,\n color: '#FCFCFC'\n})\n\nconst RecurrenceText = styled(Typography)(({ theme }) => ({\n fontSize: 12,\n color: '#A09BA8',\n marginTop: theme.spacing(0.5)\n}))\n\nexport {\n ActionsRow,\n AvatarFallback,\n AvatarImage,\n CategoryLabel,\n CloseButton,\n CloseIconStyled,\n ContentDivider,\n ContentSection,\n CopyButton,\n CopyIconStyled,\n CreatorName,\n CreatorNameHighlight,\n CreatorRow,\n DescriptionText,\n HeroContent,\n HeroImage,\n HeroOverlay,\n HeroSection,\n JumpInButton,\n ModalTitle,\n RecurrenceText,\n ScheduleIconButton,\n ScheduleRow,\n ScheduleText,\n SecondaryButton,\n SectionLabel,\n StyledDialog\n}\n","import { useCallback } from 'react'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday'\nimport { useTranslation } from '@dcl/hooks'\nimport type { RecurrentFrequency } from '../../../features/explore-events'\nimport { buildCalendarUrl } from '../../../utils/exploreUrl'\nimport type { ModalEventData } from './EventDetailModal.types'\nimport {\n ContentDivider,\n ContentSection,\n DescriptionText,\n RecurrenceText,\n ScheduleIconButton,\n ScheduleRow,\n ScheduleText,\n SectionLabel\n} from './EventDetailModal.styled'\n\nfunction formatScheduleDate(isoString: string): string {\n const date = new Date(isoString)\n return date.toLocaleDateString(undefined, {\n weekday: 'short',\n month: 'short',\n day: 'numeric'\n })\n}\n\nfunction formatScheduleTime(isoString: string): string {\n const date = new Date(isoString)\n return date.toLocaleTimeString(undefined, { hour: 'numeric', minute: '2-digit', hour12: true })\n}\n\nfunction getRecurrenceLabel(frequency: RecurrentFrequency | null, t: (key: string) => string): string | null {\n switch (frequency) {\n case 'DAILY':\n return t('event_detail.recurrent_daily')\n case 'WEEKLY':\n return t('event_detail.recurrent_weekly')\n case 'MONTHLY':\n return t('event_detail.recurrent_monthly')\n default:\n return null\n }\n}\n\nfunction EventDetailModalContent({ data }: { data: ModalEventData }) {\n const { t } = useTranslation()\n\n const hasDescription = Boolean(data.description)\n const hasSchedule = Boolean(data.startAt)\n\n const handleAddToCalendar = useCallback(() => {\n const url = buildCalendarUrl(data)\n if (url) window.open(url, '_blank', 'noopener,noreferrer')\n }, [data])\n\n if (!hasDescription && !hasSchedule) {\n return null\n }\n\n const recurrenceLabel = data.recurrent ? getRecurrenceLabel(data.recurrentFrequency, t) : null\n\n return (\n <ContentSection>\n {hasDescription && (\n <>\n <SectionLabel>{t('event_detail.what_to_expect')}</SectionLabel>\n <DescriptionText>{data.description}</DescriptionText>\n </>\n )}\n {hasDescription && hasSchedule && <ContentDivider />}\n {hasSchedule && data.startAt && (\n <>\n <SectionLabel>{t('event_detail.schedule')}</SectionLabel>\n <ScheduleRow>\n <div>\n <ScheduleText>\n {formatScheduleDate(data.startAt)} · {formatScheduleTime(data.startAt)}\n {data.finishAt && ` – ${formatScheduleTime(data.finishAt)}`}\n </ScheduleText>\n {recurrenceLabel && <RecurrenceText>{recurrenceLabel}</RecurrenceText>}\n </div>\n <ScheduleIconButton onClick={handleAddToCalendar} aria-label={t('event_detail.add_to_calendar')}>\n <CalendarTodayIcon />\n </ScheduleIconButton>\n </ScheduleRow>\n </>\n )}\n </ContentSection>\n )\n}\n\nexport { EventDetailModalContent }\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 16H5V10h14zM9 14H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2zm-8 4H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2z\"\n}), 'CalendarMonth');","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useToggleAttendeeMutation } from '../features/explore-events'\nimport { redirectToAuth } from '../utils/authRedirect'\nimport { useAuthIdentity } from './useAuthIdentity'\n\ntype UseRemindMeResult = {\n isReminded: boolean\n isLoading: boolean\n isShaking: boolean\n handleToggle: (e: React.MouseEvent) => void\n}\n\nfunction useRemindMe(eventId: string, attending?: boolean): UseRemindMeResult {\n const { identity, hasValidIdentity } = useAuthIdentity()\n const [toggleAttendee, { isLoading }] = useToggleAttendeeMutation({ fixedCacheKey: `remind-${eventId}` })\n const [isShaking, setIsShaking] = useState(false)\n const [optimistic, setOptimistic] = useState<boolean | null>(null)\n const shakeTimer = useRef<ReturnType<typeof setTimeout>>()\n\n const serverValue = Boolean(attending)\n const isReminded = optimistic !== null ? optimistic : serverValue\n\n useEffect(() => {\n if (optimistic !== null && optimistic === serverValue) {\n setOptimistic(null)\n }\n }, [optimistic, serverValue])\n\n useEffect(() => {\n return () => clearTimeout(shakeTimer.current)\n }, [])\n\n const handleToggle = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n if (isLoading) return\n if (!hasValidIdentity || !identity) {\n redirectToAuth(window.location.pathname)\n return\n }\n const newValue = !isReminded\n setOptimistic(newValue)\n setIsShaking(true)\n clearTimeout(shakeTimer.current)\n shakeTimer.current = setTimeout(() => setIsShaking(false), 600)\n toggleAttendee({ eventId, attending: newValue, identity })\n .unwrap()\n .catch(() => setOptimistic(null))\n },\n [eventId, isReminded, hasValidIdentity, identity, isLoading, toggleAttendee]\n )\n\n return { isReminded, isLoading, isShaking, handleToggle }\n}\n\nexport { useRemindMe }\nexport type { UseRemindMeResult }\n","import { styled } from 'decentraland-ui2'\n\n// Provided SVG: bell outline without check (viewBox 0 0 25 25)\nconst BELL_OUTLINE_BODY =\n 'M5.4167 9.44547C5.44685 7.63928 6.21335 5.91687 7.55087 4.64979C8.88839 3.38271 10.6897 2.6725 12.5663 2.67236C14.4429 2.67223 16.2444 3.38217 17.5821 4.64907C18.9198 5.91596 19.6866 7.63825 19.717 9.44444L19.7173 12.2663L21.4284 15.9735C21.4888 16.1045 21.5143 16.2479 21.5025 16.3907C21.4907 16.5335 21.4421 16.6712 21.361 16.7914C21.2799 16.9115 21.169 17.0103 21.0382 17.0787C20.9074 17.1471 20.7609 17.183 20.6121 17.1831L15.3891 17.1835L15.3919 17.1891L9.73956 17.1894L9.74313 17.1835L4.52097 17.1824C4.37215 17.1824 4.2257 17.1465 4.0949 17.0782C3.96411 17.0099 3.85311 16.9112 3.77197 16.7911C3.69084 16.671 3.64213 16.5333 3.63028 16.3905C3.61843 16.2477 3.6438 16.1043 3.7041 15.9733L5.41606 12.2689L5.41581 9.44696L5.4167 9.44547ZM7.20443 9.44545L7.20361 12.4516C7.20351 12.5717 7.17727 12.6905 7.1266 12.8002L5.89689 15.4632L19.2368 15.4629L18.006 12.7997C17.9557 12.69 17.9298 12.5713 17.93 12.4514L17.9284 9.44595C17.9026 8.09324 17.3262 6.80431 16.3233 5.85649C15.3203 4.90867 13.971 4.37771 12.5655 4.37784C11.16 4.37797 9.81067 4.90918 8.80791 5.85719C7.80515 6.80519 7.22904 8.09422 7.20354 9.44694L7.20443 9.44545Z'\n\nconst BELL_OUTLINE_CLAPPER =\n 'M9.48535 18.7616C9.59625 19.475 9.96951 20.1265 10.5372 20.5974C11.1049 21.0683 11.8294 21.3274 12.5788 21.3275C13.3282 21.3277 14.0528 21.0689 14.6207 20.5982C15.1886 20.1276 15.5622 19.4763 15.6734 18.7629L9.48535 18.7616Z'\n\n// Provided SVG: bell with cutout for check (viewBox 0 0 25 25)\nconst BELL_ACTIVE =\n 'M15.6737 18.7625C15.5625 19.4758 15.1888 20.1277 14.621 20.5984C14.0531 21.069 13.3282 21.328 12.579 21.3279C11.8296 21.3277 11.1047 21.0683 10.537 20.5974C9.96927 20.1265 9.59613 19.4749 9.48522 18.7615L15.6737 18.7625ZM12.5663 2.67261C14.4428 2.67251 16.2442 3.38232 17.5819 4.64917C17.9225 4.97176 18.2253 5.32444 18.4891 5.69995L16.4413 7.74976L16.1805 7.48901C15.0869 6.3954 13.3142 6.39538 12.2206 7.48901C11.1271 8.58265 11.127 10.3554 12.2206 11.449L14.4608 13.6892C14.9859 14.2141 15.6988 14.5095 16.4413 14.5095C17.1837 14.5093 17.8958 14.2142 18.4208 13.6892L19.7567 12.3523L21.4286 15.9734C21.4889 16.1042 21.5135 16.2477 21.5018 16.3904C21.4901 16.5332 21.4423 16.6716 21.3612 16.7917C21.2801 16.9119 21.1687 17.0105 21.038 17.0789C20.9073 17.1472 20.7609 17.1832 20.6122 17.1833H15.3885L15.3915 17.1892H9.73913L9.74304 17.1833L4.52038 17.1824C4.37169 17.1823 4.22528 17.1462 4.0946 17.0779C3.96389 17.0095 3.85245 16.9108 3.77136 16.7908C3.69038 16.6708 3.64159 16.533 3.62975 16.3904C3.61793 16.2476 3.6437 16.1043 3.70397 15.9734L5.41589 12.2693V9.44702L5.41686 9.44507C5.44712 7.63911 6.21335 5.91712 7.55065 4.65015C8.88817 3.38306 10.6897 2.67274 12.5663 2.67261Z'\n\n// Provided SVG: checkmark (viewBox 0 0 25 25, absolute position)\nconst CHECK_ACTIVE =\n 'M20.0042 6.3392C20.4417 5.90174 21.1508 5.90174 21.5882 6.3392C22.0257 6.77666 22.0257 7.48574 21.5882 7.9232L17.1075 12.4039C16.8974 12.614 16.6126 12.7321 16.3155 12.7321C16.0184 12.7321 15.7336 12.614 15.5235 12.4039L13.2832 10.1635C12.8457 9.72609 12.8457 9.01701 13.2832 8.57955C13.7206 8.14209 14.4297 8.14209 14.8672 8.57955L16.3155 10.0279L20.0042 6.3392Z'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst Container = styled('span')({\n position: 'relative',\n display: 'inline-flex',\n flexShrink: 0,\n transformOrigin: 'top center',\n '@keyframes bellShake': {\n '0%': { transform: 'rotate(0)' },\n '15%': { transform: 'rotate(14deg)' },\n '30%': { transform: 'rotate(-14deg)' },\n '45%': { transform: 'rotate(10deg)' },\n '60%': { transform: 'rotate(-8deg)' },\n '75%': { transform: 'rotate(4deg)' },\n '85%': { transform: 'rotate(-2deg)' },\n '100%': { transform: 'rotate(0)' }\n },\n '&.shake': {\n animation: 'bellShake 0.6s ease-in-out'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst Layer = styled('svg')({\n position: 'absolute',\n inset: 0,\n transition: 'opacity 0.3s ease'\n})\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst CheckPath = styled('path')({\n transformOrigin: '17px 9px',\n transition: 'opacity 0.25s ease 0.15s, transform 0.25s ease 0.15s',\n '&.hidden': {\n opacity: 0,\n transform: 'scale(0)',\n transition: 'opacity 0.15s ease, transform 0.15s ease'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\ntype RemindMeIconProps = {\n active: boolean\n shaking?: boolean\n className?: string\n size?: number\n}\n\nfunction RemindMeIcon({ active, shaking, className, size = 18 }: RemindMeIconProps) {\n const classes = [className, shaking ? 'shake' : ''].filter(Boolean).join(' ') || undefined\n return (\n <Container className={classes} style={{ width: size, height: size }}>\n {/* Inactive: outline bell */}\n <Layer viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" style={{ opacity: active ? 0 : 1 }}>\n <path d={BELL_OUTLINE_BODY} fill=\"currentColor\" />\n <path d={BELL_OUTLINE_CLAPPER} fill=\"currentColor\" />\n </Layer>\n {/* Active: filled bell with check from provided SVGs */}\n <Layer viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" style={{ opacity: active ? 1 : 0 }}>\n <path d={BELL_ACTIVE} fill=\"#FF2D55\" />\n <CheckPath className={active ? '' : 'hidden'} d={CHECK_ACTIVE} fill=\"#FF2D55\" />\n </Layer>\n </Container>\n )\n}\n\nexport { RemindMeIcon }\n","import { useCallback, useState } from 'react'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CalendarMonthIcon from '@mui/icons-material/CalendarMonth'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { useTranslation } from '@dcl/hooks'\nimport { Tooltip, useTheme } from 'decentraland-ui2'\nimport { useGetProfileQuery } from '../../../features/profile/profile.client'\nimport { useRemindMe } from '../../../hooks/useRemindMe'\nimport { buildCalendarUrl } from '../../../utils/exploreUrl'\nimport { RemindMeIcon } from '../common/RemindMeIcon'\nimport type { ModalEventData } from './EventDetailModal.types'\nimport {\n ActionsRow,\n AvatarFallback,\n AvatarImage,\n CategoryLabel,\n CloseButton,\n CloseIconStyled,\n CopyButton,\n CopyIconStyled,\n CreatorName,\n CreatorNameHighlight,\n CreatorRow,\n HeroContent,\n HeroImage,\n HeroOverlay,\n HeroSection,\n JumpInButton,\n ModalTitle,\n SecondaryButton\n} from './EventDetailModal.styled'\n\nconst DCL_LOGO_URL = `${window.location.origin}/dcl-logo.svg`\n\nfunction EventDetailModalHero({ data, onClose }: { data: ModalEventData; onClose: () => void }) {\n const { t } = useTranslation()\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n const [copied, setCopied] = useState(false)\n const { isReminded, isLoading: isRemindLoading, isShaking, handleToggle: handleRemindToggle } = useRemindMe(data.id, data.attending)\n\n const isDclFoundation = data.creatorName?.toLowerCase() === 'decentraland foundation'\n const { data: profile } = useGetProfileQuery(data.creatorAddress, { skip: !data.creatorAddress || isDclFoundation })\n const avatar = profile?.avatars?.[0]\n const avatarFace = isDclFoundation ? DCL_LOGO_URL : avatar?.avatar?.snapshots?.face256\n const creatorName = isDclFoundation ? 'Decentraland Foundation' : avatar?.name || data.creatorName\n const hasCreator = Boolean(avatarFace || creatorName)\n\n const handleJumpIn = useCallback(() => {\n window.open(data.url, '_blank', 'noopener,noreferrer')\n }, [data.url])\n\n const handleCopy = useCallback(() => {\n navigator.clipboard\n ?.writeText(data.url)\n ?.then(() => {\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n })\n .catch(err => console.warn('[EventDetailModal] Failed to copy:', err))\n }, [data.url])\n\n const handleAddToCalendar = useCallback(() => {\n const url = buildCalendarUrl(data)\n if (url) window.open(url, '_blank', 'noopener,noreferrer')\n }, [data])\n\n const subtitle = data.live ? t('event_detail.live_now') : data.categories[0] || null\n\n return (\n <>\n <HeroSection>\n {data.image && <HeroImage src={data.image} alt={data.name} />}\n <HeroOverlay />\n <CloseButton onClick={onClose} aria-label={t('event_detail.close')}>\n {isMobile ? <ArrowBackIosNewIcon sx={{ fontSize: 20, color: '#FCFCFC' }} /> : <CloseIconStyled />}\n </CloseButton>\n <HeroContent>\n {subtitle && <CategoryLabel>{subtitle}</CategoryLabel>}\n <ModalTitle id=\"event-detail-title\">{data.name}</ModalTitle>\n {hasCreator && (\n <CreatorRow>\n {avatarFace ? <AvatarImage src={avatarFace} alt={creatorName ?? ''} /> : <AvatarFallback />}\n <CreatorName>\n {t('event_detail.by_prefix')}\n <CreatorNameHighlight>{creatorName}</CreatorNameHighlight>\n </CreatorName>\n </CreatorRow>\n )}\n <ActionsRow>\n <JumpInButton onClick={handleJumpIn}>{t('event_detail.jump_in')}</JumpInButton>\n <Tooltip title={t('event_detail.remind_me')} placement=\"top\" arrow>\n <SecondaryButton onClick={handleRemindToggle} disabled={isRemindLoading} aria-label={t('event_detail.remind_me')}>\n <RemindMeIcon active={isReminded} shaking={isShaking} size={20} />\n </SecondaryButton>\n </Tooltip>\n {data.startAt && (\n <Tooltip title={t('event_detail.add_to_calendar')} placement=\"top\" arrow>\n <SecondaryButton onClick={handleAddToCalendar} aria-label={t('event_detail.add_to_calendar')}>\n <CalendarMonthIcon fontSize=\"small\" />\n </SecondaryButton>\n </Tooltip>\n )}\n <Tooltip title={copied ? t('event_detail.copied') : t('event_detail.copy_link')} placement=\"top\" arrow>\n <CopyButton onClick={handleCopy} aria-label={t('event_detail.copy_link')}>\n <CopyIconStyled />\n </CopyButton>\n </Tooltip>\n </ActionsRow>\n </HeroContent>\n </HeroSection>\n </>\n )\n}\n\nexport { EventDetailModalHero }\n","import { EventDetailModalContent } from './EventDetailModalContent'\nimport { EventDetailModalHero } from './EventDetailModalHero'\nimport type { EventDetailModalProps } from './EventDetailModal.types'\nimport { StyledDialog } from './EventDetailModal.styled'\n\nfunction EventDetailModal({ open, onClose, data }: EventDetailModalProps) {\n return (\n <StyledDialog open={open && !!data} onClose={onClose} aria-labelledby=\"event-detail-title\" fullWidth>\n {data && (\n <>\n <EventDetailModalHero data={data} onClose={onClose} />\n <EventDetailModalContent data={data} />\n </>\n )}\n </StyledDialog>\n )\n}\n\nexport { EventDetailModal }\n","import type { EventEntry, LiveNowCard } from '../../../features/explore-events'\nimport { buildEventJumpInUrl, buildJumpInUrl, parseCoordinates } from '../../../utils/exploreUrl'\nimport type { ModalEventData } from './EventDetailModal.types'\n\nfunction normalizeEventEntry(event: EventEntry): ModalEventData {\n return {\n id: event.id,\n name: event.name,\n description: event.description,\n image: event.image,\n x: event.x,\n y: event.y,\n creatorAddress: event.user || undefined,\n creatorName: event.user_name || undefined,\n startAt: event.start_at,\n finishAt: event.finish_at,\n recurrent: event.recurrent,\n recurrentFrequency: event.recurrent_frequency,\n recurrentDates: event.recurrent_dates,\n totalAttendees: event.total_attendees,\n attending: event.attending,\n live: event.live,\n categories: event.categories,\n url: buildEventJumpInUrl(event.x, event.y)\n }\n}\n\nfunction normalizeLiveNowCard(card: LiveNowCard): ModalEventData {\n const [x, y] = parseCoordinates(card.coordinates)\n const url = card.type === 'event' ? buildEventJumpInUrl(x, y) : buildJumpInUrl(x, y)\n return {\n id: card.id,\n name: card.title,\n description: card.description || null,\n image: card.image || null,\n x,\n y,\n creatorAddress: card.creatorAddress,\n creatorName: card.creatorName,\n startAt: null,\n finishAt: null,\n recurrent: false,\n recurrentFrequency: null,\n recurrentDates: [],\n totalAttendees: card.users,\n attending: undefined,\n live: true,\n categories: card.categories || [],\n url\n }\n}\n\nexport { normalizeEventEntry, normalizeLiveNowCard }\n","export default \"data:image/webp;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQq0AAAAAElFTkSuQmCC\"","export default \"data:image/webp;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQq0AAAAAElFTkSuQmCC\"","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n}), 'CheckBox');","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CheckBoxIcon from '@mui/icons-material/CheckBox'\nimport { Box, Typography, styled } from 'decentraland-ui2'\n\nconst BannerSection = styled('section')(({ theme }) => ({\n position: 'relative',\n zIndex: 8,\n overflow: 'hidden',\n borderRadius: theme.spacing(2),\n background: 'radial-gradient(63.39% 112.69% at 49.33% 50.11%, #6B2A8A 0%, #1E0A2E 100%)',\n display: 'flex',\n alignItems: 'center',\n minHeight: 240,\n [theme.breakpoints.down('md')]: {\n flexDirection: 'column',\n minHeight: 'auto'\n }\n}))\n\nconst AvatarImage = styled('img')(({ theme }) => ({\n width: 200,\n height: '100%',\n objectFit: 'contain',\n objectPosition: 'bottom left',\n flexShrink: 0,\n alignSelf: 'flex-end',\n [theme.breakpoints.down('lg')]: {\n width: 160\n },\n [theme.breakpoints.down('md')]: {\n display: 'none'\n }\n}))\n\nconst ContentArea = styled(Box)(({ theme }) => ({\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n padding: theme.spacing(4, 3),\n zIndex: 1,\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(3, 2)\n }\n}))\n\nconst BannerTitle = styled(Typography)(({ theme }) => ({\n fontSize: '1.5rem',\n fontWeight: 600,\n lineHeight: 1.334,\n color: theme.palette.text.primary\n}))\n\nconst BannerSubtitle = styled(Typography)(({ theme }) => ({\n fontSize: 16,\n fontWeight: 400,\n lineHeight: 1.5,\n color: theme.palette.text.secondary\n}))\n\nconst ChecklistItem = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1)\n}))\n\nconst CheckIcon = styled(CheckBoxIcon)(({ theme }) => ({\n fontSize: 20,\n color: theme.palette.primary.main\n}))\n\nconst CheckText = styled(Typography)(({ theme }) => ({\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary\n}))\n\nconst ButtonRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(2),\n marginTop: theme.spacing(1),\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column',\n alignItems: 'stretch'\n }\n}))\n\nconst CreateButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(0.5),\n background: theme.palette.primary.main,\n border: 'none',\n borderRadius: 6,\n color: theme.palette.common.white,\n fontFamily: 'Inter, Helvetica, Arial, sans-serif',\n fontSize: '0.875rem',\n fontWeight: 600,\n textTransform: 'uppercase',\n letterSpacing: '0.4px',\n padding: '6px 16px',\n cursor: 'pointer',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n background: theme.palette.primary.dark\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.text.primary}`,\n outlineOffset: 2\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst LearnMoreButton = styled('button')(({ theme }) => ({\n background: 'transparent',\n border: '1px solid rgba(255, 255, 255, 0.23)',\n borderRadius: 6,\n color: theme.palette.text.primary,\n fontFamily: 'Inter, Helvetica, Arial, sans-serif',\n fontSize: '0.875rem',\n fontWeight: 600,\n textTransform: 'uppercase',\n letterSpacing: '0.4px',\n padding: '6px 16px',\n cursor: 'pointer',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n /* eslint-disable @typescript-eslint/naming-convention */\n '&:hover': {\n background: theme.palette.action.hover\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.text.primary}`,\n outlineOffset: 2\n }\n /* eslint-enable @typescript-eslint/naming-convention */\n}))\n\nconst SceneImage = styled('img')(({ theme }) => ({\n width: 420,\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'center',\n flexShrink: 0,\n borderRadius: `0 ${theme.spacing(2)} ${theme.spacing(2)} 0`,\n [theme.breakpoints.down('lg')]: {\n width: 320\n },\n [theme.breakpoints.down('md')]: {\n width: '100%',\n height: 200,\n borderRadius: `0 0 ${theme.spacing(2)} ${theme.spacing(2)}`\n }\n}))\n\nexport {\n AvatarImage,\n BannerSection,\n BannerSubtitle,\n BannerTitle,\n ButtonRow,\n CheckIcon,\n CheckText,\n ChecklistItem,\n ContentArea,\n CreateButton,\n LearnMoreButton,\n SceneImage\n}\n","import { useCallback } from 'react'\nimport { useNavigate } from 'react-router-dom'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport AddIcon from '@mui/icons-material/Add'\nimport { useTranslation } from '@dcl/hooks'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport avatarImage from '../../../images/explore/images/host_avatar.webp'\nimport sceneImage from '../../../images/explore/images/host_scene.webp'\nimport { redirectToAuth } from '../../../utils/authRedirect'\nimport {\n AvatarImage,\n BannerSection,\n BannerSubtitle,\n BannerTitle,\n ButtonRow,\n CheckIcon,\n CheckText,\n ChecklistItem,\n ContentArea,\n CreateButton,\n LearnMoreButton,\n SceneImage\n} from './HostBanner.styled'\n\nconst LEARN_MORE_URL = 'https://docs.decentraland.org/creator/events/'\n\nfunction HostBanner() {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const { hasValidIdentity } = useAuthIdentity()\n\n const handleCreate = useCallback(() => {\n if (hasValidIdentity) {\n navigate('/whats-on/new-event')\n } else {\n redirectToAuth('/whats-on/new-event')\n }\n }, [hasValidIdentity, navigate])\n\n const handleLearnMore = useCallback(() => {\n window.open(LEARN_MORE_URL, '_blank', 'noopener')\n }, [])\n\n return (\n <BannerSection aria-label={t('host_banner.title')}>\n <AvatarImage src={avatarImage} alt=\"\" aria-hidden=\"true\" />\n <ContentArea>\n <BannerTitle>{t('host_banner.title')}</BannerTitle>\n <BannerSubtitle>{t('host_banner.subtitle')}</BannerSubtitle>\n <div>\n <ChecklistItem>\n <CheckIcon />\n <CheckText>{t('host_banner.check_1')}</CheckText>\n </ChecklistItem>\n <ChecklistItem>\n <CheckIcon />\n <CheckText>{t('host_banner.check_2')}</CheckText>\n </ChecklistItem>\n <ChecklistItem>\n <CheckIcon />\n <CheckText>{t('host_banner.check_3')}</CheckText>\n </ChecklistItem>\n </div>\n <ButtonRow>\n <CreateButton onClick={handleCreate}>\n <AddIcon sx={{ fontSize: 18 }} />\n {t('host_banner.create_event')}\n </CreateButton>\n <LearnMoreButton onClick={handleLearnMore}>{t('host_banner.learn_more')}</LearnMoreButton>\n </ButtonRow>\n </ContentArea>\n <SceneImage src={sceneImage} alt=\"\" aria-hidden=\"true\" />\n </BannerSection>\n )\n}\n\nexport { HostBanner }\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { buildCalendarUrl, buildEventJumpInUrl } from '../utils/exploreUrl'\n\ninterface CardActionsParams {\n name: string\n description: string | null\n startAt: string\n finishAt: string\n x: number\n y: number\n}\n\nfunction useCardActions(event: CardActionsParams) {\n const eventUrl = buildEventJumpInUrl(event.x, event.y)\n const [copied, setCopied] = useState(false)\n const [calendarAdded, setCalendarAdded] = useState(false)\n const copiedTimer = useRef<ReturnType<typeof setTimeout> | null>(null)\n const calendarTimer = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n useEffect(() => {\n return () => {\n if (copiedTimer.current) clearTimeout(copiedTimer.current)\n if (calendarTimer.current) clearTimeout(calendarTimer.current)\n }\n }, [])\n\n const handleCopy = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n navigator.clipboard\n ?.writeText(eventUrl)\n ?.then(() => {\n setCopied(true)\n if (copiedTimer.current) clearTimeout(copiedTimer.current)\n copiedTimer.current = setTimeout(() => setCopied(false), 2000)\n })\n .catch(err => console.warn('[useCardActions] Failed to copy:', err))\n },\n [eventUrl]\n )\n\n const handleAddToCalendar = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n const url = buildCalendarUrl({\n name: event.name,\n description: event.description,\n startAt: event.startAt,\n finishAt: event.finishAt,\n x: event.x,\n y: event.y,\n url: eventUrl\n })\n if (url) {\n window.open(url, 'calendar', 'width=1090,height=870,noopener,noreferrer')\n setCalendarAdded(true)\n if (calendarTimer.current) clearTimeout(calendarTimer.current)\n calendarTimer.current = setTimeout(() => setCalendarAdded(false), 2000)\n }\n },\n [event.name, event.description, event.startAt, event.finishAt, event.x, event.y, eventUrl]\n )\n\n return { eventUrl, copied, calendarAdded, handleCopy, handleAddToCalendar }\n}\n\nexport { useCardActions }\nexport type { CardActionsParams }\n","type TranslateFn = (key: string, values?: Record<string, string | number>) => string\n\nfunction getRelativeTimeLabel(startTime: string, t: TranslateFn): string {\n const now = Date.now()\n const start = new Date(startTime).getTime()\n const diffMs = start - now\n\n if (diffMs <= 0) {\n return formatTime(startTime)\n }\n\n const diffMins = Math.round(diffMs / 60000)\n\n if (diffMins < 60) {\n return t('upcoming.starts_in_mins', { count: diffMins })\n }\n\n const diffHours = Math.round(diffMins / 60)\n if (diffHours < 24) {\n return t('upcoming.starts_in_hours', { count: diffHours })\n }\n\n return formatTime(startTime)\n}\n\nfunction formatTime(isoString: string): string {\n const date = new Date(isoString)\n return date.toLocaleTimeString(undefined, { hour: 'numeric', minute: '2-digit', hour12: true })\n}\n\nexport { getRelativeTimeLabel }\nexport type { TranslateFn }\n","type CalendarAddIconProps = {\n size?: number\n style?: React.CSSProperties\n className?: string\n}\n\nfunction CalendarAddIcon({ size = 18, style, className }: CalendarAddIconProps) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ flexShrink: 0, ...style }}\n className={className}\n >\n <path\n d=\"M8.286 1.865v3.976M16.237 1.865v3.976\"\n stroke=\"currentColor\"\n strokeWidth=\"1.036\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <rect x=\"3.425\" y=\"4.142\" width=\"17.889\" height=\"17.889\" rx=\"3.667\" stroke=\"currentColor\" strokeWidth=\"2.073\" />\n <path d=\"M3.316 8.872h17.89\" stroke=\"currentColor\" strokeWidth=\"1.036\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M15.546 15.035h-2.665v2.665h-.888v-2.665H9.328v-.888h2.665v-2.665h.888v2.665h2.665v.888Z\" fill=\"currentColor\" />\n </svg>\n )\n}\n\nexport { CalendarAddIcon }\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport AccessTimeIcon from '@mui/icons-material/AccessTime'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\nimport { Box, Typography, dclColors, styled } from 'decentraland-ui2'\nimport { CalendarAddIcon as CalendarIcon } from './CalendarAddIcon'\n\n// No dclColors token for this hover shade — between gray5 (#ECEBED) and gray4\nconst ACTION_BUTTON_HOVER_BG = '#D9D8DB'\n\n// No dclColors token — design-system success green used for avatar fallback\nconst AVATAR_FALLBACK_GREEN = '#00B453'\n\nconst ActionButton = styled('button')(() => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: dclColors.neutral.gray5,\n border: 'none',\n borderRadius: 8,\n padding: 6,\n width: 30,\n height: 30,\n flexShrink: 0,\n color: dclColors.neutral.softBlack1,\n cursor: 'pointer',\n transition: 'background-color 0.2s ease, color 0.35s ease',\n ['&:hover']: {\n backgroundColor: ACTION_BUTTON_HOVER_BG\n },\n ['&[data-active=\"true\"]']: {\n color: dclColors.base.primary,\n transition: 'color 0.15s ease'\n },\n ['&:disabled']: {\n opacity: 0.5,\n cursor: 'default'\n },\n ['&:focus-visible']: {\n outline: `2px solid ${dclColors.neutral.softWhite}`,\n outlineOffset: 2\n }\n}))\n\nconst ActionTextButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 4,\n backgroundColor: dclColors.neutral.gray5,\n border: 'none',\n borderRadius: 8,\n padding: 6,\n minWidth: 30,\n flexShrink: 1,\n color: dclColors.neutral.softBlack1,\n cursor: 'pointer',\n overflow: 'hidden',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n ['&:hover']: {\n backgroundColor: ACTION_BUTTON_HOVER_BG\n },\n ['&:focus-visible']: {\n outline: `2px solid ${dclColors.neutral.softWhite}`,\n outlineOffset: 2\n }\n}))\n\nconst actionTextLabelBase = {\n fontSize: 12,\n fontWeight: 600,\n textTransform: 'uppercase' as const,\n whiteSpace: 'nowrap' as const\n}\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst ActionTextLabel = styled('span')({\n ...actionTextLabelBase,\n '@container (max-width: 340px)': {\n display: 'none'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst RemindActiveButton = styled('button')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 4,\n backgroundColor: dclColors.neutral.softWhite,\n border: 'none',\n borderRadius: 8,\n padding: 6,\n minWidth: 30,\n flexShrink: 1,\n color: dclColors.base.primary,\n cursor: 'pointer',\n overflow: 'hidden',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n ['&:hover']: {\n backgroundColor: ACTION_BUTTON_HOVER_BG\n },\n ['&:disabled']: {\n opacity: 0.5,\n cursor: 'default'\n },\n ['&:focus-visible']: {\n outline: `2px solid ${dclColors.neutral.softWhite}`,\n outlineOffset: 2\n }\n}))\n\nconst CopyIcon = styled(ContentCopyIcon)({\n fontSize: 18,\n color: 'inherit'\n})\n\nconst AvatarImage = styled('img')({\n width: 19,\n height: 19,\n borderRadius: '50%',\n border: `1.4px solid ${dclColors.whiteTransparent.blurry}`,\n flexShrink: 0,\n objectFit: 'cover'\n})\n\nconst AvatarFallback = styled(Box)({\n width: 19,\n height: 19,\n borderRadius: '50%',\n backgroundColor: AVATAR_FALLBACK_GREEN,\n border: `1.4px solid ${dclColors.whiteTransparent.blurry}`,\n flexShrink: 0\n})\n\nconst CreatorName = styled(Typography)({\n fontSize: 12,\n lineHeight: 1,\n color: dclColors.neutral.softWhite,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n})\n\nconst CreatorNameHighlight = styled('span')({\n color: dclColors.base.primary\n})\n\nconst CreatorRow = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: 8\n})\n\nconst TimePill = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n backgroundColor: dclColors.whiteTransparent.subtle,\n borderRadius: 6,\n padding: '2px 8px 2px 4px',\n height: 24,\n width: 'fit-content',\n maxWidth: '100%',\n transition: 'opacity 0.2s ease'\n})\n\nconst TimeIcon = styled(AccessTimeIcon)({\n fontSize: 20,\n color: dclColors.neutral.softWhite\n})\n\nconst TimeLabel = styled(Typography)({\n fontSize: 16,\n fontWeight: 600,\n lineHeight: 1.5,\n color: dclColors.neutral.softWhite,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n})\n\nconst HoverActions = styled(Box)({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: 12,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n gap: 4,\n opacity: 0,\n transform: 'translateY(8px)',\n transition: 'opacity 0.2s ease, transform 0.2s ease',\n flexWrap: 'nowrap'\n})\n\nconst CARD_HOVER_SHADOW = '0px 2px 12px 12px rgba(255, 255, 255, 0.3)'\n\nexport {\n ActionButton,\n CARD_HOVER_SHADOW,\n ActionTextButton,\n ActionTextLabel,\n AvatarFallback,\n AvatarImage,\n CalendarIcon,\n CopyIcon,\n CreatorName,\n CreatorNameHighlight,\n CreatorRow,\n HoverActions,\n RemindActiveButton,\n TimeIcon,\n TimeLabel,\n TimePill\n}\n","import { RemindMeIcon } from './RemindMeIcon'\nimport { ActionTextButton, ActionTextLabel, RemindActiveButton } from './CardActions.styled'\n\ntype RemindMeButtonProps = {\n isReminded: boolean\n isLoading: boolean\n isShaking: boolean\n label: string\n onClick: (e: React.MouseEvent) => void\n}\n\nfunction RemindMeButton({ isReminded, isLoading, isShaking, label, onClick }: RemindMeButtonProps) {\n if (isReminded) {\n return (\n <RemindActiveButton onClick={onClick} disabled={isLoading}>\n <RemindMeIcon active shaking={isShaking} />\n <ActionTextLabel>{label}</ActionTextLabel>\n </RemindActiveButton>\n )\n }\n\n return (\n <ActionTextButton onClick={onClick} disabled={isLoading}>\n <RemindMeIcon active={false} shaking={isShaking} />\n <ActionTextLabel>{label}</ActionTextLabel>\n </ActionTextButton>\n )\n}\n\nexport { RemindMeButton }\n","import { styled } from 'decentraland-ui2'\n\nconst MobileActionButton = styled('button')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('md')]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 28,\n height: 28,\n flexShrink: 0,\n borderRadius: 6,\n border: 'none',\n backgroundColor: 'rgba(255, 255, 255, 0.15)',\n cursor: 'pointer',\n padding: 0,\n color: '#FCFCFC',\n ['&:active']: {\n backgroundColor: 'rgba(255, 255, 255, 0.3)'\n }\n }\n}))\n\nexport { MobileActionButton }\n","import { memo, useCallback } from 'react'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CalendarMonthIcon from '@mui/icons-material/CalendarMonth'\nimport { useTranslation } from '@dcl/hooks'\nimport { EventSmallCard, Tooltip } from 'decentraland-ui2'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { useGetProfileQuery } from '../../../features/profile/profile.client'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useCardActions } from '../../../hooks/useCardActions'\nimport { useRemindMe } from '../../../hooks/useRemindMe'\nimport { getRelativeTimeLabel } from '../../../utils/exploreTime'\nimport { CalendarAddIcon } from '../common/CalendarAddIcon'\nimport { ActionButton, ActionTextButton, ActionTextLabel, CalendarIcon, CopyIcon } from '../common/CardActions.styled'\nimport { RemindMeButton } from '../common/RemindMeButton'\nimport { RemindMeIcon } from '../common/RemindMeIcon'\nimport { MobileActionButton } from './UpcomingCard.styled'\n\nconst UpcomingCard = memo(function UpcomingCard({\n event,\n onClick,\n disableHover\n}: {\n event: EventEntry\n onClick: (event: EventEntry) => void\n disableHover?: boolean\n}) {\n const { t } = useTranslation()\n const { hasValidIdentity } = useAuthIdentity()\n const { data: profile } = useGetProfileQuery(event.user, { skip: !event.user })\n const avatar = profile?.avatars?.[0]\n const avatarFace = avatar?.avatar?.snapshots?.face256\n const creatorName = avatar?.name || event.user_name || t('upcoming.unknown_creator')\n const { copied, calendarAdded, handleCopy, handleAddToCalendar } = useCardActions({\n name: event.name,\n description: event.description,\n startAt: event.start_at,\n finishAt: event.finish_at,\n x: event.x,\n y: event.y\n })\n const { isReminded, isLoading: isRemindLoading, isShaking, handleToggle: handleRemindToggle } = useRemindMe(event.id, event.attending)\n\n const handleClick = useCallback(() => {\n onClick(event)\n }, [onClick, event])\n\n const mobileAction = hasValidIdentity ? (\n <MobileActionButton onClick={handleRemindToggle} disabled={isRemindLoading} aria-label={t('upcoming.remind_me')}>\n <RemindMeIcon active={isReminded} shaking={isShaking} size={16} />\n </MobileActionButton>\n ) : (\n <MobileActionButton onClick={handleAddToCalendar} aria-label={t('upcoming.add_to_calendar')}>\n <CalendarMonthIcon sx={{ fontSize: 16 }} />\n </MobileActionButton>\n )\n\n const desktopHoverActions = (\n <>\n {hasValidIdentity ? (\n <RemindMeButton\n isReminded={isReminded}\n isLoading={isRemindLoading}\n isShaking={isShaking}\n label={t('upcoming.remind_me')}\n onClick={handleRemindToggle}\n />\n ) : (\n <ActionTextButton onClick={handleAddToCalendar}>\n <CalendarAddIcon />\n <ActionTextLabel>{t('upcoming.add_to_calendar')}</ActionTextLabel>\n </ActionTextButton>\n )}\n {hasValidIdentity && (\n <Tooltip title={t('upcoming.add_to_calendar')} placement=\"top\" arrow>\n <ActionButton onClick={handleAddToCalendar} data-active={calendarAdded}>\n <CalendarIcon />\n </ActionButton>\n </Tooltip>\n )}\n <Tooltip title={copied ? t('upcoming.copied') : t('upcoming.copy_link')} placement=\"top\" arrow>\n <ActionButton onClick={handleCopy} data-active={copied}>\n <CopyIcon />\n </ActionButton>\n </Tooltip>\n </>\n )\n\n return (\n <EventSmallCard\n image={event.image ?? undefined}\n title={event.name}\n creatorName={creatorName}\n creatorAvatarUrl={avatarFace}\n timeLabel={getRelativeTimeLabel(event.start_at, t)}\n onClick={handleClick}\n disableHover={disableHover}\n action={mobileAction}\n hoverActions={desktopHoverActions}\n />\n )\n})\n\nUpcomingCard.displayName = 'UpcomingCard'\n\nexport { UpcomingCard }\n","import { Box, Typography, dclColors, styled } from 'decentraland-ui2'\nimport { CARD_HOVER_SHADOW } from '../common/CardActions.styled'\n\nconst FutureCardContainer = styled(Box)({\n borderRadius: 12,\n overflow: 'hidden',\n cursor: 'pointer',\n position: 'relative',\n width: '100%',\n minWidth: 0,\n ['&:hover']: {\n boxShadow: CARD_HOVER_SHADOW\n },\n ['&:hover [data-role=\"hover-actions\"]']: {\n opacity: 1,\n transform: 'translateY(0)'\n },\n ['&:hover [data-role=\"time-pill\"], &:hover [data-role=\"creator-row\"]']: {\n opacity: 0\n },\n ['&:focus-within [data-role=\"hover-actions\"]']: {\n opacity: 1,\n transform: 'translateY(0)'\n },\n ['&:focus-within [data-role=\"time-pill\"], &:focus-within [data-role=\"creator-row\"]']: {\n opacity: 0\n }\n})\n\nconst CardImageWrapper = styled(Box)({\n width: '100%',\n aspectRatio: '16 / 9',\n overflow: 'hidden',\n flexShrink: 0\n})\n\nconst CardImage = styled('img')({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block',\n pointerEvents: 'none',\n userSelect: 'none'\n})\n\nconst CardContent = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n padding: 12,\n position: 'relative',\n backgroundColor: dclColors.blackTransparent.blurry\n})\n\nconst CardTitle = styled(Typography)({\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.5,\n color: dclColors.neutral.softWhite,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n})\n\n// Overrides for decentraland-ui2 EventCard internals.\n// Coupled to MUI class names — verify on decentraland-ui2 upgrades.\nconst LiveCardWrapper = styled(Box)({\n width: '100%',\n minWidth: 0,\n overflow: 'hidden',\n ['& .MuiCard-root']: {\n maxWidth: '100%',\n minWidth: 0,\n width: '100%',\n maxHeight: 'none',\n containerType: 'inline-size',\n overflow: 'hidden',\n animation: 'none'\n },\n ['& .MuiCardContent-root']: {\n backgroundColor: dclColors.blackTransparent.backdrop\n },\n ['& .MuiCardMedia-root']: {\n height: 'min(62.5cqw, 200px)',\n pointerEvents: 'none',\n userSelect: 'none'\n },\n // Disable all hover transitions and transforms on the card\n ['& .MuiCardActionArea-root']: {\n transition: 'none',\n transform: 'none'\n },\n ['&& .MuiCardActionArea-root:hover']: {\n transform: 'none',\n boxShadow: 'none'\n },\n ['&& .MuiCard-root:hover']: {\n boxShadow: 'none'\n },\n ['&& .MuiCardActionArea-root:hover .MuiCardMedia-root']: {\n height: 'min(62.5cqw, 200px)',\n transform: 'none'\n },\n // Hide avatar/by row — EventCard DOM: CardContent > SceneInfoContainer > AvatarAndLocationRow > AvatarContainer(.MuiAvatar-root)\n ['& .MuiCardContent-root .MuiBox-root .MuiBox-root:has(.MuiAvatar-root)']: {\n display: 'none'\n },\n ['& .MuiCardContent-root .MuiTypography-h6']: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n WebkitLineClamp: 'unset', // eslint-disable-line @typescript-eslint/naming-convention\n WebkitBoxOrient: 'unset' // eslint-disable-line @typescript-eslint/naming-convention\n }\n})\n\nexport { CardContent, CardImage, CardImageWrapper, CardTitle, FutureCardContainer, LiveCardWrapper }\n","import { memo, useCallback } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { Tooltip } from 'decentraland-ui2'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { useGetProfileQuery } from '../../../features/profile/profile.client'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useCardActions } from '../../../hooks/useCardActions'\nimport { useRemindMe } from '../../../hooks/useRemindMe'\nimport { getRelativeTimeLabel } from '../../../utils/exploreTime'\nimport {\n ActionButton,\n ActionTextButton,\n ActionTextLabel,\n AvatarFallback,\n AvatarImage,\n CalendarIcon,\n CopyIcon,\n CreatorName,\n CreatorNameHighlight,\n CreatorRow,\n HoverActions,\n TimeIcon,\n TimeLabel,\n TimePill\n} from '../common/CardActions.styled'\nimport { RemindMeButton } from '../common/RemindMeButton'\nimport { CardContent, CardImage, CardImageWrapper, CardTitle, FutureCardContainer } from './AllExperiencesCard.styled'\n\ninterface FutureCardProps {\n event: EventEntry\n onClick: (event: EventEntry) => void\n}\n\nconst FutureCard = memo(({ event, onClick }: FutureCardProps) => {\n const { t } = useTranslation()\n const { hasValidIdentity } = useAuthIdentity()\n const { data: profile } = useGetProfileQuery(event.user, { skip: !event.user })\n const avatar = profile?.avatars?.[0]\n const avatarFace = avatar?.avatar?.snapshots?.face256\n const creatorName = avatar?.name || event.user_name || t('all_experiences.coming_soon')\n const { copied, handleCopy, handleAddToCalendar } = useCardActions({\n name: event.name,\n description: event.description,\n startAt: event.start_at,\n finishAt: event.finish_at,\n x: event.x,\n y: event.y\n })\n const { isReminded, isLoading: isRemindLoading, isShaking, handleToggle: handleRemindToggle } = useRemindMe(event.id, event.attending)\n\n const handleClick = useCallback(() => {\n onClick(event)\n }, [onClick, event])\n\n return (\n <FutureCardContainer onClick={handleClick}>\n {event.image && (\n <CardImageWrapper>\n <CardImage src={event.image} alt={event.name} loading=\"lazy\" />\n </CardImageWrapper>\n )}\n <CardContent>\n <CardTitle>{event.name}</CardTitle>\n <CreatorRow data-role=\"creator-row\">\n {avatarFace ? <AvatarImage src={avatarFace} alt={creatorName} /> : <AvatarFallback />}\n <CreatorName>\n {t('upcoming.by_prefix')}\n <CreatorNameHighlight>{creatorName}</CreatorNameHighlight>\n </CreatorName>\n </CreatorRow>\n <TimePill data-role=\"time-pill\">\n <TimeIcon />\n <TimeLabel>{getRelativeTimeLabel(event.start_at, t)}</TimeLabel>\n </TimePill>\n <HoverActions data-role=\"hover-actions\">\n {hasValidIdentity ? (\n <RemindMeButton\n isReminded={isReminded}\n isLoading={isRemindLoading}\n isShaking={isShaking}\n label={t('all_experiences.remind_me')}\n onClick={handleRemindToggle}\n />\n ) : (\n <ActionTextButton onClick={handleAddToCalendar}>\n <CalendarIcon />\n <ActionTextLabel>{t('all_experiences.add_to_calendar')}</ActionTextLabel>\n </ActionTextButton>\n )}\n {hasValidIdentity && (\n <Tooltip title={t('all_experiences.add_to_calendar')} placement=\"top\" arrow>\n <ActionButton onClick={handleAddToCalendar}>\n <CalendarIcon />\n </ActionButton>\n </Tooltip>\n )}\n <Tooltip title={copied ? t('all_experiences.copied') : t('all_experiences.copy_link')} placement=\"top\" arrow>\n <ActionButton onClick={handleCopy}>\n <CopyIcon />\n </ActionButton>\n </Tooltip>\n </HoverActions>\n </CardContent>\n </FutureCardContainer>\n )\n})\n\nFutureCard.displayName = 'FutureCard'\n\nexport { FutureCard }\n","import { memo, useCallback } from 'react'\nimport type { Avatar } from '@dcl/schemas'\nimport { BadgeGroup, EventCard, LiveBadge, UserCountBadge } from 'decentraland-ui2'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { useGetProfileQuery } from '../../../features/profile/profile.client'\nimport { LiveCardWrapper } from './AllExperiencesCard.styled'\n\ninterface LiveCardProps {\n event: EventEntry\n onClick: (event: EventEntry) => void\n}\n\nconst LiveCard = memo(({ event, onClick }: LiveCardProps) => {\n const { data: profile } = useGetProfileQuery(event.user, { skip: !event.user })\n const fetchedAvatar = profile?.avatars?.[0]\n\n const handleClick = useCallback(() => {\n onClick(event)\n }, [onClick, event])\n\n // EventCard expects Avatar which requires userId as non-optional,\n // but ProfileAvatarsItem has it optional. Build a Pick with the fields EventCard uses.\n // ProfileAvatarsItem has optional fields that Avatar requires (userId, bodyShape, etc.)\n // EventCard only reads name, ethAddress, and avatar.snapshots.face256 —\n // the structural mismatch is safe to cast at this boundary.\n const avatar = fetchedAvatar?.avatar ? (fetchedAvatar as unknown as Avatar) : undefined\n\n return (\n <LiveCardWrapper>\n <EventCard\n image={event.image ?? ''}\n sceneName={event.name}\n coordinates={`${event.x},${event.y}`}\n avatar={avatar}\n onClick={handleClick}\n leftBadge={\n <BadgeGroup>\n <LiveBadge />\n <UserCountBadge count={event.total_attendees} />\n </BadgeGroup>\n }\n leftBadgeTransparent\n hideLocation\n />\n </LiveCardWrapper>\n )\n})\n\nLiveCard.displayName = 'LiveCard'\n\nexport { LiveCard }\n","import { memo } from 'react'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { FutureCard } from './FutureCard'\nimport { LiveCard } from './LiveCard'\n\ninterface AllExperiencesCardProps {\n event: EventEntry\n onClick: (event: EventEntry) => void\n}\n\nconst AllExperiencesCard = memo(({ event, onClick }: AllExperiencesCardProps) => {\n if (event.live) {\n return <LiveCard event={event} onClick={onClick} />\n }\n return <FutureCard event={event} onClick={onClick} />\n})\n\nAllExperiencesCard.displayName = 'AllExperiencesCard'\n\nexport { AllExperiencesCard }\nexport type { AllExperiencesCardProps }\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'ChevronLeft');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRight');","import { Box, dclColors, styled } from 'decentraland-ui2'\n\nconst NAV_BAR_HEIGHT = 50\nconst NAV_BAR_MARGIN_BOTTOM = 12\nconst NAV_BUTTON_SIZE = 20\nconst NavigationBar = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n height: NAV_BAR_HEIGHT,\n marginBottom: NAV_BAR_MARGIN_BOTTOM,\n position: 'relative',\n backgroundColor: dclColors.blackTransparent.backdrop,\n borderRadius: 12,\n padding: 0\n})\n\n// Rendered as `<span>` (was Typography variant=\"h6\"). Visual output is\n// identical — fontSize/fontWeight/color are kept in the styled rules —\n// but it no longer emits a heading element, which would appear out of\n// sequence after the section <h2> above it. A11y `heading-order` fix,\n// zero design change.\nconst DateLabel = styled('span', { shouldForwardProp: prop => prop !== 'isToday' })<{ isToday?: boolean }>(({ isToday }) => ({\n flex: 1,\n textAlign: 'center',\n fontWeight: 600,\n fontSize: 16,\n lineHeight: '100%',\n letterSpacing: 0,\n color: isToday ? dclColors.neutral.softWhite : 'rgba(255, 255, 255, 0.7)'\n}))\n\nconst NavButton = styled('button')<{ disabled?: boolean; side: 'left' | 'right' }>(({ disabled, side }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'none',\n border: 'none',\n padding: 0,\n cursor: disabled ? 'default' : 'pointer',\n color: disabled ? 'rgba(255, 255, 255, 0.3)' : dclColors.neutral.softWhite,\n height: NAV_BUTTON_SIZE,\n width: NAV_BUTTON_SIZE,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)',\n [side]: 8,\n zIndex: 1,\n ['&:focus-visible']: {\n outline: `2px solid ${dclColors.neutral.softWhite}`,\n outlineOffset: 2\n }\n}))\n\nexport { DateLabel, NavButton, NavigationBar }\n","import { memo, useMemo } from 'react'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\nimport { useTranslation } from '@dcl/hooks'\nimport { addDays, formatDayHeader, formatDayHeaderAria } from '../../../utils/exploreDate'\nimport { DateLabel, NavButton, NavigationBar } from './DateNavigation.styled'\n\ninterface DateNavigationProps {\n startOffset: number\n columnCount: number\n today: Date\n onNavigateLeft: () => void\n onNavigateRight: () => void\n}\n\nconst DateNavigation = memo(({ startOffset, columnCount, today, onNavigateLeft, onNavigateRight }: DateNavigationProps) => {\n const { t } = useTranslation()\n const canGoBack = startOffset > 0\n\n const days = useMemo(\n () => Array.from({ length: columnCount }, (_, i) => addDays(today, startOffset + i)),\n [today, startOffset, columnCount]\n )\n\n return (\n <NavigationBar role=\"navigation\" aria-label={t('all_experiences.title')}>\n <NavButton\n side=\"left\"\n onClick={onNavigateLeft}\n disabled={!canGoBack}\n aria-label={t('all_experiences.navigate_previous')}\n aria-disabled={!canGoBack}\n tabIndex={canGoBack ? 0 : -1}\n >\n <ChevronLeftIcon sx={{ fontSize: 20 }} />\n </NavButton>\n {days.map((day, i) => (\n <DateLabel\n key={day.toISOString()}\n isToday={startOffset + i === 0}\n aria-label={formatDayHeaderAria(day)}\n aria-current={startOffset + i === 0 ? 'date' : undefined}\n >\n {formatDayHeader(day, t, today)}\n </DateLabel>\n ))}\n <NavButton side=\"right\" onClick={onNavigateRight} aria-label={t('all_experiences.navigate_next')}>\n <ChevronRightIcon sx={{ fontSize: 20 }} />\n </NavButton>\n </NavigationBar>\n )\n})\n\nDateNavigation.displayName = 'DateNavigation'\n\nexport { DateNavigation }\nexport type { DateNavigationProps }\n","import { Box, dclColors, styled } from 'decentraland-ui2'\n\nconst COLUMN_BORDER_RADIUS = 24\n/** 280px accounts for: navbar (~64px) + section title + date nav + section padding (~216px) */\nconst COLUMN_HEIGHT = 'calc(100vh - 280px)'\nconst CARD_GAP = 8\nconst CARD_PADDING = 8\nconst FILLER_BORDER_RADIUS = 12\nconst SKELETON_HEIGHT = 200\n\nconst DayColumnContainer = styled(Box)(({ theme }) => ({\n borderRadius: COLUMN_BORDER_RADIUS,\n backgroundColor: 'rgba(179, 32, 255, 0.25)',\n border: `2px solid ${dclColors.whiteTransparent.subtle}`,\n display: 'flex',\n flexDirection: 'column',\n height: COLUMN_HEIGHT,\n overflow: 'hidden',\n [theme.breakpoints.down('sm')]: {\n height: 'auto'\n }\n}))\n\nconst CardScrollArea = styled(Box)({\n flex: 1,\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n gap: CARD_GAP,\n padding: CARD_PADDING,\n scrollbarWidth: 'none',\n ['&::-webkit-scrollbar']: {\n display: 'none'\n }\n})\n\nconst ColumnFiller = styled(Box)({\n flex: 1,\n minHeight: FILLER_BORDER_RADIUS,\n backgroundColor: dclColors.whiteTransparent.subtle,\n borderRadius: FILLER_BORDER_RADIUS\n})\n\nconst SkeletonCard = styled(Box)({\n height: SKELETON_HEIGHT,\n borderRadius: FILLER_BORDER_RADIUS,\n backgroundColor: 'rgba(255, 255, 255, 0.08)',\n animation: 'pulse 1.5s ease-in-out infinite',\n ['@keyframes pulse']: {\n ['0%, 100%']: { opacity: 0.4 },\n ['50%']: { opacity: 0.15 }\n }\n})\n\nexport { CardScrollArea, ColumnFiller, DayColumnContainer, SkeletonCard }\n","import { memo, useCallback, useEffect, useRef, useState } from 'react'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { CardScrollArea, ColumnFiller, DayColumnContainer, SkeletonCard } from './DayColumn.styled'\n\ninterface DayColumnProps {\n events: EventEntry[]\n isLoading: boolean\n dateLabel: string\n renderCard: (event: EventEntry) => React.ReactNode\n}\n\nconst DayColumn = memo(({ events, isLoading, dateLabel, renderCard }: DayColumnProps) => {\n const scrollRef = useRef<HTMLDivElement>(null)\n const dragState = useRef({ isDown: false, startY: 0, scrollTop: 0 })\n const [hasOverflow, setHasOverflow] = useState(false)\n\n useEffect(() => {\n const el = scrollRef.current\n if (!el) return\n const check = () => setHasOverflow(el.scrollHeight > el.clientHeight)\n check()\n const observer = new ResizeObserver(check)\n observer.observe(el)\n return () => observer.disconnect()\n }, [events, isLoading])\n\n const handleMouseDown = useCallback((e: React.MouseEvent) => {\n const container = scrollRef.current\n if (!container) return\n dragState.current = { isDown: true, startY: e.clientY, scrollTop: container.scrollTop }\n }, [])\n\n const handleMouseMove = useCallback((e: React.MouseEvent) => {\n if (!dragState.current.isDown) return\n const container = scrollRef.current\n if (!container) return\n e.preventDefault()\n const walk = e.clientY - dragState.current.startY\n container.scrollTop = dragState.current.scrollTop - walk\n }, [])\n\n const handleMouseUp = useCallback(() => {\n dragState.current.isDown = false\n }, [])\n\n return (\n <DayColumnContainer role=\"list\" aria-label={dateLabel}>\n <CardScrollArea\n ref={scrollRef}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n >\n {isLoading && (\n <>\n <SkeletonCard role=\"listitem\" aria-hidden=\"true\" />\n <SkeletonCard role=\"listitem\" aria-hidden=\"true\" />\n <SkeletonCard role=\"listitem\" aria-hidden=\"true\" />\n </>\n )}\n {!isLoading &&\n events.map(event => (\n <div key={event.id} role=\"listitem\">\n {renderCard(event)}\n </div>\n ))}\n {!hasOverflow && <ColumnFiller aria-hidden=\"true\" />}\n </CardScrollArea>\n </DayColumnContainer>\n )\n})\n\nDayColumn.displayName = 'DayColumn'\n\nexport { DayColumn }\nexport type { DayColumnProps }\n","import { Box, Typography, styled } from 'decentraland-ui2'\n\nconst SECTION_TITLE_MARGIN_BOTTOM = 28\nconst COLUMNS_GAP = 16\nconst SLIDE_UP_DURATION = '0.4s'\nconst SLIDE_UP_DELAY = '0.15s'\n\nconst AllExperiencesSection = styled('section')(({ theme }) => ({\n position: 'relative',\n zIndex: 8,\n marginTop: theme.spacing(4),\n animation: `slideUp ${SLIDE_UP_DURATION} ease-out ${SLIDE_UP_DELAY}`,\n ['@keyframes slideUp']: {\n from: { transform: 'translateY(20px)' },\n to: { transform: 'translateY(0)' }\n },\n marginLeft: theme.spacing(-8),\n marginRight: theme.spacing(-8),\n padding: theme.spacing(8, 8),\n background: 'radial-gradient(63.39% 112.69% at 49.33% 50.11%, #6B2A8A 0%, #1E0A2E 100%)',\n [theme.breakpoints.down('lg')]: {\n marginLeft: theme.spacing(-4),\n marginRight: theme.spacing(-4),\n padding: theme.spacing(8, 4)\n },\n [theme.breakpoints.down('md')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n padding: theme.spacing(6, 3)\n },\n [theme.breakpoints.down('sm')]: {\n marginLeft: 0,\n marginRight: 0,\n padding: theme.spacing(4, 2)\n }\n}))\n\nconst SectionTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 500,\n fontSize: 32,\n lineHeight: 1.235,\n marginBottom: SECTION_TITLE_MARGIN_BOTTOM,\n [theme.breakpoints.down('sm')]: {\n fontSize: 24,\n textAlign: 'center'\n }\n}))\n\nconst ColumnsContainer = styled(Box)({\n display: 'grid',\n gap: COLUMNS_GAP\n})\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst MobileEventsTrack = styled(Box)({\n display: 'flex',\n gap: 12,\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n scrollBehavior: 'smooth',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': {\n display: 'none'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst MobileEventsPage = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n gap: 12,\n flex: '0 0 100%',\n scrollSnapAlign: 'start'\n})\n\nexport { AllExperiencesSection, ColumnsContainer, MobileEventsPage, MobileEventsTrack, SectionTitle }\n","import { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { useGetEventsQuery } from '../../../features/explore-events'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useVisibleColumnCount } from '../../../hooks/useVisibleColumnCount'\nimport { chunk } from '../../../utils/exploreChunk'\nimport { addDays, formatDayHeaderAria, getDayRange, isSameLocalDay } from '../../../utils/exploreDate'\nimport { EventDetailModal, normalizeEventEntry } from '../EventDetailModal'\nimport type { ModalEventData } from '../EventDetailModal'\nimport { HostBanner } from '../HostBanner/HostBanner'\nimport { UpcomingCard } from '../Upcoming/UpcomingCard'\nimport { AllExperiencesCard } from './AllExperiencesCard'\nimport { DateNavigation } from './DateNavigation'\nimport { DayColumn } from './DayColumn'\nimport { AllExperiencesSection, ColumnsContainer, MobileEventsPage, MobileEventsTrack, SectionTitle } from './AllExperiences.styled'\n\nfunction useAllExperiencesData(today: Date, startOffset: number, columnCount: number, identity?: import('@dcl/crypto').AuthIdentity) {\n const days = useMemo(\n () => Array.from({ length: columnCount }, (_, i) => addDays(today, startOffset + i)),\n [today, startOffset, columnCount]\n )\n\n // Single query for the entire visible date range to avoid API rate limiting\n const rangeStart = useMemo(() => getDayRange(days[0]), [days])\n const rangeEnd = useMemo(() => getDayRange(days[days.length - 1]), [days])\n\n const {\n data: allEvents = [],\n isLoading,\n isError\n } = useGetEventsQuery({\n list: 'active',\n from: rangeStart.from,\n to: rangeEnd.to,\n order: 'asc',\n world: false,\n limit: 200,\n identity\n })\n\n // Group events by local day client-side\n return useMemo(() => {\n return days.map(day => ({\n date: day,\n events: allEvents.filter(event => isSameLocalDay(new Date(event.start_at), day)),\n isLoading,\n isError\n }))\n }, [days, allEvents, isLoading, isError])\n}\n\nfunction AllExperiences() {\n const { t } = useTranslation()\n const { identity } = useAuthIdentity()\n const columnCount = useVisibleColumnCount()\n const [startOffset, setStartOffset] = useState(0)\n const [modalData, setModalData] = useState<ModalEventData | null>(null)\n\n const [today, setToday] = useState(() => {\n const now = new Date()\n now.setHours(0, 0, 0, 0)\n return now\n })\n\n useEffect(() => {\n const checkMidnight = () => {\n const now = new Date()\n now.setHours(0, 0, 0, 0)\n if (now.getTime() !== today.getTime()) {\n setToday(now)\n setStartOffset(0)\n }\n }\n document.addEventListener('visibilitychange', checkMidnight)\n return () => document.removeEventListener('visibilitychange', checkMidnight)\n }, [today])\n\n const dayData = useAllExperiencesData(today, startOffset, columnCount, identity)\n\n const handleNavigateLeft = useCallback(() => {\n setStartOffset(prev => Math.max(0, prev - columnCount))\n }, [columnCount])\n\n const handleNavigateRight = useCallback(() => {\n setStartOffset(prev => prev + columnCount)\n }, [columnCount])\n\n const handleCardClick = useCallback((event: EventEntry) => {\n setModalData(normalizeEventEntry(event))\n }, [])\n\n const handleModalClose = useCallback(() => {\n setModalData(null)\n }, [])\n\n const renderCard = useCallback((event: EventEntry) => <AllExperiencesCard event={event} onClick={handleCardClick} />, [handleCardClick])\n\n const mobilePages = useMemo(\n () =>\n chunk(\n dayData.flatMap(d => d.events),\n 2\n ),\n [dayData]\n )\n\n return (\n <AllExperiencesSection aria-label={t('all_experiences.title')}>\n <SectionTitle variant=\"h4\">{t('all_experiences.title')}</SectionTitle>\n <DateNavigation\n startOffset={startOffset}\n columnCount={columnCount}\n today={today}\n onNavigateLeft={handleNavigateLeft}\n onNavigateRight={handleNavigateRight}\n />\n {columnCount <= 1 ? (\n <MobileEventsTrack>\n {mobilePages.map((page, i) => (\n <MobileEventsPage key={i}>\n {page.map(event => (\n <UpcomingCard key={event.id} event={event} onClick={handleCardClick} />\n ))}\n </MobileEventsPage>\n ))}\n </MobileEventsTrack>\n ) : (\n <ColumnsContainer sx={{ gridTemplateColumns: `repeat(${columnCount}, 1fr)` }}>\n {dayData.map(({ date, events, isLoading }) => (\n <DayColumn\n key={date.toISOString()}\n events={events}\n isLoading={isLoading}\n dateLabel={formatDayHeaderAria(date)}\n renderCard={renderCard}\n />\n ))}\n </ColumnsContainer>\n )}\n <HostBanner />\n <EventDetailModal open={!!modalData} onClose={handleModalClose} data={modalData} />\n </AllExperiencesSection>\n )\n}\n\nexport { AllExperiences }\n","import { useEffect, useState } from 'react'\nimport { isDocumentVisible, subscribeVisibility } from '../utils/documentVisibility'\n\nfunction useDocumentVisible(): boolean {\n const [visible, setVisible] = useState(isDocumentVisible)\n\n useEffect(() => subscribeVisibility(setVisible), [])\n\n return visible\n}\n\nexport { useDocumentVisible }\n","import { useMemo } from 'react'\n\ntype LiveNowQueryParams = { minUsers: number } | undefined\n\nfunction useLiveNowQueryParams(): LiveNowQueryParams {\n return useMemo(() => {\n const params = new URLSearchParams(window.location.search)\n const raw = params.get('minUsers')\n if (raw !== null && !Number.isNaN(Number(raw))) {\n return { minUsers: Number(raw) }\n }\n return undefined\n }, [])\n}\n\nexport { useLiveNowQueryParams }\nexport type { LiveNowQueryParams }\n","import { Box, styled } from 'decentraland-ui2'\n\nconst PaginationDots = styled(Box)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n gap: theme.spacing(0.75),\n marginTop: theme.spacing(2)\n}))\n\nconst PaginationDot = styled('button')<{ active: boolean }>(({ theme, active }) => ({\n width: 8,\n height: 8,\n borderRadius: '50%',\n border: 'none',\n padding: 0,\n cursor: 'pointer',\n backgroundColor: active ? theme.palette.common.white : 'rgba(255, 255, 255, 0.3)',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n })\n}))\n\nexport { PaginationDot, PaginationDots }\n","import { memo, useCallback } from 'react'\nimport type { Avatar } from '@dcl/schemas'\nimport { BadgeGroup, EventCard, LiveBadge, UserCountBadge } from 'decentraland-ui2'\nimport type { LiveNowCard } from '../../../features/explore-events'\nimport { useGetProfileQuery } from '../../../features/profile/profile.client'\n\nconst DCL_LOGO_URL = `${window.location.origin}/dcl-logo.svg`\n\ninterface CardAvatar {\n name: string\n ethAddress: string\n avatar?: { snapshots?: { face256?: string; body?: string } }\n}\n\nconst LiveNowCardItem = memo(({ card, onClick }: { card: LiveNowCard; onClick: (card: LiveNowCard) => void }) => {\n const isGenesis = card.title.toLowerCase().includes('genesis plaza')\n const { data: profile } = useGetProfileQuery(card.creatorAddress, { skip: !card.creatorAddress })\n const fetchedAvatar = profile?.avatars?.[0]\n\n const handleClick = useCallback(() => {\n onClick(card)\n }, [onClick, card])\n\n let cardAvatar: CardAvatar | undefined\n if (isGenesis) {\n cardAvatar = {\n name: card.creatorName ?? 'Decentraland Foundation',\n ethAddress: '',\n avatar: { snapshots: { face256: DCL_LOGO_URL, body: '' } }\n }\n } else if (fetchedAvatar) {\n cardAvatar = { name: fetchedAvatar.name ?? '', ethAddress: fetchedAvatar.ethAddress ?? '', avatar: fetchedAvatar.avatar }\n } else if (card.creatorName) {\n cardAvatar = { name: card.creatorName, ethAddress: '' }\n }\n\n return (\n <EventCard\n image={card.image}\n sceneName={card.title}\n coordinates={card.coordinates}\n avatar={cardAvatar as Avatar | undefined}\n onClick={handleClick}\n hoverEffect=\"lift\"\n leftBadge={\n <BadgeGroup>\n {card.type === 'event' && <LiveBadge />}\n <UserCountBadge count={card.users} />\n </BadgeGroup>\n }\n leftBadgeTransparent\n hideLocation\n />\n )\n})\n\nLiveNowCardItem.displayName = 'LiveNowCardItem'\n\nexport { LiveNowCardItem }\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport SensorsRoundedIcon from '@mui/icons-material/SensorsRounded'\nimport { Box, IconButton, Typography, styled } from 'decentraland-ui2'\n\nconst LiveNowSection = styled('section')(({ theme }) => ({\n position: 'relative',\n zIndex: 10,\n marginTop: theme.spacing(4),\n padding: theme.spacing(4, 3),\n background: 'radial-gradient(63.39% 112.69% at 49.33% 50.11%, #A042CD 0%, #32134C 100%)',\n borderRadius: theme.spacing(2),\n boxShadow: '0px 4px 25px 0px rgba(255, 255, 255, 0.25)',\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(3, 2),\n marginTop: 0,\n marginLeft: 0,\n marginRight: 0,\n background: 'radial-gradient(63.39% 112.69% at 49.33% 50.11%, #A042CD 0%, #32134C 100%)',\n borderRadius: 0,\n boxShadow: 'none'\n }\n}))\n\nconst LiveNowHeader = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n marginBottom: 24,\n [theme.breakpoints.down('sm')]: {\n justifyContent: 'center',\n padding: theme.spacing(0, 2)\n }\n}))\n\nconst LiveNowTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 600,\n fontSize: 32,\n [theme.breakpoints.down('sm')]: {\n fontSize: 24,\n textAlign: 'center',\n width: '100%'\n }\n}))\n\nconst JUMP_IN_HEIGHT = 62\nconst FADE_WIDTH = 60\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst CarouselWrapper = styled(Box, {\n shouldForwardProp: prop => prop !== 'fadeLeft' && prop !== 'fadeRight' && prop !== 'hasScroll'\n})<{ fadeLeft?: boolean; fadeRight?: boolean; hasScroll?: boolean }>(({ theme, fadeLeft, fadeRight, hasScroll }) => {\n const masks: string[] = []\n if (fadeLeft) {\n masks.push(`linear-gradient(to right, transparent, black ${FADE_WIDTH}px)`)\n }\n if (fadeRight) {\n masks.push(`linear-gradient(to left, transparent, black ${FADE_WIDTH}px)`)\n }\n\n return {\n position: 'relative',\n ...(hasScroll\n ? {\n overflowX: 'auto',\n padding: '24px 16px 16px',\n margin: '-24px -16px -16px',\n scrollSnapType: 'x mandatory',\n scrollPaddingInline: 16,\n scrollBehavior: 'smooth',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': {\n display: 'none'\n }\n }\n : {\n overflow: 'visible'\n }),\n ...(masks.length > 0 && {\n maskImage: masks.join(', '),\n WebkitMaskImage: masks.join(', ')\n }),\n ...(masks.length > 1 && {\n maskComposite: 'intersect',\n WebkitMaskComposite: 'source-in'\n }),\n [theme.breakpoints.down('sm')]: {\n maskImage: 'none',\n WebkitMaskImage: 'none'\n }\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst ChevronButton = styled(IconButton)<{ side: 'left' | 'right' }>(({ theme, side }) => ({\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)',\n [side]: theme.spacing(1),\n zIndex: 2,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n color: theme.palette.common.white,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.7)'\n },\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst LiveNowGrid = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(2),\n justifyContent: 'safe center',\n alignItems: 'stretch',\n '&::after': {\n content: '\"\"',\n flexShrink: 0,\n width: 1\n },\n '& .MuiCard-root': {\n minWidth: 'max(300px, calc((100% - 48px) / 4))',\n maxWidth: 850,\n flex: '1 1 0',\n containerType: 'inline-size',\n scrollSnapAlign: 'start',\n overflow: 'hidden'\n },\n '& .MuiCardActionArea-root': {\n height: '100%'\n },\n '&& .MuiCardMedia-root': {\n height: 'min(62.5cqw, 297px)'\n },\n '&& .MuiCardActionArea-root:hover .MuiCardMedia-root': {\n height: 'min(62.5cqw, 297px)'\n },\n '&& .MuiCardActionArea-root:hover .MuiCardContent-root > div:first-of-type > div:last-child': {\n marginBottom: 0\n },\n '& .MuiCardContent-root .MuiTypography-h6': {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n WebkitLineClamp: 'unset',\n WebkitBoxOrient: 'unset'\n },\n '& .MuiCardContent-root .MuiBox-root .MuiBox-root:has(.MuiAvatar-root)': {\n maxWidth: '100%'\n },\n [theme.breakpoints.down('sm')]: {\n '& .MuiCard-root': {\n minWidth: 'unset',\n maxWidth: 'unset',\n maxHeight: 'none',\n flex: '0 0 100%'\n },\n '&& .MuiCardMedia-root': {\n height: `calc(62.5cqw - ${JUMP_IN_HEIGHT}px)`\n },\n '&& .MuiCardActionArea-root:hover .MuiCardMedia-root': {\n height: `calc(62.5cqw - ${JUMP_IN_HEIGHT}px)`\n },\n '&& .MuiCardActionArea-root:hover .MuiCardContent-root > div:first-of-type > div:last-child': {\n marginBottom: 0\n },\n '&& .MuiCardContent-root > .MuiBox-root:last-child': {\n display: 'flex',\n opacity: 1,\n transform: 'translateY(0)'\n }\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst LiveNowIcon = styled(SensorsRoundedIcon)(({ theme }) => ({\n color: '#E00000',\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst ChevronLayer = styled(Box)({\n position: 'relative'\n})\n\nexport { CarouselWrapper, ChevronButton, ChevronLayer, LiveNowGrid, LiveNowHeader, LiveNowIcon, LiveNowSection, LiveNowTitle }\n","import { useCallback, useEffect, useRef, useState } from 'react'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft'\n// eslint-disable-next-line @typescript-eslint/naming-convention\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\nimport { useTranslation } from '@dcl/hooks'\nimport { useGetLiveNowCardsQuery } from '../../../features/explore-events'\nimport type { LiveNowCard } from '../../../features/explore-events'\nimport { useDocumentVisible } from '../../../hooks/useDocumentVisible'\nimport { useLiveNowQueryParams } from '../../../hooks/useLiveNowQueryParams'\nimport { PaginationDot, PaginationDots } from '../common/PaginationDots.styled'\nimport { EventDetailModal, normalizeLiveNowCard } from '../EventDetailModal'\nimport type { ModalEventData } from '../EventDetailModal'\nimport { LiveNowCardItem } from './LiveNowCardItem'\nimport {\n CarouselWrapper,\n ChevronButton,\n ChevronLayer,\n LiveNowGrid,\n LiveNowHeader,\n LiveNowIcon,\n LiveNowSection,\n LiveNowTitle\n} from './LiveNow.styled'\n\nconst SCROLL_AMOUNT = 300\n\nfunction LiveNow() {\n const { t } = useTranslation()\n const queryParams = useLiveNowQueryParams()\n const isVisible = useDocumentVisible()\n const { data: cards = [] } = useGetLiveNowCardsQuery(queryParams, { pollingInterval: isVisible ? 60_000 : 0 })\n const [activeIndex, setActiveIndex] = useState(0)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n const [pageCount, setPageCount] = useState(1)\n const [isDragging, setIsDragging] = useState(false)\n const [modalData, setModalData] = useState<ModalEventData | null>(null)\n const scrollRef = useRef<HTMLDivElement>(null)\n const dragState = useRef({ isDown: false, startX: 0, scrollLeft: 0 })\n\n const syncScrollState = useCallback(() => {\n const container = scrollRef.current\n if (!container) return\n const hasScroll = container.scrollWidth > container.clientWidth\n const pages = hasScroll && container.clientWidth > 0 ? Math.max(1, Math.ceil(container.scrollWidth / container.clientWidth)) : 1\n setCanScrollLeft(container.scrollLeft > 0)\n setCanScrollRight(hasScroll && container.scrollLeft + container.clientWidth < container.scrollWidth - 1)\n setPageCount(pages)\n\n const maxScroll = container.scrollWidth - container.clientWidth\n if (maxScroll <= 0) {\n setActiveIndex(0)\n } else {\n const progress = container.scrollLeft / maxScroll\n setActiveIndex(Math.round(progress * (pages - 1)))\n }\n }, [])\n\n useEffect(() => {\n const container = scrollRef.current\n if (!container) return\n syncScrollState()\n const observer = new ResizeObserver(syncScrollState)\n observer.observe(container)\n return () => observer.disconnect()\n }, [cards.length, syncScrollState])\n\n const handleChevronClick = useCallback((direction: 'left' | 'right') => {\n const container = scrollRef.current\n if (!container) return\n const delta = direction === 'left' ? -SCROLL_AMOUNT : SCROLL_AMOUNT\n container.scrollBy({ left: delta, behavior: 'smooth' })\n }, [])\n\n const handleMouseDown = useCallback((e: React.MouseEvent) => {\n const container = scrollRef.current\n if (!container) return\n dragState.current = { isDown: true, startX: e.pageX - container.offsetLeft, scrollLeft: container.scrollLeft }\n setIsDragging(false)\n }, [])\n\n const handleMouseMove = useCallback((e: React.MouseEvent) => {\n if (!dragState.current.isDown) return\n const container = scrollRef.current\n if (!container) return\n e.preventDefault()\n const x = e.pageX - container.offsetLeft\n const walk = x - dragState.current.startX\n if (Math.abs(walk) > 5) setIsDragging(true)\n container.scrollLeft = dragState.current.scrollLeft - walk\n }, [])\n\n const handleMouseUp = useCallback(() => {\n dragState.current.isDown = false\n }, [])\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n if (isDragging) e.stopPropagation()\n },\n [isDragging]\n )\n\n const handleDotClick = useCallback(\n (index: number) => {\n const container = scrollRef.current\n if (!container) return\n const maxScroll = container.scrollWidth - container.clientWidth\n const scrollTo = pageCount <= 1 ? 0 : (maxScroll * index) / (pageCount - 1)\n container.scrollTo({ left: scrollTo, behavior: 'smooth' })\n },\n [pageCount]\n )\n\n const handleCardClick = useCallback((card: LiveNowCard) => {\n setModalData(normalizeLiveNowCard(card))\n }, [])\n\n const handleModalClose = useCallback(() => {\n setModalData(null)\n }, [])\n\n if (cards.length === 0) return null\n\n return (\n <LiveNowSection>\n <LiveNowHeader>\n <LiveNowIcon />\n <LiveNowTitle variant=\"h5\">{t('live_now.title')}</LiveNowTitle>\n </LiveNowHeader>\n <ChevronLayer>\n {canScrollLeft && (\n <ChevronButton side=\"left\" onClick={() => handleChevronClick('left')}>\n <ChevronLeftIcon />\n </ChevronButton>\n )}\n {canScrollRight && (\n <ChevronButton side=\"right\" onClick={() => handleChevronClick('right')}>\n <ChevronRightIcon />\n </ChevronButton>\n )}\n <CarouselWrapper\n ref={scrollRef}\n onScroll={syncScrollState}\n fadeLeft={canScrollLeft}\n fadeRight={canScrollRight}\n hasScroll={pageCount > 1}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n onClickCapture={handleClick}\n sx={{ cursor: isDragging ? 'grabbing' : 'grab' }}\n >\n <LiveNowGrid>\n {cards.map(card => (\n <LiveNowCardItem key={card.id} card={card} onClick={handleCardClick} />\n ))}\n </LiveNowGrid>\n </CarouselWrapper>\n </ChevronLayer>\n {pageCount > 1 && (\n <PaginationDots role=\"tablist\" aria-label={t('live_now.title')}>\n {Array.from({ length: pageCount }, (_, index) => {\n const isActive = index === activeIndex\n return (\n <PaginationDot\n key={index}\n active={isActive}\n role=\"tab\"\n aria-selected={isActive}\n aria-current={isActive ? 'true' : undefined}\n tabIndex={isActive ? 0 : -1}\n onClick={() => handleDotClick(index)}\n onKeyDown={e => {\n if (e.key === 'ArrowRight') {\n e.preventDefault()\n handleDotClick((index + 1) % pageCount)\n } else if (e.key === 'ArrowLeft') {\n e.preventDefault()\n handleDotClick((index - 1 + pageCount) % pageCount)\n }\n }}\n aria-label={t('pagination.go_to_page', { page: index + 1 })}\n />\n )\n })}\n </PaginationDots>\n )}\n <EventDetailModal open={!!modalData} onClose={handleModalClose} data={modalData} />\n </LiveNowSection>\n )\n}\n\nexport { LiveNow }\n","import { Box, Typography, styled } from 'decentraland-ui2'\n\nconst SLIDE_UP_DURATION = '0.4s'\n\nconst UpcomingSection = styled('section')(({ theme }) => ({\n position: 'relative',\n zIndex: 9,\n marginTop: theme.spacing(4),\n animation: `slideUp ${SLIDE_UP_DURATION} ease-out`,\n ['@keyframes slideUp']: {\n from: { transform: 'translateY(20px)' },\n to: { transform: 'translateY(0)' }\n },\n marginLeft: theme.spacing(-8),\n marginRight: theme.spacing(-8),\n padding: theme.spacing(4, 8),\n [theme.breakpoints.down('lg')]: {\n marginLeft: theme.spacing(-4),\n marginRight: theme.spacing(-4),\n padding: theme.spacing(4, 4)\n },\n [theme.breakpoints.down('md')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n padding: theme.spacing(4, 3)\n },\n [theme.breakpoints.down('sm')]: {\n marginLeft: 0,\n marginRight: 0,\n padding: theme.spacing(3, 2)\n }\n}))\n\nconst UpcomingTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 500,\n fontSize: 32,\n lineHeight: 1.235,\n marginBottom: 32,\n [theme.breakpoints.down('md')]: {\n textAlign: 'center'\n },\n [theme.breakpoints.down('sm')]: {\n fontSize: 24\n }\n}))\n\nconst MobileCarousel = styled(Box)(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('md')]: {\n display: 'block'\n }\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst MobileCarouselTrack = styled(Box)({\n display: 'flex',\n gap: 12,\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n scrollBehavior: 'smooth',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': {\n display: 'none'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst MobileCarouselPage = styled(Box)(() => ({\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n gap: 12,\n flex: '0 0 100%',\n scrollSnapAlign: 'start',\n '@media (max-width: 600px)': {\n gridTemplateColumns: '1fr',\n justifyItems: 'center',\n '& > *:nth-of-type(n+3)': {\n display: 'none'\n }\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst DesktopGrid = styled(Box)(({ theme }) => ({\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(max(300px, calc((100% - 72px) / 4)), 1fr))',\n gap: 24,\n [theme.breakpoints.down('md')]: {\n display: 'none'\n }\n}))\n\nexport { DesktopGrid, MobileCarousel, MobileCarouselPage, MobileCarouselTrack, UpcomingSection, UpcomingTitle }\n","import { useCallback, useMemo, useRef, useState } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { useGetUpcomingEventsQuery } from '../../../features/explore-events'\nimport type { EventEntry } from '../../../features/explore-events'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { chunk } from '../../../utils/exploreChunk'\nimport { PaginationDot, PaginationDots } from '../common/PaginationDots.styled'\nimport { EventDetailModal, normalizeEventEntry } from '../EventDetailModal'\nimport type { ModalEventData } from '../EventDetailModal'\nimport { UpcomingCard } from './UpcomingCard'\nimport { DesktopGrid, MobileCarousel, MobileCarouselPage, MobileCarouselTrack, UpcomingSection, UpcomingTitle } from './Upcoming.styled'\n\nconst PAGE_SIZE = 4\n\nfunction Upcoming() {\n const { t } = useTranslation()\n const { identity } = useAuthIdentity()\n const { data: events = [] } = useGetUpcomingEventsQuery(identity ? { identity } : undefined)\n const [modalData, setModalData] = useState<ModalEventData | null>(null)\n const [activePage, setActivePage] = useState(0)\n const trackRef = useRef<HTMLDivElement>(null)\n\n const pages = useMemo(() => chunk(events, PAGE_SIZE), [events])\n\n const handleScroll = useCallback(() => {\n const el = trackRef.current\n if (!el || el.clientWidth === 0) return\n const index = Math.round(el.scrollLeft / el.clientWidth)\n setActivePage(index)\n }, [])\n\n const handleDotClick = useCallback((index: number) => {\n const el = trackRef.current\n if (!el) return\n el.scrollTo({ left: index * el.clientWidth, behavior: 'smooth' })\n }, [])\n\n const handleCardClick = useCallback((event: EventEntry) => {\n setModalData(normalizeEventEntry(event))\n }, [])\n\n const handleModalClose = useCallback(() => {\n setModalData(null)\n }, [])\n\n if (events.length === 0) return null\n\n return (\n <UpcomingSection>\n <UpcomingTitle variant=\"h5\">{t('upcoming.title')}</UpcomingTitle>\n <DesktopGrid>\n {events.map(event => (\n <UpcomingCard key={event.id} event={event} onClick={handleCardClick} />\n ))}\n </DesktopGrid>\n <MobileCarousel>\n <MobileCarouselTrack ref={trackRef} onScroll={handleScroll}>\n {pages.map((page, i) => (\n <MobileCarouselPage key={i}>\n {page.map(event => (\n <UpcomingCard key={event.id} event={event} onClick={handleCardClick} disableHover />\n ))}\n </MobileCarouselPage>\n ))}\n </MobileCarouselTrack>\n {pages.length > 1 && (\n <PaginationDots role=\"tablist\" aria-label={t('upcoming.title')}>\n {pages.map((_, index) => {\n const isActive = index === activePage\n return (\n <PaginationDot\n key={index}\n active={isActive}\n role=\"tab\"\n aria-selected={isActive}\n aria-current={isActive ? 'true' : undefined}\n tabIndex={isActive ? 0 : -1}\n onClick={() => handleDotClick(index)}\n onKeyDown={e => {\n if (e.key === 'ArrowRight') {\n e.preventDefault()\n handleDotClick((index + 1) % pages.length)\n } else if (e.key === 'ArrowLeft') {\n e.preventDefault()\n handleDotClick((index - 1 + pages.length) % pages.length)\n }\n }}\n aria-label={t('pagination.go_to_page', { page: index + 1 })}\n />\n )\n })}\n </PaginationDots>\n )}\n </MobileCarousel>\n <EventDetailModal open={!!modalData} onClose={handleModalClose} data={modalData} />\n </UpcomingSection>\n )\n}\n\nexport { Upcoming }\n","export default \"__VITE_ASSET__BhCN_z92__\"","import { Box, styled } from 'decentraland-ui2'\nimport topBackground from '../../images/explore/images/top_background.webp'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst MainContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n background: `url(${topBackground}) no-repeat top center, radial-gradient(61.64% 109.58% at 50% 54.49%, #A042CD 0%, #270537 100%)`,\n backgroundSize: '100% 700px, 100% auto',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: 'linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n pointerEvents: 'none'\n },\n overflow: 'hidden',\n minHeight: '100vh',\n padding: theme.spacing(5, 8, 0, 8),\n [theme.breakpoints.down('lg')]: {\n padding: theme.spacing(5, 4, 0, 4)\n },\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(5, 3, 0, 3)\n },\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(0, 0, 0, 0),\n background: '#1A0A2E',\n backgroundSize: 'unset',\n '&::before': {\n display: 'none'\n }\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst ContentWrapper = styled(Box)(({ theme }) => ({\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(4),\n paddingTop: '66px',\n [theme.breakpoints.down('sm')]: {\n paddingTop: '56px',\n gap: 0\n }\n}))\n\nconst DeferredGroup = styled(Box, { shouldForwardProp: prop => prop !== 'deferred' })<{ deferred: boolean }>(({ deferred }) => ({\n display: deferred ? 'none' : 'contents'\n}))\n\nexport { ContentWrapper, DeferredGroup, MainContainer }\n","import { AllExperiences } from '../../components/explore/AllExperiences'\nimport { LiveNow } from '../../components/explore/LiveNow'\nimport { Upcoming } from '../../components/explore/Upcoming'\nimport { useGetLiveNowCardsQuery } from '../../features/explore-events'\nimport { useLiveNowQueryParams } from '../../hooks/useLiveNowQueryParams'\nimport { ContentWrapper, DeferredGroup, MainContainer } from './HomePage.styled'\n\nfunction HomePage() {\n const queryParams = useLiveNowQueryParams()\n const { isLoading: isLiveNowLoading } = useGetLiveNowCardsQuery(queryParams)\n\n return (\n <MainContainer component=\"main\">\n <ContentWrapper>\n <LiveNow />\n </ContentWrapper>\n <DeferredGroup deferred={isLiveNowLoading}>\n <Upcoming />\n <AllExperiences />\n </DeferredGroup>\n </MainContainer>\n )\n}\n\nexport { HomePage }\n"],"names":["getDialogUtilityClass","slot","generateUtilityClass","dialogClasses","generateUtilityClasses","DialogContext","React.createContext","_excluded","DialogBackdrop","styled","Backdrop","props","styles","useUtilityClasses","ownerState","classes","scroll","maxWidth","fullWidth","fullScreen","slots","capitalize","composeClasses","DialogRoot","Modal","DialogContainer","_extends","DialogPaper","Paper","theme","Dialog","React.forwardRef","inProps","ref","useDefaultProps","useTheme","defaultTransitionDuration","ariaDescribedby","ariaLabelledbyProp","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","TransitionComponent","Fade","transitionDuration","TransitionProps","other","_objectWithoutPropertiesLoose","backdropClick","React.useRef","handleMouseDown","event","handleBackdropClick","ariaLabelledby","useId","dialogContextValue","React.useMemo","_jsx","clsx","_interopRequireDefault","require$$0","AccessTime","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","HOVER_SHADOW","HOVER_SHADOW_LIGHT","TimePill","Box","HoverActions","EventSmallCardContainer","prop","disableHover","ThumbnailWrapper","Thumbnail","TextBlock","ContentTop","EventTitle","Typography","TitleRow","MobileAction","AvatarImg","AvatarFallback","CreatorRow","CreatorName","CreatorNameHighlight","TimeLabel","EventSmallCard","memo","image","title","creatorName","creatorAvatarUrl","timeLabel","action","hoverActions","handleKeyDown","useCallback","e","_jsxs","AccessTimeIcon","MAX_COLUMNS","BREAKPOINTS","getColumnCount","query","columns","useVisibleColumnCount","columnCount","setColumnCount","useState","useEffect","mediaQueryLists","handleChange","mql","chunk","arr","size","result","i","addDays","date","days","startOfDay","endOfDay","getDayRange","isSameLocalDay","a","b","formatDayHeader","t","today","tomorrow","weekday","month","day","formatDayHeaderAria","CalendarToday","buildJumpInUrl","x","y","buildEventJumpInUrl","parseCoordinates","coordinates","buildCalendarUrl","formatDate","iso","start","end","MOBILE_NAVBAR_OFFSET","StyledDialog","HeroSection","HeroImage","HeroOverlay","CloseButton","CloseIconStyled","CloseIcon","HeroContent","CategoryLabel","ModalTitle","AvatarImage","ActionsRow","JumpInButton","SecondaryButton","CopyButton","CopyIconStyled","ContentCopyIcon","ContentSection","SectionLabel","DescriptionText","ContentDivider","ScheduleRow","ScheduleIconButton","ScheduleText","RecurrenceText","formatScheduleDate","isoString","formatScheduleTime","getRecurrenceLabel","frequency","EventDetailModalContent","data","useTranslation","hasDescription","hasSchedule","handleAddToCalendar","url","recurrenceLabel","jsxs","Fragment","jsx","CalendarTodayIcon","CalendarMonth","useRemindMe","eventId","attending","identity","hasValidIdentity","useAuthIdentity","toggleAttendee","isLoading","useToggleAttendeeMutation","isShaking","setIsShaking","optimistic","setOptimistic","shakeTimer","useRef","serverValue","isReminded","handleToggle","redirectToAuth","newValue","BELL_OUTLINE_BODY","BELL_OUTLINE_CLAPPER","BELL_ACTIVE","CHECK_ACTIVE","Container","Layer","CheckPath","RemindMeIcon","active","shaking","DCL_LOGO_URL","EventDetailModalHero","isMobile","useMediaQuery","copied","setCopied","isRemindLoading","handleRemindToggle","isDclFoundation","profile","useGetProfileQuery","avatar","avatarFace","hasCreator","handleJumpIn","handleCopy","err","subtitle","ArrowBackIosNewIcon","Tooltip","CalendarMonthIcon","EventDetailModal","normalizeEventEntry","normalizeLiveNowCard","card","avatarImage","sceneImage","CheckBox","BannerSection","ContentArea","BannerTitle","BannerSubtitle","ChecklistItem","CheckIcon","CheckBoxIcon","CheckText","ButtonRow","CreateButton","LearnMoreButton","SceneImage","LEARN_MORE_URL","HostBanner","navigate","useNavigate","handleCreate","handleLearnMore","AddIcon","useCardActions","eventUrl","calendarAdded","setCalendarAdded","copiedTimer","calendarTimer","getRelativeTimeLabel","startTime","now","diffMs","formatTime","diffMins","diffHours","CalendarAddIcon","style","ACTION_BUTTON_HOVER_BG","AVATAR_FALLBACK_GREEN","ActionButton","dclColors.neutral","dclColors.base","ActionTextButton","actionTextLabelBase","ActionTextLabel","RemindActiveButton","CopyIcon","dclColors.whiteTransparent","TimeIcon","CARD_HOVER_SHADOW","RemindMeButton","label","MobileActionButton","UpcomingCard","handleClick","mobileAction","desktopHoverActions","CalendarIcon","FutureCardContainer","CardImageWrapper","CardImage","CardContent","dclColors.blackTransparent","CardTitle","LiveCardWrapper","FutureCard","LiveCard","fetchedAvatar","EventCard","BadgeGroup","LiveBadge","UserCountBadge","AllExperiencesCard","ChevronLeft","ChevronRight","NAV_BAR_HEIGHT","NAV_BAR_MARGIN_BOTTOM","NAV_BUTTON_SIZE","NavigationBar","DateLabel","isToday","NavButton","disabled","side","DateNavigation","startOffset","onNavigateLeft","onNavigateRight","canGoBack","useMemo","_","ChevronLeftIcon","ChevronRightIcon","COLUMN_BORDER_RADIUS","COLUMN_HEIGHT","CARD_GAP","CARD_PADDING","FILLER_BORDER_RADIUS","SKELETON_HEIGHT","DayColumnContainer","CardScrollArea","ColumnFiller","SkeletonCard","DayColumn","events","dateLabel","renderCard","scrollRef","dragState","hasOverflow","setHasOverflow","el","check","observer","container","handleMouseMove","walk","handleMouseUp","SECTION_TITLE_MARGIN_BOTTOM","COLUMNS_GAP","SLIDE_UP_DURATION","SLIDE_UP_DELAY","AllExperiencesSection","SectionTitle","ColumnsContainer","MobileEventsTrack","MobileEventsPage","useAllExperiencesData","rangeStart","rangeEnd","allEvents","isError","useGetEventsQuery","AllExperiences","setStartOffset","modalData","setModalData","setToday","checkMidnight","dayData","handleNavigateLeft","prev","handleNavigateRight","handleCardClick","handleModalClose","mobilePages","d","page","useDocumentVisible","visible","setVisible","isDocumentVisible","subscribeVisibility","useLiveNowQueryParams","raw","PaginationDots","PaginationDot","LiveNowCardItem","isGenesis","cardAvatar","LiveNowSection","LiveNowHeader","LiveNowTitle","JUMP_IN_HEIGHT","FADE_WIDTH","CarouselWrapper","fadeLeft","fadeRight","hasScroll","masks","ChevronButton","IconButton","LiveNowGrid","LiveNowIcon","SensorsRoundedIcon","ChevronLayer","SCROLL_AMOUNT","LiveNow","queryParams","isVisible","cards","useGetLiveNowCardsQuery","activeIndex","setActiveIndex","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","pageCount","setPageCount","isDragging","setIsDragging","syncScrollState","pages","maxScroll","progress","handleChevronClick","direction","delta","handleDotClick","index","scrollTo","isActive","UpcomingSection","UpcomingTitle","MobileCarousel","MobileCarouselTrack","MobileCarouselPage","DesktopGrid","PAGE_SIZE","Upcoming","useGetUpcomingEventsQuery","activePage","setActivePage","trackRef","handleScroll","topBackground","MainContainer","ContentWrapper","DeferredGroup","deferred","HomePage","isLiveNowLoading"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,9,13,21,35,36]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as e,a as s,v as l,x as m,j as n}from"./index-
|
|
1
|
+
import{s as e,a as s,v as l,x as m,j as n}from"./index-DUmIu2EK.js";import{r}from"./vendor-router-D_36sTKu.js";import"./vendor-ua-D7qqAxdq.js";import{C as $}from"./CircleAndArrow-DIeWRbH9.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-intl-D2lXWsDp.js";const w=e("section")(({theme:t})=>({width:"100%",position:"relative",margin:"auto",color:t.palette.text.primary,padding:`${t.spacing(25)} ${t.spacing(20)}`,[t.breakpoints.down("sm")]:{padding:`${t.spacing(6)} ${t.spacing(4)} ${t.spacing(40)}`}})),q=e(s)(({theme:t})=>({background:`
|
|
2
2
|
linear-gradient(to right, ${t.palette.text.primary} 4px, transparent 4px) 0 0,
|
|
3
3
|
linear-gradient(to right, ${t.palette.text.primary} 4px, transparent 4px) 0 100%,
|
|
4
4
|
linear-gradient(to left, ${t.palette.text.primary} 4px, transparent 4px) 100% 0,
|