@dcl/landing-site 0.5.1-24803483354.commit-bb6520e → 0.5.1-24846465451.commit-1f3abc7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/assets/{AccessTime-DpsycoTx.js → AccessTime-HgE1uMjl.js} +1 -1
  2. package/assets/{AccessTime-DpsycoTx.js.map → AccessTime-HgE1uMjl.js.map} +1 -1
  3. package/assets/{Add-CtUiG6Qa.js → Add-DWpGYLEy.js} +1 -1
  4. package/assets/{Add-CtUiG6Qa.js.map → Add-DWpGYLEy.js.map} +1 -1
  5. package/assets/AdminLayout.styled-CQwL2XEi.js +1 -0
  6. package/assets/AdminLayout.styled-CQwL2XEi.js.map +1 -0
  7. package/assets/{AnimatedBackground-CO__t7bG.js → AnimatedBackground-CY9KApzI.js} +2 -2
  8. package/assets/{AnimatedBackground-CO__t7bG.js.map → AnimatedBackground-CY9KApzI.js.map} +1 -1
  9. package/assets/{AnimatedSection-CpvtnDxq.js → AnimatedSection-atlqhaaJ.js} +1 -1
  10. package/assets/{AnimatedSection-CpvtnDxq.js.map → AnimatedSection-atlqhaaJ.js.map} +1 -1
  11. package/assets/{AuthorPage-Bpt5CD2Q.js → AuthorPage-OXQ0S0tL.js} +1 -1
  12. package/assets/{AuthorPage-Bpt5CD2Q.js.map → AuthorPage-OXQ0S0tL.js.map} +1 -1
  13. package/assets/{Avatar-DM27A1Qp.js → Avatar-UH4W2WAk.js} +1 -1
  14. package/assets/{Avatar-DM27A1Qp.js.map → Avatar-UH4W2WAk.js.map} +1 -1
  15. package/assets/{AvatarFace-L7ktQqoW.js → AvatarFace-8lGZVR0F.js} +1 -1
  16. package/assets/{AvatarFace-L7ktQqoW.js.map → AvatarFace-8lGZVR0F.js.map} +1 -1
  17. package/assets/{Badges-Cfdyl8RH.js → Badges-DIf7qRfK.js} +1 -1
  18. package/assets/{Badges-Cfdyl8RH.js.map → Badges-DIf7qRfK.js.map} +1 -1
  19. package/assets/{BlogLayout-C4txjesH.js → BlogLayout-Bvlb_hEZ.js} +1 -1
  20. package/assets/{BlogLayout-C4txjesH.js.map → BlogLayout-Bvlb_hEZ.js.map} +1 -1
  21. package/assets/{BlogPage-Ck61T45y.js → BlogPage-D3i9CzrU.js} +1 -1
  22. package/assets/{BlogPage-Ck61T45y.js.map → BlogPage-D3i9CzrU.js.map} +1 -1
  23. package/assets/{CTAButton-CFiXuCIG.js → CTAButton-CIRbCRyU.js} +1 -1
  24. package/assets/{CTAButton-CFiXuCIG.js.map → CTAButton-CIRbCRyU.js.map} +1 -1
  25. package/assets/{CardContent-BmJC2B1l.js → CardContent-THhPoxmR.js} +1 -1
  26. package/assets/{CardContent-BmJC2B1l.js.map → CardContent-THhPoxmR.js.map} +1 -1
  27. package/assets/{CardMedia-BvzeWU4S.js → CardMedia-9XvH5baB.js} +1 -1
  28. package/assets/{CardMedia-BvzeWU4S.js.map → CardMedia-9XvH5baB.js.map} +1 -1
  29. package/assets/{Carousel-ByC5ldRJ.js → Carousel-BqIJDEb9.js} +1 -1
  30. package/assets/{Carousel-ByC5ldRJ.js.map → Carousel-BqIJDEb9.js.map} +1 -1
  31. package/assets/{CategoryPage-BqkILV2z.js → CategoryPage-C4u5o4mh.js} +1 -1
  32. package/assets/{CategoryPage-BqkILV2z.js.map → CategoryPage-C4u5o4mh.js.map} +1 -1
  33. package/assets/{Check-BOF4_DCU.js → Check-CFiKgYJs.js} +1 -1
  34. package/assets/{Check-BOF4_DCU.js.map → Check-CFiKgYJs.js.map} +1 -1
  35. package/assets/{CircleAndArrow-El01hGIC.js → CircleAndArrow-O8sN3E_v.js} +1 -1
  36. package/assets/{CircleAndArrow-El01hGIC.js.map → CircleAndArrow-O8sN3E_v.js.map} +1 -1
  37. package/assets/{CircularProgress-D1x03AKQ.js → CircularProgress-Z0W76ens.js} +1 -1
  38. package/assets/{CircularProgress-D1x03AKQ.js.map → CircularProgress-Z0W76ens.js.map} +1 -1
  39. package/assets/{ContentCopy-C4kDxda3.js → ContentCopy-88ne4JTk.js} +1 -1
  40. package/assets/{ContentCopy-C4kDxda3.js.map → ContentCopy-88ne4JTk.js.map} +1 -1
  41. package/assets/CreateEventPage-HI_5pzkQ.js +16 -0
  42. package/assets/CreateEventPage-HI_5pzkQ.js.map +1 -0
  43. package/assets/{CreatorHubDownload-D_CBz7M3.js → CreatorHubDownload-C_IyZZl2.js} +1 -1
  44. package/assets/{CreatorHubDownload-D_CBz7M3.js.map → CreatorHubDownload-C_IyZZl2.js.map} +1 -1
  45. package/assets/{CreatorHubDownloadSuccess-B5QI-fsj.js → CreatorHubDownloadSuccess-DVGIO7MB.js} +1 -1
  46. package/assets/{CreatorHubDownloadSuccess-B5QI-fsj.js.map → CreatorHubDownloadSuccess-DVGIO7MB.js.map} +1 -1
  47. package/assets/{DappsShell-BC3H8ts9.js → DappsShell-CFZyE77Z.js} +1 -1
  48. package/assets/{DappsShell-BC3H8ts9.js.map → DappsShell-CFZyE77Z.js.map} +1 -1
  49. package/assets/{DownloadSuccessLayout-DUmT7uWX.js → DownloadSuccessLayout-Bqi9ZKaN.js} +1 -1
  50. package/assets/{DownloadSuccessLayout-DUmT7uWX.js.map → DownloadSuccessLayout-Bqi9ZKaN.js.map} +1 -1
  51. package/assets/{EventsPage-C9kUjKcs.js → EventsPage-DQRgzFAr.js} +1 -1
  52. package/assets/{EventsPage-C9kUjKcs.js.map → EventsPage-DQRgzFAr.js.map} +1 -1
  53. package/assets/{Grow-BxJOb7Ur.js → Grow-BHy15Dn2.js} +1 -1
  54. package/assets/{Grow-BxJOb7Ur.js.map → Grow-BHy15Dn2.js.map} +1 -1
  55. package/assets/HomePage-By8bcZyK.js +1 -0
  56. package/assets/HomePage-By8bcZyK.js.map +1 -0
  57. package/assets/{InvalidPage-Bzsjkjz7.js → InvalidPage-Debgf-PV.js} +1 -1
  58. package/assets/{InvalidPage-Bzsjkjz7.js.map → InvalidPage-Debgf-PV.js.map} +1 -1
  59. package/assets/{InviteFaqs-D5mF7omx.js → InviteFaqs-GNUarAeA.js} +1 -1
  60. package/assets/{InviteFaqs-D5mF7omx.js.map → InviteFaqs-GNUarAeA.js.map} +1 -1
  61. package/assets/{InvitePage-BpKnAj4V.js → InvitePage-BWbamxve.js} +2 -2
  62. package/assets/{InvitePage-BpKnAj4V.js.map → InvitePage-BWbamxve.js.map} +1 -1
  63. package/assets/{JumpInButton-CqKycSau.js → JumpInButton-DorJjQyB.js} +1 -1
  64. package/assets/{JumpInButton-CqKycSau.js.map → JumpInButton-DorJjQyB.js.map} +1 -1
  65. package/assets/{JumpInIcon-ZOn0wOk1.js → JumpInIcon-DfpHf5gS.js} +1 -1
  66. package/assets/{JumpInIcon-ZOn0wOk1.js.map → JumpInIcon-DfpHf5gS.js.map} +1 -1
  67. package/assets/{KeyboardArrowRight-BYjm2LN-.js → KeyboardArrowRight-DdkI-avV.js} +1 -1
  68. package/assets/{KeyboardArrowRight-BYjm2LN-.js.map → KeyboardArrowRight-DdkI-avV.js.map} +1 -1
  69. package/assets/{LegacyEventRedirect-dCzyDptD.js → LegacyEventRedirect-DRboznqd.js} +1 -1
  70. package/assets/{LegacyEventRedirect-dCzyDptD.js.map → LegacyEventRedirect-DRboznqd.js.map} +1 -1
  71. package/assets/{LegalPageLayout-DINPtlgk.js → LegalPageLayout-S2fzAMXj.js} +1 -1
  72. package/assets/{LegalPageLayout-DINPtlgk.js.map → LegalPageLayout-S2fzAMXj.js.map} +1 -1
  73. package/assets/{Link-lvNSZJho.js → Link-DzgysiL-.js} +1 -1
  74. package/assets/{Link-lvNSZJho.js.map → Link-DzgysiL-.js.map} +1 -1
  75. package/assets/Menu-GeJMADr-.js +1 -0
  76. package/assets/Menu-GeJMADr-.js.map +1 -0
  77. package/assets/MenuItem-BK7OLKkT.js +1 -0
  78. package/assets/MenuItem-BK7OLKkT.js.map +1 -0
  79. package/assets/{PageContainer.styled-Bbv_6rIn.js → PageContainer.styled-DvE7NPbD.js} +1 -1
  80. package/assets/{PageContainer.styled-Bbv_6rIn.js.map → PageContainer.styled-DvE7NPbD.js.map} +1 -1
  81. package/assets/{Paper-CaFKxPzv.js → Paper-D1WB3MQ6.js} +1 -1
  82. package/assets/{Paper-CaFKxPzv.js.map → Paper-D1WB3MQ6.js.map} +1 -1
  83. package/assets/PendingEventCard-B7JbvnL5.js +3 -0
  84. package/assets/PendingEventCard-B7JbvnL5.js.map +1 -0
  85. package/assets/PendingEventsPage-CcDBEr9M.js +1 -0
  86. package/assets/PendingEventsPage-CcDBEr9M.js.map +1 -0
  87. package/assets/{PlacesPage-Btx40VGe.js → PlacesPage-MkHUyi3j.js} +1 -1
  88. package/assets/{PlacesPage-Btx40VGe.js.map → PlacesPage-MkHUyi3j.js.map} +1 -1
  89. package/assets/{PostCard-SDZ_3aVu.js → PostCard-C61NfgmU.js} +1 -1
  90. package/assets/{PostCard-SDZ_3aVu.js.map → PostCard-C61NfgmU.js.map} +1 -1
  91. package/assets/{PostPage-D9faiVAT.js → PostPage-BCzjf8V1.js} +1 -1
  92. package/assets/{PostPage-D9faiVAT.js.map → PostPage-BCzjf8V1.js.map} +1 -1
  93. package/assets/{PostPage.styled-CzIG7Tl3.js → PostPage.styled-BRWGJ8p8.js} +3 -3
  94. package/assets/{PostPage.styled-CzIG7Tl3.js.map → PostPage.styled-BRWGJ8p8.js.map} +1 -1
  95. package/assets/{PreviewPage-CF-KNgQh.js → PreviewPage-DWebBF8F.js} +1 -1
  96. package/assets/{PreviewPage-CF-KNgQh.js.map → PreviewPage-DWebBF8F.js.map} +1 -1
  97. package/assets/{RemindMeButton-BtxpQEzy.js → RemindMeButton-DnlXMDH0.js} +1 -1
  98. package/assets/{RemindMeButton-BtxpQEzy.js.map → RemindMeButton-DnlXMDH0.js.map} +1 -1
  99. package/assets/{SEO-B1EK7Y3P.js → SEO-5chg1jEQ.js} +1 -1
  100. package/assets/{SEO-B1EK7Y3P.js.map → SEO-5chg1jEQ.js.map} +1 -1
  101. package/assets/{SearchPage-B4wICXqh.js → SearchPage-Db-35tEZ.js} +1 -1
  102. package/assets/{SearchPage-B4wICXqh.js.map → SearchPage-Db-35tEZ.js.map} +1 -1
  103. package/assets/{SignInRedirect-CFIlTqwD.js → SignInRedirect-C1Hp0Nnl.js} +1 -1
  104. package/assets/{SignInRedirect-CFIlTqwD.js.map → SignInRedirect-C1Hp0Nnl.js.map} +1 -1
  105. package/assets/{SignInRedirect-DunroI2V.js → SignInRedirect-DcrAjaP6.js} +1 -1
  106. package/assets/{SignInRedirect-DunroI2V.js.map → SignInRedirect-DcrAjaP6.js.map} +1 -1
  107. package/assets/{Skeleton-iNlScP9H.js → Skeleton-CSFvCtu0.js} +1 -1
  108. package/assets/{Skeleton-iNlScP9H.js.map → Skeleton-CSFvCtu0.js.map} +1 -1
  109. package/assets/Switch-swOw3biA.js +1 -0
  110. package/assets/Switch-swOw3biA.js.map +1 -0
  111. package/assets/TextField-C018XFrK.js +2 -0
  112. package/assets/TextField-C018XFrK.js.map +1 -0
  113. package/assets/{Tooltip-Kem9dSAd.js → Tooltip-CasBLMgX.js} +1 -1
  114. package/assets/{Tooltip-Kem9dSAd.js.map → Tooltip-CasBLMgX.js.map} +1 -1
  115. package/assets/{TwitterEmbed-BRI3ivet.js → TwitterEmbed-CLNUtpsQ.js} +1 -1
  116. package/assets/{TwitterEmbed-BRI3ivet.js.map → TwitterEmbed-CLNUtpsQ.js.map} +1 -1
  117. package/assets/UsersAdminPage-UAdQmyUX.js +2 -0
  118. package/assets/UsersAdminPage-UAdQmyUX.js.map +1 -0
  119. package/assets/{Video-CKs5_Z0w.js → Video-NGhd3LeA.js} +1 -1
  120. package/assets/{Video-CKs5_Z0w.js.map → Video-NGhd3LeA.js.map} +1 -1
  121. package/assets/WearablePreview-BilBSC94.js +4 -0
  122. package/assets/{WearablePreview-Bca5KMOK.js.map → WearablePreview-BilBSC94.js.map} +1 -1
  123. package/assets/{WhatsOnLayout-BiKCXvlg.js → WhatsOnLayout-SFhGzfLv.js} +1 -1
  124. package/assets/{WhatsOnLayout-BiKCXvlg.js.map → WhatsOnLayout-SFhGzfLv.js.map} +1 -1
  125. package/assets/admin.client-B5xGzvMY.js +1 -0
  126. package/assets/admin.client-B5xGzvMY.js.map +1 -0
  127. package/assets/{auto-track-DNEnayEP.js → auto-track-CVCHvRCG.js} +1 -1
  128. package/assets/{auto-track-DNEnayEP.js.map → auto-track-CVCHvRCG.js.map} +1 -1
  129. package/assets/{ccip-BhHvKQc6.js → ccip-YeVOYAND.js} +1 -1
  130. package/assets/{ccip-BhHvKQc6.js.map → ccip-YeVOYAND.js.map} +1 -1
  131. package/assets/{createSvgIcon-B2OEoWjD.js → createSvgIcon-BXXQfd3j.js} +1 -1
  132. package/assets/{createSvgIcon-B2OEoWjD.js.map → createSvgIcon-BXXQfd3j.js.map} +1 -1
  133. package/assets/{download-BJW25sds.js → download-DIO3YpIC.js} +2 -2
  134. package/assets/{download-BJW25sds.js.map → download-DIO3YpIC.js.map} +1 -1
  135. package/assets/{downloadWithIdentity-COI7bkOD.js → downloadWithIdentity-_pqyEylP.js} +1 -1
  136. package/assets/{downloadWithIdentity-COI7bkOD.js.map → downloadWithIdentity-_pqyEylP.js.map} +1 -1
  137. package/assets/events.client-KDioNnTz.js +1 -0
  138. package/assets/events.client-KDioNnTz.js.map +1 -0
  139. package/assets/{index-Bu59k1qI.js → index-46z1cHVl.js} +1 -1
  140. package/assets/{index-Bu59k1qI.js.map → index-46z1cHVl.js.map} +1 -1
  141. package/assets/{index-BbM07Zad.js → index-B-jMtaWP.js} +1 -1
  142. package/assets/{index-BbM07Zad.js.map → index-B-jMtaWP.js.map} +1 -1
  143. package/assets/{index-CCJh3g39.js → index-BAm-Pzt1.js} +1 -1
  144. package/assets/{index-CCJh3g39.js.map → index-BAm-Pzt1.js.map} +1 -1
  145. package/assets/{index-DsKNeH7X.js → index-BFPvT5pa.js} +1 -1
  146. package/assets/{index-DsKNeH7X.js.map → index-BFPvT5pa.js.map} +1 -1
  147. package/assets/{index-gJ1MOEiZ.js → index-BP0MprVq.js} +3 -3
  148. package/assets/{index-gJ1MOEiZ.js.map → index-BP0MprVq.js.map} +1 -1
  149. package/assets/{index-DOEJnoYg.js → index-BPWecXcY.js} +1 -1
  150. package/assets/{index-DOEJnoYg.js.map → index-BPWecXcY.js.map} +1 -1
  151. package/assets/{index-B7GlY0il.js → index-BV5D6He9.js} +1 -1
  152. package/assets/{index-B7GlY0il.js.map → index-BV5D6He9.js.map} +1 -1
  153. package/assets/{index-D9krZGYy.js → index-BWvXRlTE.js} +34 -34
  154. package/assets/index-BWvXRlTE.js.map +1 -0
  155. package/assets/{index-BRm9VGyh.js → index-ButFVFTl.js} +1 -1
  156. package/assets/{index-BRm9VGyh.js.map → index-ButFVFTl.js.map} +1 -1
  157. package/assets/{index-tw_cdOWS.js → index-C-p9HFH_.js} +1 -1
  158. package/assets/{index-tw_cdOWS.js.map → index-C-p9HFH_.js.map} +1 -1
  159. package/assets/{index-BDx-bY1l.js → index-C5LUyd00.js} +2 -2
  160. package/assets/{index-BDx-bY1l.js.map → index-C5LUyd00.js.map} +1 -1
  161. package/assets/{index-DErVyQiP.js → index-CMGrnQsz.js} +1 -1
  162. package/assets/{index-DErVyQiP.js.map → index-CMGrnQsz.js.map} +1 -1
  163. package/assets/{index-ch8SCHpn.js → index-CeEWUadA.js} +1 -1
  164. package/assets/{index-ch8SCHpn.js.map → index-CeEWUadA.js.map} +1 -1
  165. package/assets/{index-BqjJBRSi.js → index-CgMXgkmG.js} +1 -1
  166. package/assets/{index-BqjJBRSi.js.map → index-CgMXgkmG.js.map} +1 -1
  167. package/assets/index-CjU0loIz.js +1 -0
  168. package/assets/{index-Dg4AWVL8.js.map → index-CjU0loIz.js.map} +1 -1
  169. package/assets/{index-XmZQan5Q.js → index-CjsVUu5b.js} +1 -1
  170. package/assets/{index-XmZQan5Q.js.map → index-CjsVUu5b.js.map} +1 -1
  171. package/assets/{index-DytFFz4y.js → index-D-HyZoai.js} +3 -3
  172. package/assets/{index-DytFFz4y.js.map → index-D-HyZoai.js.map} +1 -1
  173. package/assets/{index-eL7TPZy3.js → index-D4XK2ofK.js} +1 -1
  174. package/assets/{index-eL7TPZy3.js.map → index-D4XK2ofK.js.map} +1 -1
  175. package/assets/{index-DukWSxvV.js → index-DBoeO0yj.js} +1 -1
  176. package/assets/{index-DukWSxvV.js.map → index-DBoeO0yj.js.map} +1 -1
  177. package/assets/{index-h1t0zAy8.js → index-DHyrb8Ae.js} +1 -1
  178. package/assets/{index-h1t0zAy8.js.map → index-DHyrb8Ae.js.map} +1 -1
  179. package/assets/{index-BEU_7_ne.js → index-DJYAOhbz.js} +1 -1
  180. package/assets/{index-BEU_7_ne.js.map → index-DJYAOhbz.js.map} +1 -1
  181. package/assets/{index-aBiQGEwK.js → index-DUwBC5EP.js} +1 -1
  182. package/assets/{index-aBiQGEwK.js.map → index-DUwBC5EP.js.map} +1 -1
  183. package/assets/{index-Ds3h83Za.js → index-DVUi9PgH.js} +1 -1
  184. package/assets/{index-Ds3h83Za.js.map → index-DVUi9PgH.js.map} +1 -1
  185. package/assets/{index-Cec4TfYr.js → index-DZpTCrkB.js} +1 -1
  186. package/assets/{index-Cec4TfYr.js.map → index-DZpTCrkB.js.map} +1 -1
  187. package/assets/{index-CbJkiIwc.js → index-DrcOL406.js} +1 -1
  188. package/assets/{index-CbJkiIwc.js.map → index-DrcOL406.js.map} +1 -1
  189. package/assets/{index-PzH_zo30.js → index-DwmSadCe.js} +1 -1
  190. package/assets/{index-PzH_zo30.js.map → index-DwmSadCe.js.map} +1 -1
  191. package/assets/{index-TNlEMSkO.js → index-Dy9lOKvc.js} +1 -1
  192. package/assets/{index-TNlEMSkO.js.map → index-Dy9lOKvc.js.map} +1 -1
  193. package/assets/{index-DskznNlR.js → index-EndbBmWs.js} +1 -1
  194. package/assets/{index-DskznNlR.js.map → index-EndbBmWs.js.map} +1 -1
  195. package/assets/index-FOXwt2hH.js +1 -0
  196. package/assets/{index-B-X7xo-v.js.map → index-FOXwt2hH.js.map} +1 -1
  197. package/assets/{index-B3_NlVHL.js → index-PNT9J6AQ.js} +1 -1
  198. package/assets/{index-B3_NlVHL.js.map → index-PNT9J6AQ.js.map} +1 -1
  199. package/assets/{index-DvT2DV5d.js → index-U6w71K7Y.js} +1 -1
  200. package/assets/{index-DvT2DV5d.js.map → index-U6w71K7Y.js.map} +1 -1
  201. package/assets/{index-BM3mFwuT.js → index-mJ6v7MBb.js} +1 -1
  202. package/assets/{index-BM3mFwuT.js.map → index-mJ6v7MBb.js.map} +1 -1
  203. package/assets/{placesClient-Brx26wG2.js → placesClient-C2aFU8QL.js} +1 -1
  204. package/assets/{placesClient-Brx26wG2.js.map → placesClient-C2aFU8QL.js.map} +1 -1
  205. package/assets/{profile.client-BhwopOt8.js → profile.client-X_-2wpWn.js} +1 -1
  206. package/assets/{profile.client-BhwopOt8.js.map → profile.client-X_-2wpWn.js.map} +1 -1
  207. package/assets/rtk-query-react.modern-eNgJtwbJ.js +9 -0
  208. package/assets/{rtk-query-react.modern-BAShPeSa.js.map → rtk-query-react.modern-eNgJtwbJ.js.map} +1 -1
  209. package/assets/{shared.styled-CwLQaYli.js → shared.styled-CzGNFzDn.js} +1 -1
  210. package/assets/{shared.styled-CwLQaYli.js.map → shared.styled-CzGNFzDn.js.map} +1 -1
  211. package/assets/{signedFetch-BH66xky9.js → signedFetch-wfXfas0G.js} +1 -1
  212. package/assets/{signedFetch-BH66xky9.js.map → signedFetch-wfXfas0G.js.map} +1 -1
  213. package/assets/store-Yluidaqz.js +1 -0
  214. package/assets/store-Yluidaqz.js.map +1 -0
  215. package/assets/{url-D90migVD.js → url-BvNOSdx9.js} +1 -1
  216. package/assets/{url-D90migVD.js.map → url-BvNOSdx9.js.map} +1 -1
  217. package/assets/useAdminPermissions-DtBORrGI.js +1 -0
  218. package/assets/useAdminPermissions-DtBORrGI.js.map +1 -0
  219. package/assets/{useAuthIdentity-B6QSalIu.js → useAuthIdentity-B89tP4lt.js} +1 -1
  220. package/assets/{useAuthIdentity-B6QSalIu.js.map → useAuthIdentity-B89tP4lt.js.map} +1 -1
  221. package/assets/useCanEditEvent-BhQzxRgL.js +1 -0
  222. package/assets/useCanEditEvent-BhQzxRgL.js.map +1 -0
  223. package/assets/{useCreatorHubDownload-Cqo_jiD_.js → useCreatorHubDownload-BI1AVMM2.js} +1 -1
  224. package/assets/{useCreatorHubDownload-Cqo_jiD_.js.map → useCreatorHubDownload-BI1AVMM2.js.map} +1 -1
  225. package/assets/{useInfiniteBlogPosts-DJkZrrll.js → useInfiniteBlogPosts-Dhb_txNw.js} +1 -1
  226. package/assets/{useInfiniteBlogPosts-DJkZrrll.js.map → useInfiniteBlogPosts-Dhb_txNw.js.map} +1 -1
  227. package/assets/{useManaBalances.impl-CnS1IZqg.js → useManaBalances.impl-Byl7YHKM.js} +3 -3
  228. package/assets/{useManaBalances.impl-CnS1IZqg.js.map → useManaBalances.impl-Byl7YHKM.js.map} +1 -1
  229. package/assets/{useProfileAvatar-C_W2tZIS.js → useProfileAvatar-BAqgxJ1A.js} +1 -1
  230. package/assets/{useProfileAvatar-C_W2tZIS.js.map → useProfileAvatar-BAqgxJ1A.js.map} +1 -1
  231. package/assets/{useSlot-8XCS788i.js → useSlot-GF7Jj78E.js} +1 -1
  232. package/assets/{useSlot-8XCS788i.js.map → useSlot-GF7Jj78E.js.map} +1 -1
  233. package/assets/{utils-CNAAosuZ.js → utils-CmqDRpr2.js} +1 -1
  234. package/assets/{utils-CNAAosuZ.js.map → utils-CmqDRpr2.js.map} +1 -1
  235. package/index.html +15 -15
  236. package/package.json +3 -3
  237. package/assets/AdminLayout.styled-nMbBrmih.js +0 -1
  238. package/assets/AdminLayout.styled-nMbBrmih.js.map +0 -1
  239. package/assets/ArrowBackIosNew-Dvsk5ZUT.js +0 -1
  240. package/assets/ArrowBackIosNew-Dvsk5ZUT.js.map +0 -1
  241. package/assets/CreateEventPage-ZOlXojoA.js +0 -16
  242. package/assets/CreateEventPage-ZOlXojoA.js.map +0 -1
  243. package/assets/FutureCard-WKBFz6qp.js +0 -3
  244. package/assets/FutureCard-WKBFz6qp.js.map +0 -1
  245. package/assets/HomePage-CUPFKRVr.js +0 -1
  246. package/assets/HomePage-CUPFKRVr.js.map +0 -1
  247. package/assets/MenuItem-duRqfCJq.js +0 -1
  248. package/assets/MenuItem-duRqfCJq.js.map +0 -1
  249. package/assets/PendingEventsPage-CM3liVzS.js +0 -1
  250. package/assets/PendingEventsPage-CM3liVzS.js.map +0 -1
  251. package/assets/TextField-DpWq-ZfM.js +0 -2
  252. package/assets/TextField-DpWq-ZfM.js.map +0 -1
  253. package/assets/UsersAdminPage-Bv_kpY6k.js +0 -2
  254. package/assets/UsersAdminPage-Bv_kpY6k.js.map +0 -1
  255. package/assets/WearablePreview-Bca5KMOK.js +0 -4
  256. package/assets/admin.client-BVloTpEY.js +0 -1
  257. package/assets/admin.client-BVloTpEY.js.map +0 -1
  258. package/assets/events.client-By7Zddj9.js +0 -1
  259. package/assets/events.client-By7Zddj9.js.map +0 -1
  260. package/assets/index-B-X7xo-v.js +0 -1
  261. package/assets/index-D9krZGYy.js.map +0 -1
  262. package/assets/index-Dg4AWVL8.js +0 -1
  263. package/assets/rtk-query-react.modern-BAShPeSa.js +0 -9
  264. package/assets/store-CyqSuDHi.js +0 -1
  265. package/assets/store-CyqSuDHi.js.map +0 -1
  266. package/assets/useAdminPermissions-CkjK7NYZ.js +0 -1
  267. package/assets/useAdminPermissions-CkjK7NYZ.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomePage-By8bcZyK.js","sources":["../../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/whatsOnChunk.ts","../../src/utils/whatsOnDate.ts","../../src/images/whats-on/images/host_avatar.webp","../../src/images/whats-on/images/host_scene.webp","../../src/components/whats-on/HostBanner/HostBanner.styled.ts","../../src/components/whats-on/HostBanner/HostBanner.tsx","../../src/components/whats-on/Upcoming/UpcomingCard.styled.ts","../../src/components/whats-on/Upcoming/UpcomingCard.tsx","../../src/utils/profileFace.ts","../../src/hooks/useCreatorAvatar.ts","../../src/components/whats-on/AllExperiences/LiveCard.tsx","../../src/components/whats-on/AllExperiences/AllExperiencesCard.tsx","../../node_modules/@mui/icons-material/ChevronLeft.js","../../node_modules/@mui/icons-material/ChevronRight.js","../../src/components/whats-on/AllExperiences/DateNavigation.styled.ts","../../src/components/whats-on/AllExperiences/DateNavigation.tsx","../../src/components/whats-on/AllExperiences/DayColumn.styled.ts","../../src/components/whats-on/AllExperiences/DayColumn.tsx","../../src/components/whats-on/AllExperiences/ExperiencesTabs.styled.ts","../../src/components/whats-on/AllExperiences/ExperiencesTabs.tsx","../../src/components/whats-on/AllExperiences/MyExperiencesEmptyState.styled.ts","../../src/components/whats-on/AllExperiences/MyExperiencesEmptyState.tsx","../../src/components/whats-on/AllExperiences/MyExperiencesGrid.styled.ts","../../src/components/whats-on/AllExperiences/MyExperiencesGrid.tsx","../../src/components/whats-on/AllExperiences/AllExperiences.styled.ts","../../src/components/whats-on/AllExperiences/AllExperiences.tsx","../../src/hooks/useDocumentVisible.ts","../../src/hooks/useLiveNowQueryParams.ts","../../src/components/whats-on/common/PaginationDots.styled.ts","../../src/components/whats-on/LiveNow/LiveNowCard.styled.ts","../../src/components/whats-on/LiveNow/LiveNowCard.tsx","../../src/components/whats-on/LiveNow/LiveNowCardItem.tsx","../../src/components/whats-on/LiveNow/LiveNow.styled.ts","../../src/components/whats-on/LiveNow/LiveNow.tsx","../../src/components/whats-on/Upcoming/Upcoming.styled.ts","../../src/components/whats-on/Upcoming/Upcoming.tsx","../../src/images/whats-on/images/top_background.webp","../../src/pages/whats-on/HomePage.styled.ts","../../src/pages/whats-on/HomePage.tsx"],"sourcesContent":["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","export default \"__VITE_ASSET__E9MScS$C__\"","export default \"__VITE_ASSET__DbRSkba4__\"","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport CheckIcon from '@mui/icons-material/Check'\nimport { Box, Button, Typography, dclColors, styled } from 'decentraland-ui2'\n\n// Figma-only values outside the decentraland-ui2 token system\nconst CHECKBOX_FILL = '#3C1C4B'\nconst OVERLAY_BLACK_35 = 'rgba(0, 0, 0, 0.35)'\n\nconst BannerSection = styled('section')(({ theme }) => ({\n position: 'relative',\n zIndex: 8,\n overflow: 'hidden',\n borderRadius: 24,\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(4),\n paddingLeft: 60,\n marginTop: theme.spacing(8),\n minHeight: 308,\n backgroundColor: OVERLAY_BLACK_35,\n [theme.breakpoints.down('md')]: {\n flexDirection: 'column',\n gap: 0,\n paddingLeft: 0,\n marginTop: theme.spacing(3),\n minHeight: 'auto'\n }\n}))\n\nconst SceneImageWrapper = styled(Box)(({ theme }) => ({\n position: 'relative',\n flex: '1 1 0',\n alignSelf: 'stretch',\n minWidth: 0,\n overflow: 'hidden',\n // Figma reference width — hide the scene image below iPad landscape\n [theme.breakpoints.down(1024)]: {\n display: 'none'\n }\n}))\n\nconst SceneImage = styled('img')({\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'left center',\n display: 'block'\n})\n\nconst AvatarImage = styled('img')(({ theme }) => ({\n width: 212,\n height: 308,\n objectFit: 'contain',\n objectPosition: 'center',\n flexShrink: 0,\n alignSelf: 'center',\n [theme.breakpoints.down('lg')]: {\n width: 170,\n height: 246\n },\n [theme.breakpoints.down('md')]: {\n width: 160,\n height: 232\n }\n}))\n\nconst ContentArea = styled(Box)(({ theme }) => ({\n flex: 1,\n minWidth: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: theme.spacing(4),\n padding: theme.spacing(4),\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(3, 2),\n gap: theme.spacing(3)\n }\n}))\n\nconst BannerTitle = styled(Typography)(({ theme }) => ({\n fontFamily: 'Inter, Helvetica, Arial, sans-serif',\n fontSize: 32,\n fontWeight: 700,\n lineHeight: 1.235,\n color: theme.palette.common.white,\n margin: 0,\n [theme.breakpoints.down('sm')]: {\n fontSize: 26\n }\n}))\n\nconst BannerSubtitle = styled(Typography)(({ theme }) => ({\n fontFamily: 'Inter, Helvetica, Arial, sans-serif',\n fontSize: 20,\n fontWeight: 500,\n lineHeight: 1.6,\n color: dclColors.neutral.softWhite,\n margin: 0,\n [theme.breakpoints.down('sm')]: {\n fontSize: 18\n }\n}))\n\nconst ChecklistWrapper = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1.5)\n}))\n\nconst ChecklistItem = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: 14,\n width: '100%'\n})\n\nconst CheckBoxShape = styled(Box)(({ theme }) => ({\n width: 24,\n height: 24,\n flexShrink: 0,\n borderRadius: 5,\n backgroundColor: CHECKBOX_FILL,\n border: `1px solid ${theme.palette.primary.main}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n}))\n\nconst CheckBoxIcon = styled(CheckIcon)(({ theme }) => ({\n fontSize: 18,\n color: theme.palette.common.white\n}))\n\nconst CheckText = styled(Typography)(({ theme }) => ({\n fontFamily: 'Inter, Helvetica, Arial, sans-serif',\n fontSize: 20,\n fontWeight: 500,\n lineHeight: 1.6,\n color: dclColors.neutral.softWhite,\n margin: 0,\n [theme.breakpoints.down('sm')]: {\n fontSize: 16\n }\n}))\n\nconst ButtonRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-start',\n gap: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column',\n alignItems: 'stretch',\n gap: theme.spacing(1.5),\n width: '100%'\n }\n}))\n\nconst BannerButton = styled(Button)(({ theme }) => ({\n padding: theme.spacing(1, 2.75),\n fontSize: 15,\n fontWeight: 600,\n lineHeight: '24px',\n letterSpacing: '0.46px',\n textTransform: 'uppercase',\n borderRadius: 6,\n boxShadow: 'none',\n whiteSpace: 'nowrap',\n /* eslint-disable-next-line @typescript-eslint/naming-convention */\n '&:hover': { boxShadow: 'none' }\n}))\n\nexport {\n AvatarImage,\n BannerButton,\n BannerSection,\n BannerSubtitle,\n BannerTitle,\n ButtonRow,\n CheckBoxIcon,\n CheckBoxShape,\n CheckText,\n ChecklistItem,\n ChecklistWrapper,\n ContentArea,\n SceneImage,\n SceneImageWrapper\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/whats-on/images/host_avatar.webp'\nimport sceneImage from '../../../images/whats-on/images/host_scene.webp'\nimport { redirectToAuth } from '../../../utils/authRedirect'\nimport {\n AvatarImage,\n BannerButton,\n BannerSection,\n BannerSubtitle,\n BannerTitle,\n ButtonRow,\n CheckBoxIcon,\n CheckBoxShape,\n CheckText,\n ChecklistItem,\n ChecklistWrapper,\n ContentArea,\n SceneImage,\n SceneImageWrapper\n} from './HostBanner.styled'\n\nconst LEARN_MORE_URL = 'https://docs.decentraland.org/creator/events/'\nconst CHECK_KEYS = ['check_1', 'check_2', 'check_3'] as const\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 <ChecklistWrapper>\n {CHECK_KEYS.map(key => (\n <ChecklistItem key={key}>\n <CheckBoxShape aria-hidden=\"true\">\n <CheckBoxIcon />\n </CheckBoxShape>\n <CheckText>{t(`host_banner.${key}`)}</CheckText>\n </ChecklistItem>\n ))}\n </ChecklistWrapper>\n <ButtonRow>\n <BannerButton\n data-testid=\"create-button\"\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n startIcon={<AddIcon />}\n onClick={handleCreate}\n >\n {t('host_banner.create_event')}\n </BannerButton>\n <BannerButton\n data-testid=\"learn-more-button\"\n variant=\"contained\"\n color=\"secondary\"\n size=\"large\"\n disableElevation\n onClick={handleLearnMore}\n >\n {t('host_banner.learn_more')}\n </BannerButton>\n </ButtonRow>\n </ContentArea>\n <SceneImageWrapper>\n <SceneImage src={sceneImage} alt=\"\" aria-hidden=\"true\" />\n </SceneImageWrapper>\n </BannerSection>\n )\n}\n\nexport { HostBanner }\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/whats-on-events'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useCardActions } from '../../../hooks/useCardActions'\nimport { useCreatorProfile } from '../../../hooks/useCreatorProfile'\nimport { useRemindMe } from '../../../hooks/useRemindMe'\nimport { getRelativeTimeLabel } from '../../../utils/whatsOnTime'\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 { creatorName, avatarFace } = useCreatorProfile(event.user, 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 { isValidEthAddress } from './avatar'\n\nconst PROFILE_IMAGES_ORIGIN = 'https://profile-images.decentraland.org'\n\nfunction getProfileFaceUrl(address: string): string | undefined {\n if (!isValidEthAddress(address)) return undefined\n return `${PROFILE_IMAGES_ORIGIN}/entities/${address.toLowerCase()}/face.png`\n}\n\nexport { getProfileFaceUrl }\n","import { useEffect, useMemo, useState } from 'react'\nimport type { Avatar } from '@dcl/schemas'\nimport { buildMinimalAvatar } from '../utils/avatar'\nimport { getProfileFaceUrl } from '../utils/profileFace'\n\ntype CreatorAvatarResult = {\n avatar: Avatar | undefined\n avatarFace: string | undefined\n}\n\ntype FaceStatus = 'pending' | 'ready' | 'broken'\n\n// Event/place creator addresses come from external sources (places/events API)\n// and frequently lack a deployed profile image. We build the face URL directly\n// (no lambdas call) and only expose it after a fetch probe confirms it exists.\n// Expiry means a transient CDN blip does not permanently blacklist the URL.\nconst BROKEN_TTL_MS = 5 * 60 * 1000\nconst brokenFaceExpiries = new Map<string, number>()\n\nfunction isFaceBroken(url: string): boolean {\n const expiresAt = brokenFaceExpiries.get(url)\n if (expiresAt === undefined) return false\n if (expiresAt <= Date.now()) {\n brokenFaceExpiries.delete(url)\n return false\n }\n return true\n}\n\nfunction markFaceBroken(url: string): void {\n brokenFaceExpiries.set(url, Date.now() + BROKEN_TTL_MS)\n}\n\nfunction getInitialFaceStatus(rawFace: string | undefined): FaceStatus {\n if (!rawFace || isFaceBroken(rawFace)) return 'broken'\n return 'pending'\n}\n\nfunction useCreatorAvatar(address: string | undefined, name?: string): CreatorAvatarResult {\n const rawFace = address ? getProfileFaceUrl(address) : undefined\n const [faceStatus, setFaceStatus] = useState<FaceStatus>(() => getInitialFaceStatus(rawFace))\n\n useEffect(() => {\n if (!rawFace) {\n setFaceStatus('broken')\n return\n }\n if (isFaceBroken(rawFace)) {\n setFaceStatus('broken')\n return\n }\n\n setFaceStatus('pending')\n const controller = new AbortController()\n let cancelled = false\n\n fetch(rawFace, { method: 'HEAD', cache: 'force-cache', signal: controller.signal })\n .then(res => {\n if (cancelled) return\n if (res.ok) {\n setFaceStatus('ready')\n return\n }\n markFaceBroken(rawFace)\n setFaceStatus('broken')\n })\n .catch(err => {\n if (cancelled || (err instanceof DOMException && err.name === 'AbortError')) return\n markFaceBroken(rawFace)\n setFaceStatus('broken')\n })\n\n return () => {\n cancelled = true\n controller.abort()\n }\n }, [rawFace])\n\n const avatarFace = rawFace && faceStatus === 'ready' ? rawFace : undefined\n\n const avatar = useMemo<Avatar | undefined>(() => {\n if (!address) return undefined\n return buildMinimalAvatar({ name: name ?? '', ethAddress: address, faceUrl: avatarFace })\n }, [address, name, avatarFace])\n\n return { avatar, avatarFace }\n}\n\nexport { useCreatorAvatar }\nexport type { CreatorAvatarResult }\n","import { memo, useCallback } from 'react'\nimport { BadgeGroup, EventCard, LiveBadge, UserCountBadge } from 'decentraland-ui2'\nimport type { EventEntry } from '../../../features/whats-on-events'\nimport { useCreatorAvatar } from '../../../hooks/useCreatorAvatar'\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 { avatar } = useCreatorAvatar(event.user, event.user_name ?? undefined)\n\n const handleClick = useCallback(() => {\n onClick(event)\n }, [onClick, event])\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/whats-on-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/whatsOnDate'\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/whats-on-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, dclColors, styled } from 'decentraland-ui2'\n\ntype TabValue = 'all' | 'my'\n\nconst TabsRow = styled(Box)(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n gap: theme.spacing(2),\n marginBottom: theme.spacing(3.5),\n [theme.breakpoints.down('sm')]: {\n justifyContent: 'center',\n marginBottom: theme.spacing(2)\n }\n}))\n\ntype TabButtonProps = { isActive: boolean }\n\nconst TabButton = styled('button', { shouldForwardProp: prop => prop !== 'isActive' })<TabButtonProps>(({ theme, isActive }) => ({\n alignItems: 'center',\n backgroundColor: isActive ? dclColors.neutral.softWhite : 'rgba(255, 255, 255, 0.1)',\n border: 'none',\n borderRadius: 50,\n color: isActive ? dclColors.neutral.softBlack1 : dclColors.neutral.softWhite,\n cursor: 'pointer',\n display: 'inline-flex',\n fontFamily: theme.typography.fontFamily,\n fontSize: 15,\n fontWeight: 600,\n letterSpacing: '0.46px',\n lineHeight: '24px',\n padding: theme.spacing(1, 2),\n textTransform: 'uppercase',\n transition: 'background-color 150ms ease, color 150ms ease',\n ['&:hover']: {\n backgroundColor: isActive ? dclColors.neutral.softWhite : 'rgba(255, 255, 255, 0.2)'\n },\n ['&:focus-visible']: {\n outline: `2px solid ${dclColors.neutral.softWhite}`,\n outlineOffset: 2\n }\n}))\n\nexport { TabButton, TabsRow }\nexport type { TabValue }\n","import { memo, useCallback, useRef } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { TabButton, TabsRow } from './ExperiencesTabs.styled'\nimport type { TabValue } from './ExperiencesTabs.styled'\n\ninterface ExperiencesTabsProps {\n value: TabValue\n onChange: (value: TabValue) => void\n panelId?: string\n}\n\nconst TAB_ORDER: TabValue[] = ['all', 'my']\n\nconst ExperiencesTabs = memo(({ value, onChange, panelId }: ExperiencesTabsProps) => {\n const { t } = useTranslation()\n const listRef = useRef<HTMLDivElement>(null)\n\n const handleTabClick = useCallback((next: TabValue) => () => onChange(next), [onChange])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key !== 'ArrowRight' && event.key !== 'ArrowLeft') return\n event.preventDefault()\n const currentIndex = TAB_ORDER.indexOf(value)\n const delta = event.key === 'ArrowRight' ? 1 : -1\n const nextIndex = (currentIndex + delta + TAB_ORDER.length) % TAB_ORDER.length\n const nextValue = TAB_ORDER[nextIndex]\n onChange(nextValue)\n const button = listRef.current?.querySelector<HTMLButtonElement>(`[data-tab-value=\"${nextValue}\"]`)\n button?.focus()\n },\n [onChange, value]\n )\n\n return (\n <TabsRow ref={listRef} role=\"tablist\" aria-label={t('all_experiences.title')}>\n {TAB_ORDER.map(tab => {\n const isActive = tab === value\n return (\n <TabButton\n key={tab}\n type=\"button\"\n role=\"tab\"\n data-tab-value={tab}\n aria-selected={isActive}\n aria-controls={panelId}\n tabIndex={isActive ? 0 : -1}\n isActive={isActive}\n onClick={handleTabClick(tab)}\n onKeyDown={handleKeyDown}\n >\n {t(tab === 'all' ? 'all_experiences.tab_all' : 'all_experiences.tab_my')}\n </TabButton>\n )\n })}\n </TabsRow>\n )\n})\n\nExperiencesTabs.displayName = 'ExperiencesTabs'\n\nexport { ExperiencesTabs }\nexport type { ExperiencesTabsProps, TabValue }\n","import { Box, Button, Typography, dclColors, styled } from 'decentraland-ui2'\n\nconst EmptyPanel = styled(Box)(({ theme }) => ({\n alignItems: 'center',\n backgroundColor: 'rgba(179, 47, 255, 0.25)',\n border: '2px solid rgba(255, 255, 255, 0.1)',\n borderRadius: 24,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(3),\n justifyContent: 'center',\n minHeight: 320,\n padding: theme.spacing(6, 3),\n textAlign: 'center',\n [theme.breakpoints.down('sm')]: {\n minHeight: 240,\n padding: theme.spacing(4, 2)\n }\n}))\n\nconst EmptyTitle = styled(Typography)({\n color: dclColors.neutral.softWhite,\n fontSize: 20,\n fontWeight: 500,\n lineHeight: 1.6\n})\n\nconst EmptyButton = styled(Button)(({ theme }) => ({\n borderColor: dclColors.neutral.softWhite,\n borderRadius: 6,\n color: dclColors.neutral.softWhite,\n fontSize: 15,\n fontWeight: 600,\n letterSpacing: '0.46px',\n lineHeight: '24px',\n padding: theme.spacing(1, 3),\n textTransform: 'uppercase',\n ['&:hover']: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n borderColor: dclColors.neutral.softWhite\n }\n}))\n\nexport { EmptyButton, EmptyPanel, EmptyTitle }\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 { EmptyButton, EmptyPanel, EmptyTitle } from './MyExperiencesEmptyState.styled'\n\nfunction MyExperiencesEmptyState() {\n const { t } = useTranslation()\n const navigate = useNavigate()\n\n const handleCreate = useCallback(() => {\n navigate('/whats-on/new-event')\n }, [navigate])\n\n return (\n <EmptyPanel role=\"status\">\n <EmptyTitle>{t('my_experiences.empty_title')}</EmptyTitle>\n <EmptyButton variant=\"outlined\" startIcon={<AddIcon />} onClick={handleCreate}>\n {t('my_experiences.empty_cta')}\n </EmptyButton>\n </EmptyPanel>\n )\n}\n\nexport { MyExperiencesEmptyState }\n","import { Box, Typography, dclColors, styled } from 'decentraland-ui2'\n\nconst GridPanel = styled(Box)(({ theme }) => ({\n backgroundColor: 'rgba(179, 47, 255, 0.15)',\n border: '1px solid rgba(255, 255, 255, 0.08)',\n borderRadius: 24,\n padding: theme.spacing(3)\n}))\n\nconst GridTitle = styled(Typography)(({ theme }) => ({\n color: dclColors.neutral.softWhite,\n fontSize: 16,\n fontWeight: 600,\n marginBottom: theme.spacing(2)\n})) as typeof Typography\n\nconst CardGrid = styled(Box)(({ theme }) => ({\n display: 'grid',\n gap: theme.spacing(2),\n gridTemplateColumns: 'repeat(auto-fill, minmax(280px, 1fr))'\n}))\n\nexport { CardGrid, GridPanel, GridTitle }\n","import { memo } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport type { EventEntry } from '../../../features/whats-on-events'\nimport { PendingEventCard } from '../PendingEventCard'\nimport { CardGrid, GridPanel, GridTitle } from './MyExperiencesGrid.styled'\n\ninterface MyExperiencesGridProps {\n events: EventEntry[]\n onCardClick: (event: EventEntry) => void\n}\n\nconst MyExperiencesGrid = memo(function MyExperiencesGrid({ events, onCardClick }: MyExperiencesGridProps) {\n const { t } = useTranslation()\n\n return (\n <GridPanel>\n <GridTitle variant=\"h6\">{t('my_experiences.hosted_by_me')}</GridTitle>\n <CardGrid>\n {events.map(event => (\n <PendingEventCard key={event.id} event={event} onClick={onCardClick} />\n ))}\n </CardGrid>\n </GridPanel>\n )\n})\n\nexport { MyExperiencesGrid }\nexport type { MyExperiencesGridProps }\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 scrollMarginTop: 96,\n [theme.breakpoints.down('md')]: {\n scrollMarginTop: 72\n },\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, useRef, useState } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport { skipToken } from '@reduxjs/toolkit/query/react'\nimport { useTranslation } from '@dcl/hooks'\nimport { useGetAdminEventsQuery } from '../../../features/whats-on/admin/admin.client'\nimport { useGetEventsQuery } from '../../../features/whats-on-events'\nimport type { EventEntry, EventListType } from '../../../features/whats-on-events'\nimport { useAdminPermissions } from '../../../hooks/useAdminPermissions'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useEventDetailModal } from '../../../hooks/useEventDetailModal'\nimport { useVisibleColumnCount } from '../../../hooks/useVisibleColumnCount'\nimport { chunk } from '../../../utils/whatsOnChunk'\nimport { addDays, formatDayHeaderAria, getDayRange, isSameLocalDay } from '../../../utils/whatsOnDate'\nimport { EventDetailModal } 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 { ExperiencesTabs } from './ExperiencesTabs'\nimport type { TabValue } from './ExperiencesTabs'\nimport { MyExperiencesEmptyState } from './MyExperiencesEmptyState'\nimport { MyExperiencesGrid } from './MyExperiencesGrid'\nimport { AllExperiencesSection, ColumnsContainer, MobileEventsPage, MobileEventsTrack, SectionTitle } from './AllExperiences.styled'\n\nconst MY_EXPERIENCES_PANEL_ID = 'my-experiences-panel'\n\ninterface UseAllExperiencesDataArgs {\n today: Date\n startOffset: number\n columnCount: number\n identity?: import('@dcl/crypto').AuthIdentity\n creator?: string\n list: EventListType\n}\n\nfunction useAllExperiencesData({ today, startOffset, columnCount, identity, creator, list }: UseAllExperiencesDataArgs) {\n const days = useMemo(\n () => Array.from({ length: columnCount }, (_, i) => addDays(today, startOffset + i)),\n [today, startOffset, columnCount]\n )\n\n const rangeStart = useMemo(() => getDayRange(days[0]), [days])\n const rangeEnd = useMemo(() => getDayRange(days[days.length - 1]), [days])\n\n const isCreatorScoped = Boolean(creator)\n const {\n data: allEvents = [],\n isLoading,\n isError\n } = useGetEventsQuery(\n {\n list,\n from: isCreatorScoped ? undefined : rangeStart.from,\n to: isCreatorScoped ? undefined : rangeEnd.to,\n order: 'asc',\n world: false,\n limit: 200,\n identity,\n creator\n },\n { refetchOnMountOrArgChange: isCreatorScoped }\n )\n\n const dayData = useMemo(\n () =>\n 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\n return { allEvents, dayData, isLoading }\n}\n\nfunction AllExperiences() {\n const { t } = useTranslation()\n const { identity, hasValidIdentity, address } = useAuthIdentity()\n const columnCount = useVisibleColumnCount()\n const [startOffset, setStartOffset] = useState(0)\n const location = useLocation()\n const requestedTab = (location.state as { activeTab?: TabValue } | null)?.activeTab\n const [activeTab, setActiveTab] = useState<TabValue>(requestedTab === 'my' ? 'my' : 'all')\n const sectionRef = useRef<HTMLDivElement | null>(null)\n const hasScrolledToMyTab = useRef(false)\n const { closeEventDetailModal, editActiveEvent, modalData, openEventDetailModal } = useEventDetailModal()\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 useEffect(() => {\n if (!hasValidIdentity && activeTab === 'my') {\n setActiveTab('all')\n setStartOffset(0)\n }\n }, [hasValidIdentity, activeTab])\n\n const isMyTab = hasValidIdentity && activeTab === 'my'\n const { isAdmin } = useAdminPermissions()\n\n const {\n allEvents,\n dayData,\n isLoading: isLoadingEvents\n } = useAllExperiencesData({\n today,\n startOffset,\n columnCount,\n identity,\n creator: isMyTab ? address : undefined,\n list: isMyTab ? 'all' : 'active'\n })\n\n const { data: adminEvents = [], isLoading: isLoadingAdminEvents } = useGetAdminEventsQuery(\n isMyTab && isAdmin && identity ? { identity } : skipToken,\n { refetchOnMountOrArgChange: true }\n )\n\n const sortedMyEvents = useMemo(() => {\n if (!isMyTab) return []\n const lowerAddress = address?.toLowerCase() ?? ''\n const mergedById = new Map<string, EventEntry>()\n for (const event of allEvents) mergedById.set(event.id, event)\n for (const event of adminEvents) {\n if ((event.user ?? '').toLowerCase() === lowerAddress) mergedById.set(event.id, event)\n }\n const now = Date.now()\n return Array.from(mergedById.values())\n .map(event => {\n if (event.recurrent && event.next_start_at && event.next_finish_at) {\n /* eslint-disable @typescript-eslint/naming-convention */\n return { ...event, start_at: event.next_start_at, finish_at: event.next_finish_at }\n /* eslint-enable @typescript-eslint/naming-convention */\n }\n return event\n })\n .filter(event => new Date(event.finish_at).getTime() >= now)\n .sort((a, b) => new Date(a.start_at).getTime() - new Date(b.start_at).getTime())\n }, [address, adminEvents, allEvents, isMyTab])\n\n const hasAnyUpcomingMyEvent = sortedMyEvents.length > 0\n const isLoadingMyEvents = isLoadingEvents || (isMyTab && isAdmin && isLoadingAdminEvents)\n\n useEffect(() => {\n if (requestedTab !== 'my' || hasScrolledToMyTab.current || isLoadingMyEvents || !sectionRef.current) return\n hasScrolledToMyTab.current = true\n sectionRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }, [requestedTab, isLoadingMyEvents])\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 handleTabChange = useCallback((next: TabValue) => {\n setActiveTab(next)\n setStartOffset(0)\n }, [])\n\n const renderCard = useCallback(\n (event: EventEntry) => <AllExperiencesCard event={event} onClick={openEventDetailModal} />,\n [openEventDetailModal]\n )\n\n const mobilePages = useMemo(\n () =>\n chunk(\n dayData.flatMap(d => d.events),\n 2\n ),\n [dayData]\n )\n\n const showMyEmptyState = isMyTab && !isLoadingMyEvents && !hasAnyUpcomingMyEvent\n\n return (\n <AllExperiencesSection ref={sectionRef} aria-label={t('all_experiences.title')}>\n {hasValidIdentity ? (\n <ExperiencesTabs value={activeTab} onChange={handleTabChange} panelId={MY_EXPERIENCES_PANEL_ID} />\n ) : (\n <SectionTitle variant=\"h4\">{t('all_experiences.title')}</SectionTitle>\n )}\n <div role={hasValidIdentity ? 'tabpanel' : undefined} id={hasValidIdentity ? MY_EXPERIENCES_PANEL_ID : undefined}>\n {isMyTab ? (\n showMyEmptyState ? (\n <MyExperiencesEmptyState />\n ) : (\n <MyExperiencesGrid events={sortedMyEvents} onCardClick={openEventDetailModal} />\n )\n ) : (\n <>\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={openEventDetailModal} />\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 </>\n )}\n </div>\n <HostBanner />\n <EventDetailModal open={!!modalData} onClose={closeEventDetailModal} data={modalData} onEdit={editActiveEvent} />\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 { Box, Card, CardActionArea, CardContent, Typography, styled } from 'decentraland-ui2'\n\nconst JUMP_IN_BUTTON_HEIGHT = 46\n\nconst CardRoot = styled(Card)(({ theme }) => ({\n borderRadius: theme.spacing(2),\n boxSizing: 'border-box',\n minWidth: 400,\n maxWidth: 850,\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n height: '100%',\n backgroundColor: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n transition: theme.transitions.create(['transform', 'box-shadow'], {\n duration: theme.transitions.duration.complex\n }),\n [theme.breakpoints.up('sm')]: {\n ['&:hover']: {\n transform: 'translateY(-4px)',\n boxShadow: '0px 2px 12px 12px rgba(255, 255, 255, 0.3)'\n }\n }\n}))\n\nconst LiveNowActionArea = styled(CardActionArea)(({ theme }) => ({\n borderRadius: theme.spacing(2),\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n backgroundColor: 'transparent'\n}))\n\nconst MediaBox = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n overflow: 'hidden',\n backgroundColor: theme.palette.mode === 'dark' ? '#2a2435' : '#e8e8e8',\n borderRadius: `${theme.spacing(2)} ${theme.spacing(2)} 0 0`\n}))\n\nconst MediaImage = styled('img')<{ fetchpriority?: 'high' | 'low' | 'auto' }>(({ theme }) => ({\n display: 'block',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: `${theme.spacing(2)} ${theme.spacing(2)} 0 0`,\n userSelect: 'none',\n pointerEvents: 'none'\n}))\n\nconst BadgesOverlay = styled(Box)(({ theme }) => ({\n position: 'absolute',\n top: theme.spacing(2),\n left: theme.spacing(2),\n right: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: theme.spacing(1),\n zIndex: 2,\n pointerEvents: 'none',\n ['& > *']: {\n pointerEvents: 'auto'\n }\n}))\n\nconst CardBody = styled(CardContent)(({ theme }) => ({\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(0, 0, 0, 0.4)' : 'rgba(255, 255, 255, 0.4)',\n borderRadius: `0 0 ${theme.spacing(2)} ${theme.spacing(2)}`,\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n width: '100%',\n position: 'relative',\n overflow: 'hidden',\n padding: theme.spacing(2),\n minHeight: 123,\n ['&:last-child']: {\n paddingBottom: theme.spacing(2)\n },\n [theme.breakpoints.down('sm')]: {\n minHeight: 149\n }\n}))\n\nconst SceneInfo = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n width: '100%'\n})\n\nconst SceneTitle = styled(Typography)({\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontWeight: 600\n})\n\nconst AvatarRow = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n alignItems: 'center',\n marginTop: 'auto',\n minWidth: 0,\n maxWidth: '100%',\n overflow: 'hidden',\n [theme.breakpoints.up('sm')]: {\n transition: theme.transitions.create('margin-bottom', {\n duration: theme.transitions.duration.complex\n }),\n ['.MuiCardActionArea-root:hover &']: {\n marginBottom: `calc(${JUMP_IN_BUTTON_HEIGHT}px + ${theme.spacing(2)})`\n }\n }\n}))\n\nconst AvatarTextContainer = styled(Box)({\n flex: 1,\n minWidth: 0,\n overflow: 'hidden',\n ['& .MuiTypography-root']: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n})\n\nconst AVATAR_SIZE = 32\n\nconst AvatarImage = styled('img')(({ theme }) => ({\n width: AVATAR_SIZE,\n height: AVATAR_SIZE,\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 backgroundColor: theme.palette.success.dark\n}))\n\nconst AvatarFallback = styled(Box)(({ theme }) => ({\n width: AVATAR_SIZE,\n height: AVATAR_SIZE,\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}))\n\nconst JumpInButtonContainer = styled(Box)(({ theme }) => ({\n position: 'absolute',\n bottom: theme.spacing(2),\n left: theme.spacing(2),\n right: theme.spacing(2),\n opacity: 0,\n transform: `translateY(calc(100% + ${theme.spacing(2)}))`,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.complex\n }),\n [theme.breakpoints.up('sm')]: {\n ['.MuiCardActionArea-root:hover &']: {\n opacity: 1,\n transform: 'translateY(0)'\n }\n },\n [theme.breakpoints.down('sm')]: {\n position: 'relative',\n opacity: 1,\n transform: 'none',\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n marginTop: theme.spacing(1)\n }\n}))\n\nconst JumpInButton = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n width: '100%',\n height: JUMP_IN_BUTTON_HEIGHT,\n border: 'none',\n borderRadius: theme.spacing(2),\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n fontSize: 16,\n fontWeight: theme.typography.fontWeightBold,\n textTransform: 'uppercase',\n cursor: 'pointer',\n ['& svg']: {\n width: 24,\n height: 24\n },\n ['&:hover']: {\n backgroundColor: theme.palette.primary.dark\n }\n}))\n\nexport {\n AvatarFallback,\n AvatarImage,\n AvatarRow,\n AvatarTextContainer,\n BadgesOverlay,\n CardBody,\n CardRoot,\n JumpInButton,\n JumpInButtonContainer,\n LiveNowActionArea,\n MediaBox,\n MediaImage,\n SceneInfo,\n SceneTitle\n}\n","import { memo, useCallback } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { BadgeGroup, JumpInIcon, LiveBadge, Typography, UserCountBadge } from 'decentraland-ui2'\nimport type { LiveNowCard as LiveNowCardData } from '../../../features/whats-on-events'\nimport {\n AvatarFallback,\n AvatarImage,\n AvatarRow,\n AvatarTextContainer,\n BadgesOverlay,\n CardBody,\n CardRoot,\n JumpInButton,\n JumpInButtonContainer,\n LiveNowActionArea,\n MediaBox,\n MediaImage,\n SceneInfo,\n SceneTitle\n} from './LiveNowCard.styled'\n\ninterface LiveNowCardProps {\n card: LiveNowCardData\n creatorName?: string\n creatorFaceUrl?: string\n eager?: boolean\n onClick: (card: LiveNowCardData) => void\n}\n\nconst LiveNowCard = memo(({ card, creatorName, creatorFaceUrl, eager = false, onClick }: LiveNowCardProps) => {\n const { t } = useTranslation()\n const handleClick = useCallback(() => {\n onClick(card)\n }, [onClick, card])\n\n return (\n <CardRoot>\n <LiveNowActionArea onClick={handleClick}>\n <BadgesOverlay>\n <BadgeGroup>\n {card.type === 'event' && <LiveBadge />}\n <UserCountBadge count={card.users} />\n </BadgeGroup>\n </BadgesOverlay>\n <MediaBox className=\"MuiCardMedia-root\" role=\"img\" aria-label={card.title}>\n <MediaImage\n src={card.image}\n alt=\"\"\n width={500}\n height={329}\n loading={eager ? 'eager' : 'lazy'}\n fetchpriority={eager ? 'high' : undefined}\n decoding=\"async\"\n />\n </MediaBox>\n <CardBody>\n <SceneInfo>\n <SceneTitle variant=\"h6\" gutterBottom>\n {card.title}\n </SceneTitle>\n {creatorName && (\n <AvatarRow>\n {creatorFaceUrl ? <AvatarImage src={creatorFaceUrl} alt={creatorName} /> : <AvatarFallback />}\n <AvatarTextContainer>\n <Typography variant=\"body2\">\n {t('live_now.by_prefix')}\n <strong>{creatorName}</strong>\n </Typography>\n </AvatarTextContainer>\n </AvatarRow>\n )}\n </SceneInfo>\n <JumpInButtonContainer>\n <JumpInButton>\n <span>{t('live_now.jump_in')}</span>\n <JumpInIcon />\n </JumpInButton>\n </JumpInButtonContainer>\n </CardBody>\n </LiveNowActionArea>\n </CardRoot>\n )\n})\n\nLiveNowCard.displayName = 'LiveNowCard'\n\nexport { LiveNowCard }\n","import { memo } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport type { LiveNowCard as LiveNowCardData } from '../../../features/whats-on-events'\nimport { useCreatorAvatar } from '../../../hooks/useCreatorAvatar'\nimport { assetUrl } from '../../../utils/assetUrl'\nimport { formatEthAddress } from '../../../utils/avatar'\nimport { LiveNowCard } from './LiveNowCard'\n\n// `/dcl-logo.svg` lives in /public, which Vite serves from the CDN base URL in\n// prod (VITE_BASE_URL). Using `window.location.origin` here would hit\n// decentraland.zone/dcl-logo.svg — a path the SPA rewrite silently resolves to\n// index.html (content-type: text/html) → <img> renders blank.\nconst DCL_LOGO_URL = assetUrl('/dcl-logo.svg')\nconst DCL_FOUNDATION_NAME = 'Decentraland Foundation'\n\nfunction resolveCreatorName(card: LiveNowCardData, unknownLabel: string): string {\n if (card.creatorName) return card.creatorName\n if (card.isGenesisPlaza) return DCL_FOUNDATION_NAME\n if (card.creatorAddress) return formatEthAddress(card.creatorAddress)\n return unknownLabel\n}\n\nconst LiveNowCardItem = memo(\n ({ card, onClick, eager }: { card: LiveNowCardData; onClick: (card: LiveNowCardData) => void; eager?: boolean }) => {\n const { t } = useTranslation()\n // Hook must be called unconditionally; Genesis Plaza opts out of the face probe\n // because we always paint the DCL logo for it.\n const { avatarFace } = useCreatorAvatar(card.isGenesisPlaza ? undefined : card.creatorAddress, card.creatorName ?? undefined)\n\n const creatorName = resolveCreatorName(card, t('live_now.unknown_creator'))\n const creatorFaceUrl = card.isGenesisPlaza ? DCL_LOGO_URL : avatarFace\n\n return <LiveNowCard card={card} creatorName={creatorName} creatorFaceUrl={creatorFaceUrl} eager={eager} onClick={onClick} />\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/whats-on-events'\nimport type { LiveNowCard } from '../../../features/whats-on-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\nconst SCROLL_TOLERANCE_PX = 2\nconst CARD_SELECTOR = '.MuiCard-root'\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 firstCard = container.querySelector<HTMLElement>(CARD_SELECTOR)\n const cardWidth = firstCard?.offsetWidth ?? 0\n const cardsPerPage = cardWidth > 0 && container.clientWidth > 0 ? Math.max(1, Math.round(container.clientWidth / cardWidth)) : 1\n const pages = Math.max(1, Math.ceil(cards.length / cardsPerPage))\n const hasScroll = pages > 1\n\n setPageCount(pages)\n setCanScrollLeft(hasScroll && container.scrollLeft > SCROLL_TOLERANCE_PX)\n setCanScrollRight(hasScroll && container.scrollLeft + container.clientWidth < container.scrollWidth - SCROLL_TOLERANCE_PX)\n\n const maxScroll = container.scrollWidth - container.clientWidth\n if (!hasScroll || maxScroll <= 0) {\n setActiveIndex(0)\n } else {\n const progress = container.scrollLeft / maxScroll\n setActiveIndex(Math.round(progress * (pages - 1)))\n }\n }, [cards.length])\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, index) => (\n <LiveNowCardItem key={card.id} card={card} onClick={handleCardClick} eager={index === 0} />\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: 'minmax(0, 430px)',\n justifyContent: '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/whats-on-events'\nimport { useAuthIdentity } from '../../../hooks/useAuthIdentity'\nimport { useEventDetailModal } from '../../../hooks/useEventDetailModal'\nimport { chunk } from '../../../utils/whatsOnChunk'\nimport { PaginationDot, PaginationDots } from '../common/PaginationDots.styled'\nimport { EventDetailModal } 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 [activePage, setActivePage] = useState(0)\n const { closeEventDetailModal, editActiveEvent, modalData, openEventDetailModal } = useEventDetailModal()\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 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={openEventDetailModal} />\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={openEventDetailModal} 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={closeEventDetailModal} data={modalData} onEdit={editActiveEvent} />\n </UpcomingSection>\n )\n}\n\nexport { Upcoming }\n","export default \"__VITE_ASSET__BhCN_z92__\"","import { Box, styled } from 'decentraland-ui2'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst MainContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n background: 'radial-gradient(61.64% 109.58% at 50% 54.49%, #A042CD 0%, #270537 100%)',\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 zIndex: 1\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 }\n}))\n\nconst TopBackgroundImage = styled('img')(({ theme }) => ({\n position: 'absolute',\n top: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n width: '100%',\n maxWidth: 'none',\n height: 700,\n objectFit: 'cover',\n objectPosition: 'top center',\n pointerEvents: 'none',\n userSelect: 'none',\n zIndex: 0,\n [theme.breakpoints.down('sm')]: {\n display: 'none'\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, TopBackgroundImage }\n","import { AllExperiences } from '../../components/whats-on/AllExperiences'\nimport { LiveNow } from '../../components/whats-on/LiveNow'\nimport { Upcoming } from '../../components/whats-on/Upcoming'\nimport { useGetLiveNowCardsQuery } from '../../features/whats-on-events'\nimport { useLiveNowQueryParams } from '../../hooks/useLiveNowQueryParams'\nimport topBackground from '../../images/whats-on/images/top_background.webp'\nimport { ContentWrapper, DeferredGroup, MainContainer, TopBackgroundImage } from './HomePage.styled'\n\nfunction HomePage() {\n const queryParams = useLiveNowQueryParams()\n const { isLoading: isLiveNowLoading } = useGetLiveNowCardsQuery(queryParams)\n\n return (\n <MainContainer component=\"main\">\n <TopBackgroundImage src={topBackground} alt=\"\" aria-hidden=\"true\" loading=\"eager\" decoding=\"async\" width={1440} height={700} />\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":["HOVER_SHADOW","HOVER_SHADOW_LIGHT","TimePill","styled","Box","theme","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","onClick","action","hoverActions","handleKeyDown","useCallback","e","_jsxs","_jsx","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","avatarImage","sceneImage","CHECKBOX_FILL","OVERLAY_BLACK_35","BannerSection","SceneImageWrapper","SceneImage","AvatarImage","ContentArea","BannerTitle","BannerSubtitle","dclColors.neutral","ChecklistWrapper","ChecklistItem","CheckBoxShape","CheckBoxIcon","CheckIcon","CheckText","ButtonRow","BannerButton","Button","LEARN_MORE_URL","CHECK_KEYS","HostBanner","useTranslation","navigate","useNavigate","hasValidIdentity","useAuthIdentity","handleCreate","redirectToAuth","handleLearnMore","jsxs","jsx","key","AddIcon","MobileActionButton","UpcomingCard","event","avatarFace","useCreatorProfile","copied","calendarAdded","handleCopy","handleAddToCalendar","useCardActions","isReminded","isRemindLoading","isShaking","handleRemindToggle","useRemindMe","handleClick","mobileAction","RemindMeIcon","CalendarMonthIcon","desktopHoverActions","Fragment","RemindMeButton","ActionTextButton","CalendarAddIcon","ActionTextLabel","Tooltip","ActionButton","CalendarIcon","CopyIcon","getRelativeTimeLabel","PROFILE_IMAGES_ORIGIN","getProfileFaceUrl","address","isValidEthAddress","BROKEN_TTL_MS","brokenFaceExpiries","isFaceBroken","url","expiresAt","markFaceBroken","getInitialFaceStatus","rawFace","useCreatorAvatar","name","faceStatus","setFaceStatus","controller","cancelled","res","err","useMemo","buildMinimalAvatar","LiveCard","avatar","LiveCardWrapper","EventCard","BadgeGroup","LiveBadge","UserCountBadge","AllExperiencesCard","FutureCard","_interopRequireDefault","require$$0","ChevronLeft","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","ChevronRight","NAV_BAR_HEIGHT","NAV_BAR_MARGIN_BOTTOM","NAV_BUTTON_SIZE","NavigationBar","dclColors.blackTransparent","DateLabel","isToday","NavButton","disabled","side","DateNavigation","startOffset","onNavigateLeft","onNavigateRight","canGoBack","_","ChevronLeftIcon","ChevronRightIcon","COLUMN_BORDER_RADIUS","COLUMN_HEIGHT","CARD_GAP","CARD_PADDING","FILLER_BORDER_RADIUS","SKELETON_HEIGHT","DayColumnContainer","dclColors.whiteTransparent","CardScrollArea","ColumnFiller","SkeletonCard","DayColumn","events","isLoading","dateLabel","renderCard","scrollRef","useRef","dragState","hasOverflow","setHasOverflow","el","check","observer","handleMouseDown","container","handleMouseMove","walk","handleMouseUp","TabsRow","TabButton","isActive","TAB_ORDER","ExperiencesTabs","value","onChange","panelId","listRef","handleTabClick","next","currentIndex","delta","nextIndex","nextValue","tab","EmptyPanel","EmptyTitle","EmptyButton","MyExperiencesEmptyState","GridPanel","GridTitle","CardGrid","MyExperiencesGrid","onCardClick","PendingEventCard","SECTION_TITLE_MARGIN_BOTTOM","COLUMNS_GAP","SLIDE_UP_DURATION","SLIDE_UP_DELAY","AllExperiencesSection","SectionTitle","ColumnsContainer","MobileEventsTrack","MobileEventsPage","MY_EXPERIENCES_PANEL_ID","useAllExperiencesData","identity","creator","list","rangeStart","rangeEnd","isCreatorScoped","allEvents","isError","useGetEventsQuery","dayData","AllExperiences","setStartOffset","requestedTab","useLocation","activeTab","setActiveTab","sectionRef","hasScrolledToMyTab","closeEventDetailModal","editActiveEvent","modalData","openEventDetailModal","useEventDetailModal","setToday","now","checkMidnight","isMyTab","isAdmin","useAdminPermissions","isLoadingEvents","adminEvents","isLoadingAdminEvents","useGetAdminEventsQuery","skipToken","sortedMyEvents","lowerAddress","mergedById","hasAnyUpcomingMyEvent","isLoadingMyEvents","handleNavigateLeft","prev","handleNavigateRight","handleTabChange","mobilePages","d","showMyEmptyState","page","EventDetailModal","useDocumentVisible","visible","setVisible","isDocumentVisible","subscribeVisibility","useLiveNowQueryParams","raw","PaginationDots","PaginationDot","active","JUMP_IN_BUTTON_HEIGHT","CardRoot","Card","LiveNowActionArea","CardActionArea","MediaBox","MediaImage","BadgesOverlay","CardBody","CardContent","SceneInfo","SceneTitle","AvatarRow","AvatarTextContainer","AVATAR_SIZE","JumpInButtonContainer","JumpInButton","LiveNowCard","card","creatorFaceUrl","eager","JumpInIcon","DCL_LOGO_URL","assetUrl","DCL_FOUNDATION_NAME","resolveCreatorName","unknownLabel","formatEthAddress","LiveNowCardItem","LiveNowSection","LiveNowHeader","LiveNowTitle","JUMP_IN_HEIGHT","FADE_WIDTH","CarouselWrapper","fadeLeft","fadeRight","hasScroll","masks","ChevronButton","IconButton","LiveNowGrid","LiveNowIcon","SensorsRoundedIcon","ChevronLayer","SCROLL_AMOUNT","SCROLL_TOLERANCE_PX","CARD_SELECTOR","LiveNow","queryParams","isVisible","cards","useGetLiveNowCardsQuery","activeIndex","setActiveIndex","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","pageCount","setPageCount","isDragging","setIsDragging","setModalData","syncScrollState","cardWidth","cardsPerPage","pages","maxScroll","progress","handleChevronClick","direction","handleDotClick","index","scrollTo","handleCardClick","normalizeLiveNowCard","handleModalClose","UpcomingSection","UpcomingTitle","MobileCarousel","MobileCarouselTrack","MobileCarouselPage","DesktopGrid","PAGE_SIZE","Upcoming","useGetUpcomingEventsQuery","activePage","setActivePage","trackRef","handleScroll","topBackground","MainContainer","TopBackgroundImage","ContentWrapper","DeferredGroup","deferred","HomePage","isLiveNowLoading"],"mappings":"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","x_google_ignoreList":[0,1,15,16]}
@@ -1 +1 @@
1
- import{C as u,j as e,D as g,s as i,a as o,x as v,z as f,g as s,w as p,B as d}from"./index-D9krZGYy.js";import{J as h}from"./JumpInButton-CqKycSau.js";import{A as j}from"./AnimatedBackground-CO__t7bG.js";import"./vendor-router-D7SOoytt.js";import"./vendor-sentry-DCdewyWN.js";import"./vendor-crypto-CXsBIwXr.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";import"./useAuthIdentity-B6QSalIu.js";import"./JumpInIcon-ZOn0wOk1.js";var r={},_=g;Object.defineProperty(r,"__esModule",{value:!0});var l=r.default=void 0,b=_(u()),y=e;l=r.default=(0,b.default)((0,y.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");const I=i(o)(({theme:t})=>({position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",width:"100%",padding:"48px 24px",paddingTop:64,color:"#ffffff",textAlign:"center",[t.breakpoints.up("md")]:{paddingTop:96},[t.breakpoints.down("md")]:{padding:"24px 16px 120px 16px",paddingTop:64}})),M=i(o)({position:"relative",zIndex:1,width:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),C=i(o)(({theme:t})=>({width:"100%",maxWidth:520,display:"flex",flexDirection:"column",alignItems:"center",gap:16,[t.breakpoints.down("sm")]:{maxWidth:"100%"}})),z=i(o)({position:"fixed",bottom:0,left:0,right:0,padding:"16px 24px 32px 24px",background:"linear-gradient(100.12deg, #130119 0%, #320524 100%)",borderTop:"1px solid rgba(255, 255, 255, 0.1)",zIndex:1e3}),U=({kind:t})=>{const n=v(),a=f(),m=t==="event",c=s("HOME_URL")??"https://decentraland.org",x=s("EVENTS_URL")??"https://decentraland.org/events/";return e.jsxs(I,{children:[e.jsx(j,{variant:"fixed"}),e.jsx(M,{children:e.jsxs(C,{children:[e.jsx(p,{variant:"h3",mb:"24px",children:n("component.jump.invalid_page.title")}),e.jsx(p,{variant:"h6",mb:"24px",children:n(a?"component.jump.invalid_page.message_mobile":"component.jump.invalid_page.message")}),!a&&e.jsx(h,{position:"0,0",size:"large",fullWidth:!0,children:n("component.jump.invalid_page.jump_in_button")}),m&&e.jsx(d,{variant:"contained",color:"secondary",href:x,size:"large",fullWidth:!0,sx:{color:"#161518"},children:n("component.jump.events_page.explore_events_button")})]})}),a&&e.jsx(z,{children:e.jsx(d,{variant:"contained",color:"primary",href:c,size:"large",fullWidth:!0,startIcon:e.jsx(l,{}),children:n("component.jump.invalid_page.go_home_button")})})]})};export{U as InvalidPage};
1
+ import{C as u,j as e,D as g,s as i,a as o,x as v,z as f,g as s,w as p,B as d}from"./index-BWvXRlTE.js";import{J as h}from"./JumpInButton-DorJjQyB.js";import{A as j}from"./AnimatedBackground-CY9KApzI.js";import"./vendor-router-D7SOoytt.js";import"./vendor-sentry-DCdewyWN.js";import"./vendor-crypto-CXsBIwXr.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";import"./useAuthIdentity-B89tP4lt.js";import"./JumpInIcon-DfpHf5gS.js";var r={},_=g;Object.defineProperty(r,"__esModule",{value:!0});var l=r.default=void 0,b=_(u()),y=e;l=r.default=(0,b.default)((0,y.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");const I=i(o)(({theme:t})=>({position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",width:"100%",padding:"48px 24px",paddingTop:64,color:"#ffffff",textAlign:"center",[t.breakpoints.up("md")]:{paddingTop:96},[t.breakpoints.down("md")]:{padding:"24px 16px 120px 16px",paddingTop:64}})),M=i(o)({position:"relative",zIndex:1,width:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),C=i(o)(({theme:t})=>({width:"100%",maxWidth:520,display:"flex",flexDirection:"column",alignItems:"center",gap:16,[t.breakpoints.down("sm")]:{maxWidth:"100%"}})),z=i(o)({position:"fixed",bottom:0,left:0,right:0,padding:"16px 24px 32px 24px",background:"linear-gradient(100.12deg, #130119 0%, #320524 100%)",borderTop:"1px solid rgba(255, 255, 255, 0.1)",zIndex:1e3}),U=({kind:t})=>{const n=v(),a=f(),m=t==="event",c=s("HOME_URL")??"https://decentraland.org",x=s("EVENTS_URL")??"https://decentraland.org/events/";return e.jsxs(I,{children:[e.jsx(j,{variant:"fixed"}),e.jsx(M,{children:e.jsxs(C,{children:[e.jsx(p,{variant:"h3",mb:"24px",children:n("component.jump.invalid_page.title")}),e.jsx(p,{variant:"h6",mb:"24px",children:n(a?"component.jump.invalid_page.message_mobile":"component.jump.invalid_page.message")}),!a&&e.jsx(h,{position:"0,0",size:"large",fullWidth:!0,children:n("component.jump.invalid_page.jump_in_button")}),m&&e.jsx(d,{variant:"contained",color:"secondary",href:x,size:"large",fullWidth:!0,sx:{color:"#161518"},children:n("component.jump.events_page.explore_events_button")})]})}),a&&e.jsx(z,{children:e.jsx(d,{variant:"contained",color:"primary",href:c,size:"large",fullWidth:!0,startIcon:e.jsx(l,{}),children:n("component.jump.invalid_page.go_home_button")})})]})};export{U as InvalidPage};
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidPage-Bzsjkjz7.js","sources":["../../node_modules/@mui/icons-material/Home.js","../../src/pages/jump/InvalidPage.styled.ts","../../src/pages/jump/InvalidPage.tsx"],"sourcesContent":["\"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 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');","import { Box, styled } from 'decentraland-ui2'\n\nconst InvalidPageContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '100vh',\n width: '100%',\n padding: '48px 24px',\n paddingTop: 64,\n color: '#ffffff',\n textAlign: 'center',\n [theme.breakpoints.up('md')]: { paddingTop: 96 },\n [theme.breakpoints.down('md')]: {\n padding: '24px 16px 120px 16px',\n paddingTop: 64\n }\n}))\n\nconst InvalidPageContent = styled(Box)({\n position: 'relative',\n zIndex: 1,\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n})\n\nconst ContentBox = styled(Box)(({ theme }) => ({\n width: '100%',\n maxWidth: 520,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%'\n }\n}))\n\nconst MobileActionsContainer = styled(Box)({\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n padding: '16px 24px 32px 24px',\n background: 'linear-gradient(100.12deg, #130119 0%, #320524 100%)',\n borderTop: '1px solid rgba(255, 255, 255, 0.1)',\n zIndex: 1000\n})\n\nexport { ContentBox, InvalidPageContainer, InvalidPageContent, MobileActionsContainer }\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport HomeIcon from '@mui/icons-material/Home'\nimport { AnimatedBackground, Button, Typography, useMobileMediaQuery } from 'decentraland-ui2'\nimport { JumpInButton } from '../../components/jump/JumpInButton'\nimport { getEnv } from '../../config/env'\nimport { useFormatMessage } from '../../hooks/adapters/useFormatMessage'\nimport { ContentBox, InvalidPageContainer, InvalidPageContent, MobileActionsContainer } from './InvalidPage.styled'\n\ninterface InvalidPageProps {\n kind: 'event' | 'place'\n}\n\nconst InvalidPage = ({ kind }: InvalidPageProps) => {\n const formatMessage = useFormatMessage()\n const isMobile = useMobileMediaQuery()\n const isEventPage = kind === 'event'\n const homeUrl = getEnv('HOME_URL') ?? 'https://decentraland.org'\n const eventsUrl = getEnv('EVENTS_URL') ?? 'https://decentraland.org/events/'\n\n return (\n <InvalidPageContainer>\n <AnimatedBackground variant=\"fixed\" />\n <InvalidPageContent>\n <ContentBox>\n <Typography variant=\"h3\" mb=\"24px\">\n {formatMessage('component.jump.invalid_page.title')}\n </Typography>\n <Typography variant=\"h6\" mb=\"24px\">\n {isMobile ? formatMessage('component.jump.invalid_page.message_mobile') : formatMessage('component.jump.invalid_page.message')}\n </Typography>\n {!isMobile && (\n <JumpInButton position=\"0,0\" size=\"large\" fullWidth>\n {formatMessage('component.jump.invalid_page.jump_in_button')}\n </JumpInButton>\n )}\n {isEventPage && (\n <Button variant=\"contained\" color=\"secondary\" href={eventsUrl} size=\"large\" fullWidth sx={{ color: '#161518' }}>\n {formatMessage('component.jump.events_page.explore_events_button')}\n </Button>\n )}\n </ContentBox>\n </InvalidPageContent>\n {isMobile && (\n <MobileActionsContainer>\n <Button variant=\"contained\" color=\"primary\" href={homeUrl} size=\"large\" fullWidth startIcon={<HomeIcon />}>\n {formatMessage('component.jump.invalid_page.go_home_button')}\n </Button>\n </MobileActionsContainer>\n )}\n </InvalidPageContainer>\n )\n}\n\nexport { InvalidPage }\n"],"names":["_interopRequireDefault","require$$0","Home","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","InvalidPageContainer","styled","Box","theme","InvalidPageContent","ContentBox","MobileActionsContainer","InvalidPage","kind","formatMessage","useFormatMessage","isMobile","useMobileMediaQuery","isEventPage","homeUrl","getEnv","eventsUrl","jsx","AnimatedBackground","jsxs","Typography","JumpInButton","Button","HomeIcon"],"mappings":"8eAGIA,EAAyBC,EAC7B,OAAO,eAAeC,EAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACD,IAAAC,EAAAD,EAAA,QAAkB,OACdE,EAAiBJ,EAAuBK,GAAgC,EACxEC,EAAcC,EACHJ,EAAAD,EAAA,WAAsBE,EAAe,YAA2BE,EAAY,KAAK,OAAQ,CACtG,EAAG,qCACL,CAAC,EAAG,MAAM,ECVV,MAAME,EAAuBC,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CACvD,SAAU,WACV,QAAS,OACT,cAAe,SACf,WAAY,SACZ,eAAgB,SAChB,UAAW,QACX,MAAO,OACP,QAAS,YACT,WAAY,GACZ,MAAO,UACP,UAAW,SACX,CAACA,EAAM,YAAY,GAAG,IAAI,CAAC,EAAG,CAAE,WAAY,EAAA,EAC5C,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,QAAS,uBACT,WAAY,EAAA,CAEhB,EAAE,EAEIC,EAAqBH,EAAOC,CAAG,EAAE,CACrC,SAAU,WACV,OAAQ,EACR,MAAO,OACP,QAAS,OACT,cAAe,SACf,WAAY,SACZ,eAAgB,QAClB,CAAC,EAEKG,EAAaJ,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC7C,MAAO,OACP,SAAU,IACV,QAAS,OACT,cAAe,SACf,WAAY,SACZ,IAAK,GACL,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,SAAU,MAAA,CAEd,EAAE,EAEIG,EAAyBL,EAAOC,CAAG,EAAE,CACzC,SAAU,QACV,OAAQ,EACR,KAAM,EACN,MAAO,EACP,QAAS,sBACT,WAAY,uDACZ,UAAW,qCACX,OAAQ,GACV,CAAC,ECxCKK,EAAc,CAAC,CAAE,KAAAC,KAA6B,CAClD,MAAMC,EAAgBC,EAAA,EAChBC,EAAWC,EAAA,EACXC,EAAcL,IAAS,QACvBM,EAAUC,EAAO,UAAU,GAAK,2BAChCC,EAAYD,EAAO,YAAY,GAAK,mCAE1C,cACGf,EAAA,CACC,SAAA,CAAAiB,EAAAA,IAACC,EAAA,CAAmB,QAAQ,OAAA,CAAQ,EACpCD,EAAAA,IAACb,EAAA,CACC,SAAAe,EAAAA,KAACd,EAAA,CACC,SAAA,CAAAY,EAAAA,IAACG,GAAW,QAAQ,KAAK,GAAG,OACzB,SAAAX,EAAc,mCAAmC,EACpD,EACAQ,EAAAA,IAACG,EAAA,CAAW,QAAQ,KAAK,GAAG,OACzB,SAAWX,EAAXE,EAAyB,6CAA8D,qCAAlB,CAAuD,CAC/H,EACC,CAACA,GACAM,EAAAA,IAACI,EAAA,CAAa,SAAS,MAAM,KAAK,QAAQ,UAAS,GAChD,SAAAZ,EAAc,4CAA4C,CAAA,CAC7D,EAEDI,SACES,EAAA,CAAO,QAAQ,YAAY,MAAM,YAAY,KAAMN,EAAW,KAAK,QAAQ,UAAS,GAAC,GAAI,CAAE,MAAO,WAChG,SAAAP,EAAc,kDAAkD,CAAA,CACnE,CAAA,CAAA,CAEJ,CAAA,CACF,EACCE,SACEL,EAAA,CACC,SAAAW,EAAAA,IAACK,GAAO,QAAQ,YAAY,MAAM,UAAU,KAAMR,EAAS,KAAK,QAAQ,UAAS,GAAC,UAAWG,EAAAA,IAACM,IAAS,EACpG,SAAAd,EAAc,4CAA4C,CAAA,CAC7D,CAAA,CACF,CAAA,EAEJ,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"InvalidPage-Debgf-PV.js","sources":["../../node_modules/@mui/icons-material/Home.js","../../src/pages/jump/InvalidPage.styled.ts","../../src/pages/jump/InvalidPage.tsx"],"sourcesContent":["\"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 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');","import { Box, styled } from 'decentraland-ui2'\n\nconst InvalidPageContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '100vh',\n width: '100%',\n padding: '48px 24px',\n paddingTop: 64,\n color: '#ffffff',\n textAlign: 'center',\n [theme.breakpoints.up('md')]: { paddingTop: 96 },\n [theme.breakpoints.down('md')]: {\n padding: '24px 16px 120px 16px',\n paddingTop: 64\n }\n}))\n\nconst InvalidPageContent = styled(Box)({\n position: 'relative',\n zIndex: 1,\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n})\n\nconst ContentBox = styled(Box)(({ theme }) => ({\n width: '100%',\n maxWidth: 520,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%'\n }\n}))\n\nconst MobileActionsContainer = styled(Box)({\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n padding: '16px 24px 32px 24px',\n background: 'linear-gradient(100.12deg, #130119 0%, #320524 100%)',\n borderTop: '1px solid rgba(255, 255, 255, 0.1)',\n zIndex: 1000\n})\n\nexport { ContentBox, InvalidPageContainer, InvalidPageContent, MobileActionsContainer }\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nimport HomeIcon from '@mui/icons-material/Home'\nimport { AnimatedBackground, Button, Typography, useMobileMediaQuery } from 'decentraland-ui2'\nimport { JumpInButton } from '../../components/jump/JumpInButton'\nimport { getEnv } from '../../config/env'\nimport { useFormatMessage } from '../../hooks/adapters/useFormatMessage'\nimport { ContentBox, InvalidPageContainer, InvalidPageContent, MobileActionsContainer } from './InvalidPage.styled'\n\ninterface InvalidPageProps {\n kind: 'event' | 'place'\n}\n\nconst InvalidPage = ({ kind }: InvalidPageProps) => {\n const formatMessage = useFormatMessage()\n const isMobile = useMobileMediaQuery()\n const isEventPage = kind === 'event'\n const homeUrl = getEnv('HOME_URL') ?? 'https://decentraland.org'\n const eventsUrl = getEnv('EVENTS_URL') ?? 'https://decentraland.org/events/'\n\n return (\n <InvalidPageContainer>\n <AnimatedBackground variant=\"fixed\" />\n <InvalidPageContent>\n <ContentBox>\n <Typography variant=\"h3\" mb=\"24px\">\n {formatMessage('component.jump.invalid_page.title')}\n </Typography>\n <Typography variant=\"h6\" mb=\"24px\">\n {isMobile ? formatMessage('component.jump.invalid_page.message_mobile') : formatMessage('component.jump.invalid_page.message')}\n </Typography>\n {!isMobile && (\n <JumpInButton position=\"0,0\" size=\"large\" fullWidth>\n {formatMessage('component.jump.invalid_page.jump_in_button')}\n </JumpInButton>\n )}\n {isEventPage && (\n <Button variant=\"contained\" color=\"secondary\" href={eventsUrl} size=\"large\" fullWidth sx={{ color: '#161518' }}>\n {formatMessage('component.jump.events_page.explore_events_button')}\n </Button>\n )}\n </ContentBox>\n </InvalidPageContent>\n {isMobile && (\n <MobileActionsContainer>\n <Button variant=\"contained\" color=\"primary\" href={homeUrl} size=\"large\" fullWidth startIcon={<HomeIcon />}>\n {formatMessage('component.jump.invalid_page.go_home_button')}\n </Button>\n </MobileActionsContainer>\n )}\n </InvalidPageContainer>\n )\n}\n\nexport { InvalidPage }\n"],"names":["_interopRequireDefault","require$$0","Home","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","InvalidPageContainer","styled","Box","theme","InvalidPageContent","ContentBox","MobileActionsContainer","InvalidPage","kind","formatMessage","useFormatMessage","isMobile","useMobileMediaQuery","isEventPage","homeUrl","getEnv","eventsUrl","jsx","AnimatedBackground","jsxs","Typography","JumpInButton","Button","HomeIcon"],"mappings":"8eAGIA,EAAyBC,EAC7B,OAAO,eAAeC,EAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACD,IAAAC,EAAAD,EAAA,QAAkB,OACdE,EAAiBJ,EAAuBK,GAAgC,EACxEC,EAAcC,EACHJ,EAAAD,EAAA,WAAsBE,EAAe,YAA2BE,EAAY,KAAK,OAAQ,CACtG,EAAG,qCACL,CAAC,EAAG,MAAM,ECVV,MAAME,EAAuBC,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CACvD,SAAU,WACV,QAAS,OACT,cAAe,SACf,WAAY,SACZ,eAAgB,SAChB,UAAW,QACX,MAAO,OACP,QAAS,YACT,WAAY,GACZ,MAAO,UACP,UAAW,SACX,CAACA,EAAM,YAAY,GAAG,IAAI,CAAC,EAAG,CAAE,WAAY,EAAA,EAC5C,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,QAAS,uBACT,WAAY,EAAA,CAEhB,EAAE,EAEIC,EAAqBH,EAAOC,CAAG,EAAE,CACrC,SAAU,WACV,OAAQ,EACR,MAAO,OACP,QAAS,OACT,cAAe,SACf,WAAY,SACZ,eAAgB,QAClB,CAAC,EAEKG,EAAaJ,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC7C,MAAO,OACP,SAAU,IACV,QAAS,OACT,cAAe,SACf,WAAY,SACZ,IAAK,GACL,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,SAAU,MAAA,CAEd,EAAE,EAEIG,EAAyBL,EAAOC,CAAG,EAAE,CACzC,SAAU,QACV,OAAQ,EACR,KAAM,EACN,MAAO,EACP,QAAS,sBACT,WAAY,uDACZ,UAAW,qCACX,OAAQ,GACV,CAAC,ECxCKK,EAAc,CAAC,CAAE,KAAAC,KAA6B,CAClD,MAAMC,EAAgBC,EAAA,EAChBC,EAAWC,EAAA,EACXC,EAAcL,IAAS,QACvBM,EAAUC,EAAO,UAAU,GAAK,2BAChCC,EAAYD,EAAO,YAAY,GAAK,mCAE1C,cACGf,EAAA,CACC,SAAA,CAAAiB,EAAAA,IAACC,EAAA,CAAmB,QAAQ,OAAA,CAAQ,EACpCD,EAAAA,IAACb,EAAA,CACC,SAAAe,EAAAA,KAACd,EAAA,CACC,SAAA,CAAAY,EAAAA,IAACG,GAAW,QAAQ,KAAK,GAAG,OACzB,SAAAX,EAAc,mCAAmC,EACpD,EACAQ,EAAAA,IAACG,EAAA,CAAW,QAAQ,KAAK,GAAG,OACzB,SAAWX,EAAXE,EAAyB,6CAA8D,qCAAlB,CAAuD,CAC/H,EACC,CAACA,GACAM,EAAAA,IAACI,EAAA,CAAa,SAAS,MAAM,KAAK,QAAQ,UAAS,GAChD,SAAAZ,EAAc,4CAA4C,CAAA,CAC7D,EAEDI,SACES,EAAA,CAAO,QAAQ,YAAY,MAAM,YAAY,KAAMN,EAAW,KAAK,QAAQ,UAAS,GAAC,GAAI,CAAE,MAAO,WAChG,SAAAP,EAAc,kDAAkD,CAAA,CACnE,CAAA,CAAA,CAEJ,CAAA,CACF,EACCE,SACEL,EAAA,CACC,SAAAW,EAAAA,IAACK,GAAO,QAAQ,YAAY,MAAM,UAAU,KAAMR,EAAS,KAAK,QAAQ,UAAS,GAAC,UAAWG,EAAAA,IAACM,IAAS,EACpG,SAAAd,EAAc,4CAA4C,CAAA,CAC7D,CAAA,CACF,CAAA,EAEJ,CAEJ","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import{s as e,a as s,w as l,y as m,j as n}from"./index-D9krZGYy.js";import{r}from"./vendor-router-D7SOoytt.js";import"./vendor-ua-D7qqAxdq.js";import{C as $}from"./CircleAndArrow-El01hGIC.js";import"./vendor-crypto-CXsBIwXr.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-DCdewyWN.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:`
1
+ import{s as e,a as s,w as l,y as m,j as n}from"./index-BWvXRlTE.js";import{r}from"./vendor-router-D7SOoytt.js";import"./vendor-ua-D7qqAxdq.js";import{C as $}from"./CircleAndArrow-O8sN3E_v.js";import"./vendor-crypto-CXsBIwXr.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-DCdewyWN.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,
@@ -1 +1 @@
1
- {"version":3,"file":"InviteFaqs-D5mF7omx.js","sources":["../../src/components/Invite/InviteFaqs/InviteFaqs.styled.ts","../../src/components/Invite/InviteFaqs/InviteFaqs.tsx"],"sourcesContent":["import { Box, Typography, styled } from 'decentraland-ui2'\n\nconst FaqsSection = styled('section')(({ theme }) => ({\n width: '100%',\n position: 'relative',\n margin: 'auto',\n color: theme.palette.text.primary,\n padding: `${theme.spacing(25)} ${theme.spacing(20)}`,\n [theme.breakpoints.down('sm')]: {\n padding: `${theme.spacing(6)} ${theme.spacing(4)} ${theme.spacing(40)}`\n }\n}))\n\nconst FaqsInnerBorder = styled(Box)(({ theme }) => ({\n background: `\n linear-gradient(to right, ${theme.palette.text.primary} 4px, transparent 4px) 0 0,\n linear-gradient(to right, ${theme.palette.text.primary} 4px, transparent 4px) 0 100%,\n linear-gradient(to left, ${theme.palette.text.primary} 4px, transparent 4px) 100% 0,\n linear-gradient(to left, ${theme.palette.text.primary} 4px, transparent 4px) 100% 100%,\n linear-gradient(to bottom, ${theme.palette.text.primary} 4px, transparent 4px) 0 0,\n linear-gradient(to bottom, ${theme.palette.text.primary} 4px, transparent 4px) 100% 0,\n linear-gradient(to top, ${theme.palette.text.primary} 4px, transparent 4px) 0 100%,\n linear-gradient(to top, ${theme.palette.text.primary} 4px, transparent 4px) 100% 100%\n `,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '20px 20px',\n [theme.breakpoints.down('sm')]: {\n background: `\n linear-gradient(to right, ${theme.palette.text.primary} 2px, transparent 2px) 0 0,\n linear-gradient(to right, ${theme.palette.text.primary} 2px, transparent 2px) 0 100%,\n linear-gradient(to left, ${theme.palette.text.primary} 2px, transparent 2px) 100% 0,\n linear-gradient(to left, ${theme.palette.text.primary} 2px, transparent 2px) 100% 100%,\n linear-gradient(to bottom, ${theme.palette.text.primary} 2px, transparent 2px) 0 0,\n linear-gradient(to bottom, ${theme.palette.text.primary} 2px, transparent 2px) 100% 0,\n linear-gradient(to top, ${theme.palette.text.primary} 2px, transparent 2px) 0 100%,\n linear-gradient(to top, ${theme.palette.text.primary} 2px, transparent 2px) 100% 100%\n `,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '10px 10px'\n }\n}))\n\nconst FaqsContainer = styled(Box)(({ theme }) => ({\n margin: 'auto',\n width: '100%',\n maxWidth: '1000px',\n padding: `${theme.spacing(9)} 0 ${theme.spacing(25)}`,\n display: 'flex',\n flexDirection: 'column',\n [theme.breakpoints.down('sm')]: {\n padding: `${theme.spacing(16)} 0 ${theme.spacing(18)}`\n }\n}))\n\nconst FaqsSubtitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: theme.typography.body2.fontSize,\n lineHeight: '19px',\n fontWeight: 600,\n color: theme.palette.text.secondary,\n textTransform: 'uppercase',\n padding: 0,\n margin: 0\n}))\n\nconst FaqsTitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: 'clamp(2.25rem, 15.789vw - 6.632rem, 6rem)',\n lineHeight: 'clamp(2.7rem, 21.474vw - 9.379rem, 7.8rem)',\n fontWeight: 700,\n letterSpacing: '-0.01em',\n paddingBottom: '0.5em',\n [theme.breakpoints.down('sm')]: {\n fontWeight: 700,\n fontSize: '36px',\n lineHeight: '36px',\n textAlign: 'center',\n letterSpacing: '-0.01em'\n }\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst FaqAccordionItem = styled(Box, {\n shouldForwardProp: prop => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ theme }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: '56px',\n padding: `${theme.spacing(3.5)} ${theme.spacing(5)} ${theme.spacing(3.5)} ${theme.spacing(14)}`,\n position: 'relative',\n overflow: 'hidden',\n zIndex: 1,\n backgroundColor: theme.palette.background.default,\n marginBottom: theme.spacing(5),\n cursor: 'pointer',\n outline: 'none',\n '&::after': {\n width: '100%',\n height: '100%',\n content: '\" \"',\n position: 'absolute',\n top: 0,\n left: 0,\n background: 'linear-gradient(90deg, #43404a 0%, #691fa9 100%), #242129',\n zIndex: -1,\n opacity: 0,\n transition: 'opacity 1200ms cubic-bezier(0.16, 1, 0.3, 1)'\n },\n '&:hover::after': {\n opacity: 1\n },\n '&:active::after': {\n opacity: 1\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2\n },\n '& svg.open, & svg.close': {\n width: '57px',\n height: '57px',\n minWidth: '57px',\n minHeight: '57px',\n transition: 'transform 350ms cubic-bezier(0.16, 1, 0.3, 1)'\n },\n '& svg.open': {\n transform: 'rotate(180deg)'\n },\n [theme.breakpoints.down('xs')]: {\n padding: `${theme.spacing(5)} ${theme.spacing(5)} ${theme.spacing(5)} ${theme.spacing(9)}`,\n marginBottom: theme.spacing(2.5),\n borderRadius: '50px',\n '& svg.close, & svg.open': {\n width: '48px',\n height: '48px',\n minWidth: '48px',\n minHeight: '48px'\n }\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst FaqQuestionRow = styled(Box)({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n})\n\nconst FaqQuestionText = styled(Typography)(({ theme }) => ({\n fontStyle: 'normal',\n fontWeight: 300,\n fontSize: '28px',\n lineHeight: '28px',\n letterSpacing: '-0.011em',\n color: theme.palette.text.secondary,\n margin: 0,\n [theme.breakpoints.down('sm')]: {\n fontWeight: 300,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '28px',\n letterSpacing: '-0.01em'\n }\n}))\n\nconst FaqAnswerContainer = styled(Box, {\n shouldForwardProp: prop => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ isOpen }) => ({\n display: 'grid',\n gridTemplateRows: isOpen ? '1fr' : '0fr',\n opacity: isOpen ? 1 : 0,\n pointerEvents: isOpen ? 'auto' : 'none',\n transition: 'grid-template-rows 350ms cubic-bezier(0.16, 1, 0.3, 1), opacity 350ms cubic-bezier(0.16, 1, 0.3, 1)'\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst FaqAnswerText = styled(Typography)(({ theme }) => ({\n overflow: 'hidden',\n padding: '1em 0 2em',\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '165%',\n whiteSpace: 'pre-line',\n color: theme.palette.text.primary,\n [theme.breakpoints.down('xs')]: {\n fontWeight: 400,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '24px'\n }\n}))\n\nconst FaqsCta = styled('a')(({ theme }) => ({\n marginTop: theme.spacing(5),\n width: 'fit-content',\n alignSelf: 'center',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: `${theme.spacing(3)} ${theme.spacing(8)}`,\n borderRadius: theme.shape.borderRadius,\n border: `1px solid ${theme.palette.text.primary}`,\n color: theme.palette.text.primary,\n textDecoration: 'none',\n fontSize: '15px',\n fontWeight: 600,\n cursor: 'pointer',\n transition: 'background-color 200ms ease',\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n },\n '&:active': {\n backgroundColor: theme.palette.action.selected\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2\n },\n [theme.breakpoints.down('xs')]: {\n width: '100%'\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport {\n FaqAccordionItem,\n FaqAnswerContainer,\n FaqAnswerText,\n FaqQuestionRow,\n FaqQuestionText,\n FaqsContainer,\n FaqsCta,\n FaqsInnerBorder,\n FaqsSection,\n FaqsSubtitle,\n FaqsTitle\n}\n","import { type KeyboardEvent, memo, useCallback, useMemo, useRef, useState } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { CircleAndArrow } from '../../Icon/CircleAndArrow'\nimport {\n FaqAccordionItem,\n FaqAnswerContainer,\n FaqAnswerText,\n FaqQuestionRow,\n FaqQuestionText,\n FaqsContainer,\n FaqsCta,\n FaqsInnerBorder,\n FaqsSection,\n FaqsSubtitle,\n FaqsTitle\n} from './InviteFaqs.styled'\n\ntype FaqAccordionProps = {\n title: string\n children: React.ReactNode\n index: number\n expanded: number | false\n setExpanded: (value: number | false) => void\n}\n\nconst FaqAccordion = memo((props: FaqAccordionProps) => {\n const { title, children, index, expanded, setExpanded } = props\n const isOpen = index === expanded\n const contentRef = useRef<HTMLDivElement>(null)\n const questionId = `faq-question-${index}`\n const answerId = `faq-answer-${index}`\n\n const handleToggle = useCallback(() => {\n setExpanded(isOpen ? false : index)\n }, [isOpen, index, setExpanded])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleToggle()\n }\n },\n [handleToggle]\n )\n\n return (\n <FaqAccordionItem\n isOpen={isOpen}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n role=\"button\"\n aria-expanded={isOpen}\n aria-controls={answerId}\n tabIndex={0}\n >\n <FaqQuestionRow>\n <FaqQuestionText id={questionId}>{title}</FaqQuestionText>\n <CircleAndArrow isOpen={isOpen} aria-hidden=\"true\" />\n </FaqQuestionRow>\n <FaqAnswerContainer ref={contentRef} id={answerId} role=\"region\" aria-labelledby={questionId} aria-hidden={!isOpen} isOpen={isOpen}>\n <FaqAnswerText>{children}</FaqAnswerText>\n </FaqAnswerContainer>\n </FaqAccordionItem>\n )\n})\n\nconst InviteFaqs = memo(() => {\n const { t } = useTranslation()\n const [expanded, setExpanded] = useState<number | false>(false)\n\n const faqs = useMemo(() => {\n const count = parseInt(t('page_invite.faq.item_count'), 10)\n return Array.from({ length: count }, (_, i) => ({\n question: t(`page_invite.faq.item_${i}_question`),\n answer: t(`page_invite.faq.item_${i}_answer`)\n }))\n }, [t])\n\n return (\n <FaqsSection aria-label=\"Frequently Asked Questions\">\n <FaqsInnerBorder>\n <FaqsContainer>\n <FaqsSubtitle>{t('component.landing.faqs.subtitle')}</FaqsSubtitle>\n <FaqsTitle {...({ component: 'h2' } as Record<string, unknown>)}>{t('component.landing.faqs.title')}</FaqsTitle>\n {faqs.map((faq, index) => (\n <FaqAccordion key={index} title={faq.question} index={index} expanded={expanded} setExpanded={setExpanded}>\n {faq.answer}\n </FaqAccordion>\n ))}\n <FaqsCta href={t('component.landing.faqs.cta.link')}>{t('component.landing.faqs.cta.label')}</FaqsCta>\n </FaqsContainer>\n </FaqsInnerBorder>\n </FaqsSection>\n )\n})\n\nexport { InviteFaqs }\n"],"names":["FaqsSection","styled","theme","FaqsInnerBorder","Box","FaqsContainer","FaqsSubtitle","Typography","FaqsTitle","FaqAccordionItem","prop","FaqQuestionRow","FaqQuestionText","FaqAnswerContainer","isOpen","FaqAnswerText","FaqsCta","FaqAccordion","memo","props","title","children","index","expanded","setExpanded","contentRef","useRef","questionId","answerId","handleToggle","useCallback","handleKeyDown","event","jsxs","jsx","CircleAndArrow","InviteFaqs","useTranslation","useState","faqs","useMemo","count","_","i","faq"],"mappings":"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"}
1
+ {"version":3,"file":"InviteFaqs-GNUarAeA.js","sources":["../../src/components/Invite/InviteFaqs/InviteFaqs.styled.ts","../../src/components/Invite/InviteFaqs/InviteFaqs.tsx"],"sourcesContent":["import { Box, Typography, styled } from 'decentraland-ui2'\n\nconst FaqsSection = styled('section')(({ theme }) => ({\n width: '100%',\n position: 'relative',\n margin: 'auto',\n color: theme.palette.text.primary,\n padding: `${theme.spacing(25)} ${theme.spacing(20)}`,\n [theme.breakpoints.down('sm')]: {\n padding: `${theme.spacing(6)} ${theme.spacing(4)} ${theme.spacing(40)}`\n }\n}))\n\nconst FaqsInnerBorder = styled(Box)(({ theme }) => ({\n background: `\n linear-gradient(to right, ${theme.palette.text.primary} 4px, transparent 4px) 0 0,\n linear-gradient(to right, ${theme.palette.text.primary} 4px, transparent 4px) 0 100%,\n linear-gradient(to left, ${theme.palette.text.primary} 4px, transparent 4px) 100% 0,\n linear-gradient(to left, ${theme.palette.text.primary} 4px, transparent 4px) 100% 100%,\n linear-gradient(to bottom, ${theme.palette.text.primary} 4px, transparent 4px) 0 0,\n linear-gradient(to bottom, ${theme.palette.text.primary} 4px, transparent 4px) 100% 0,\n linear-gradient(to top, ${theme.palette.text.primary} 4px, transparent 4px) 0 100%,\n linear-gradient(to top, ${theme.palette.text.primary} 4px, transparent 4px) 100% 100%\n `,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '20px 20px',\n [theme.breakpoints.down('sm')]: {\n background: `\n linear-gradient(to right, ${theme.palette.text.primary} 2px, transparent 2px) 0 0,\n linear-gradient(to right, ${theme.palette.text.primary} 2px, transparent 2px) 0 100%,\n linear-gradient(to left, ${theme.palette.text.primary} 2px, transparent 2px) 100% 0,\n linear-gradient(to left, ${theme.palette.text.primary} 2px, transparent 2px) 100% 100%,\n linear-gradient(to bottom, ${theme.palette.text.primary} 2px, transparent 2px) 0 0,\n linear-gradient(to bottom, ${theme.palette.text.primary} 2px, transparent 2px) 100% 0,\n linear-gradient(to top, ${theme.palette.text.primary} 2px, transparent 2px) 0 100%,\n linear-gradient(to top, ${theme.palette.text.primary} 2px, transparent 2px) 100% 100%\n `,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '10px 10px'\n }\n}))\n\nconst FaqsContainer = styled(Box)(({ theme }) => ({\n margin: 'auto',\n width: '100%',\n maxWidth: '1000px',\n padding: `${theme.spacing(9)} 0 ${theme.spacing(25)}`,\n display: 'flex',\n flexDirection: 'column',\n [theme.breakpoints.down('sm')]: {\n padding: `${theme.spacing(16)} 0 ${theme.spacing(18)}`\n }\n}))\n\nconst FaqsSubtitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: theme.typography.body2.fontSize,\n lineHeight: '19px',\n fontWeight: 600,\n color: theme.palette.text.secondary,\n textTransform: 'uppercase',\n padding: 0,\n margin: 0\n}))\n\nconst FaqsTitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: 'clamp(2.25rem, 15.789vw - 6.632rem, 6rem)',\n lineHeight: 'clamp(2.7rem, 21.474vw - 9.379rem, 7.8rem)',\n fontWeight: 700,\n letterSpacing: '-0.01em',\n paddingBottom: '0.5em',\n [theme.breakpoints.down('sm')]: {\n fontWeight: 700,\n fontSize: '36px',\n lineHeight: '36px',\n textAlign: 'center',\n letterSpacing: '-0.01em'\n }\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst FaqAccordionItem = styled(Box, {\n shouldForwardProp: prop => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ theme }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: '56px',\n padding: `${theme.spacing(3.5)} ${theme.spacing(5)} ${theme.spacing(3.5)} ${theme.spacing(14)}`,\n position: 'relative',\n overflow: 'hidden',\n zIndex: 1,\n backgroundColor: theme.palette.background.default,\n marginBottom: theme.spacing(5),\n cursor: 'pointer',\n outline: 'none',\n '&::after': {\n width: '100%',\n height: '100%',\n content: '\" \"',\n position: 'absolute',\n top: 0,\n left: 0,\n background: 'linear-gradient(90deg, #43404a 0%, #691fa9 100%), #242129',\n zIndex: -1,\n opacity: 0,\n transition: 'opacity 1200ms cubic-bezier(0.16, 1, 0.3, 1)'\n },\n '&:hover::after': {\n opacity: 1\n },\n '&:active::after': {\n opacity: 1\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2\n },\n '& svg.open, & svg.close': {\n width: '57px',\n height: '57px',\n minWidth: '57px',\n minHeight: '57px',\n transition: 'transform 350ms cubic-bezier(0.16, 1, 0.3, 1)'\n },\n '& svg.open': {\n transform: 'rotate(180deg)'\n },\n [theme.breakpoints.down('xs')]: {\n padding: `${theme.spacing(5)} ${theme.spacing(5)} ${theme.spacing(5)} ${theme.spacing(9)}`,\n marginBottom: theme.spacing(2.5),\n borderRadius: '50px',\n '& svg.close, & svg.open': {\n width: '48px',\n height: '48px',\n minWidth: '48px',\n minHeight: '48px'\n }\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst FaqQuestionRow = styled(Box)({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n})\n\nconst FaqQuestionText = styled(Typography)(({ theme }) => ({\n fontStyle: 'normal',\n fontWeight: 300,\n fontSize: '28px',\n lineHeight: '28px',\n letterSpacing: '-0.011em',\n color: theme.palette.text.secondary,\n margin: 0,\n [theme.breakpoints.down('sm')]: {\n fontWeight: 300,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '28px',\n letterSpacing: '-0.01em'\n }\n}))\n\nconst FaqAnswerContainer = styled(Box, {\n shouldForwardProp: prop => prop !== 'isOpen'\n})<{ isOpen: boolean }>(({ isOpen }) => ({\n display: 'grid',\n gridTemplateRows: isOpen ? '1fr' : '0fr',\n opacity: isOpen ? 1 : 0,\n pointerEvents: isOpen ? 'auto' : 'none',\n transition: 'grid-template-rows 350ms cubic-bezier(0.16, 1, 0.3, 1), opacity 350ms cubic-bezier(0.16, 1, 0.3, 1)'\n}))\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst FaqAnswerText = styled(Typography)(({ theme }) => ({\n overflow: 'hidden',\n padding: '1em 0 2em',\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '165%',\n whiteSpace: 'pre-line',\n color: theme.palette.text.primary,\n [theme.breakpoints.down('xs')]: {\n fontWeight: 400,\n fontSize: theme.typography.body1.fontSize,\n lineHeight: '24px'\n }\n}))\n\nconst FaqsCta = styled('a')(({ theme }) => ({\n marginTop: theme.spacing(5),\n width: 'fit-content',\n alignSelf: 'center',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: `${theme.spacing(3)} ${theme.spacing(8)}`,\n borderRadius: theme.shape.borderRadius,\n border: `1px solid ${theme.palette.text.primary}`,\n color: theme.palette.text.primary,\n textDecoration: 'none',\n fontSize: '15px',\n fontWeight: 600,\n cursor: 'pointer',\n transition: 'background-color 200ms ease',\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n },\n '&:active': {\n backgroundColor: theme.palette.action.selected\n },\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2\n },\n [theme.breakpoints.down('xs')]: {\n width: '100%'\n }\n}))\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport {\n FaqAccordionItem,\n FaqAnswerContainer,\n FaqAnswerText,\n FaqQuestionRow,\n FaqQuestionText,\n FaqsContainer,\n FaqsCta,\n FaqsInnerBorder,\n FaqsSection,\n FaqsSubtitle,\n FaqsTitle\n}\n","import { type KeyboardEvent, memo, useCallback, useMemo, useRef, useState } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { CircleAndArrow } from '../../Icon/CircleAndArrow'\nimport {\n FaqAccordionItem,\n FaqAnswerContainer,\n FaqAnswerText,\n FaqQuestionRow,\n FaqQuestionText,\n FaqsContainer,\n FaqsCta,\n FaqsInnerBorder,\n FaqsSection,\n FaqsSubtitle,\n FaqsTitle\n} from './InviteFaqs.styled'\n\ntype FaqAccordionProps = {\n title: string\n children: React.ReactNode\n index: number\n expanded: number | false\n setExpanded: (value: number | false) => void\n}\n\nconst FaqAccordion = memo((props: FaqAccordionProps) => {\n const { title, children, index, expanded, setExpanded } = props\n const isOpen = index === expanded\n const contentRef = useRef<HTMLDivElement>(null)\n const questionId = `faq-question-${index}`\n const answerId = `faq-answer-${index}`\n\n const handleToggle = useCallback(() => {\n setExpanded(isOpen ? false : index)\n }, [isOpen, index, setExpanded])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleToggle()\n }\n },\n [handleToggle]\n )\n\n return (\n <FaqAccordionItem\n isOpen={isOpen}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n role=\"button\"\n aria-expanded={isOpen}\n aria-controls={answerId}\n tabIndex={0}\n >\n <FaqQuestionRow>\n <FaqQuestionText id={questionId}>{title}</FaqQuestionText>\n <CircleAndArrow isOpen={isOpen} aria-hidden=\"true\" />\n </FaqQuestionRow>\n <FaqAnswerContainer ref={contentRef} id={answerId} role=\"region\" aria-labelledby={questionId} aria-hidden={!isOpen} isOpen={isOpen}>\n <FaqAnswerText>{children}</FaqAnswerText>\n </FaqAnswerContainer>\n </FaqAccordionItem>\n )\n})\n\nconst InviteFaqs = memo(() => {\n const { t } = useTranslation()\n const [expanded, setExpanded] = useState<number | false>(false)\n\n const faqs = useMemo(() => {\n const count = parseInt(t('page_invite.faq.item_count'), 10)\n return Array.from({ length: count }, (_, i) => ({\n question: t(`page_invite.faq.item_${i}_question`),\n answer: t(`page_invite.faq.item_${i}_answer`)\n }))\n }, [t])\n\n return (\n <FaqsSection aria-label=\"Frequently Asked Questions\">\n <FaqsInnerBorder>\n <FaqsContainer>\n <FaqsSubtitle>{t('component.landing.faqs.subtitle')}</FaqsSubtitle>\n <FaqsTitle {...({ component: 'h2' } as Record<string, unknown>)}>{t('component.landing.faqs.title')}</FaqsTitle>\n {faqs.map((faq, index) => (\n <FaqAccordion key={index} title={faq.question} index={index} expanded={expanded} setExpanded={setExpanded}>\n {faq.answer}\n </FaqAccordion>\n ))}\n <FaqsCta href={t('component.landing.faqs.cta.link')}>{t('component.landing.faqs.cta.label')}</FaqsCta>\n </FaqsContainer>\n </FaqsInnerBorder>\n </FaqsSection>\n )\n})\n\nexport { InviteFaqs }\n"],"names":["FaqsSection","styled","theme","FaqsInnerBorder","Box","FaqsContainer","FaqsSubtitle","Typography","FaqsTitle","FaqAccordionItem","prop","FaqQuestionRow","FaqQuestionText","FaqAnswerContainer","isOpen","FaqAnswerText","FaqsCta","FaqAccordion","memo","props","title","children","index","expanded","setExpanded","contentRef","useRef","questionId","answerId","handleToggle","useCallback","handleKeyDown","event","jsxs","jsx","CircleAndArrow","InviteFaqs","useTranslation","useState","faqs","useMemo","count","_","i","faq"],"mappings":"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"}