@dcl/landing-site 0.5.1-24671743849.commit-e464803 → 0.5.1-24676306976.commit-32f8f97

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 (180) hide show
  1. package/assets/{AnimatedBackground-B-L76Zza.js → AnimatedBackground-dcjrq3Hb.js} +2 -2
  2. package/assets/{AnimatedBackground-B-L76Zza.js.map → AnimatedBackground-dcjrq3Hb.js.map} +1 -1
  3. package/assets/{AnimatedSection-C7y4e9MO.js → AnimatedSection-DcOoZ95V.js} +1 -1
  4. package/assets/{AnimatedSection-C7y4e9MO.js.map → AnimatedSection-DcOoZ95V.js.map} +1 -1
  5. package/assets/{ArrowBackIosNew-m07XLZJ3.js → ArrowBackIosNew-Dn-9PDt-.js} +1 -1
  6. package/assets/{ArrowBackIosNew-m07XLZJ3.js.map → ArrowBackIosNew-Dn-9PDt-.js.map} +1 -1
  7. package/assets/{AuthorPage-HEjEdZnQ.js → AuthorPage-f97GOPMA.js} +1 -1
  8. package/assets/{AuthorPage-HEjEdZnQ.js.map → AuthorPage-f97GOPMA.js.map} +1 -1
  9. package/assets/{Badges-C3LP2L14.js → Badges-BpJgPUyV.js} +1 -1
  10. package/assets/{Badges-C3LP2L14.js.map → Badges-BpJgPUyV.js.map} +1 -1
  11. package/assets/{BlogLayout-DOXQWe4b.js → BlogLayout-fQyF80O7.js} +1 -1
  12. package/assets/{BlogLayout-DOXQWe4b.js.map → BlogLayout-fQyF80O7.js.map} +1 -1
  13. package/assets/{BlogPage-BYou2PX1.js → BlogPage-D-7bU7Ll.js} +1 -1
  14. package/assets/{BlogPage-BYou2PX1.js.map → BlogPage-D-7bU7Ll.js.map} +1 -1
  15. package/assets/{CTAButton-DIvER7jP.js → CTAButton-BrHntZLo.js} +1 -1
  16. package/assets/{CTAButton-DIvER7jP.js.map → CTAButton-BrHntZLo.js.map} +1 -1
  17. package/assets/{CardContent-CTD4H4a5.js → CardContent-BIfXh0wk.js} +1 -1
  18. package/assets/{CardContent-CTD4H4a5.js.map → CardContent-BIfXh0wk.js.map} +1 -1
  19. package/assets/{CardMedia-DkSJQ0Yc.js → CardMedia-BH9g0LEk.js} +1 -1
  20. package/assets/{CardMedia-DkSJQ0Yc.js.map → CardMedia-BH9g0LEk.js.map} +1 -1
  21. package/assets/{Carousel-Bz36sWAV.js → Carousel-DvX_HfdZ.js} +1 -1
  22. package/assets/{Carousel-Bz36sWAV.js.map → Carousel-DvX_HfdZ.js.map} +1 -1
  23. package/assets/{CategoryPage-5N-S_EtG.js → CategoryPage-CH1WRgbC.js} +1 -1
  24. package/assets/{CategoryPage-5N-S_EtG.js.map → CategoryPage-CH1WRgbC.js.map} +1 -1
  25. package/assets/{CircleAndArrow-DDOq4aRv.js → CircleAndArrow-5tP5OYot.js} +1 -1
  26. package/assets/{CircleAndArrow-DDOq4aRv.js.map → CircleAndArrow-5tP5OYot.js.map} +1 -1
  27. package/assets/{CircularProgress-DMJbftwB.js → CircularProgress-Bi5r1ZmM.js} +1 -1
  28. package/assets/{CircularProgress-DMJbftwB.js.map → CircularProgress-Bi5r1ZmM.js.map} +1 -1
  29. package/assets/{ContentCopy-Die7TKLF.js → ContentCopy-oX-8qyhW.js} +1 -1
  30. package/assets/{ContentCopy-Die7TKLF.js.map → ContentCopy-oX-8qyhW.js.map} +1 -1
  31. package/assets/{CreateEventPage-DB5tddNm.js → CreateEventPage-nDxfw2qB.js} +1 -1
  32. package/assets/{CreateEventPage-DB5tddNm.js.map → CreateEventPage-nDxfw2qB.js.map} +1 -1
  33. package/assets/{CreatorHubDownload-DVIZjVQI.js → CreatorHubDownload-LwI4JZRK.js} +1 -1
  34. package/assets/{CreatorHubDownload-DVIZjVQI.js.map → CreatorHubDownload-LwI4JZRK.js.map} +1 -1
  35. package/assets/{CreatorHubDownloadSuccess-D0krvgHC.js → CreatorHubDownloadSuccess-mbihmO3P.js} +1 -1
  36. package/assets/{CreatorHubDownloadSuccess-D0krvgHC.js.map → CreatorHubDownloadSuccess-mbihmO3P.js.map} +1 -1
  37. package/assets/{DappsShell-DXZfdOqe.js → DappsShell-D7P6uq6M.js} +1 -1
  38. package/assets/{DappsShell-DXZfdOqe.js.map → DappsShell-D7P6uq6M.js.map} +1 -1
  39. package/assets/{DownloadSuccessLayout-B5KxILAh.js → DownloadSuccessLayout-BzbsrQCo.js} +1 -1
  40. package/assets/{DownloadSuccessLayout-B5KxILAh.js.map → DownloadSuccessLayout-BzbsrQCo.js.map} +1 -1
  41. package/assets/{Grow-BbhVo4-Q.js → Grow-DI7E9jMT.js} +1 -1
  42. package/assets/{Grow-BbhVo4-Q.js.map → Grow-DI7E9jMT.js.map} +1 -1
  43. package/assets/{HomePage-CSW35au2.js → HomePage-CIPkOlhD.js} +2 -2
  44. package/assets/{HomePage-CSW35au2.js.map → HomePage-CIPkOlhD.js.map} +1 -1
  45. package/assets/{InviteFaqs-BZEDqRWz.js → InviteFaqs-BX1-mTcI.js} +1 -1
  46. package/assets/{InviteFaqs-BZEDqRWz.js.map → InviteFaqs-BX1-mTcI.js.map} +1 -1
  47. package/assets/{InvitePage-CNSVnM5F.js → InvitePage-DzjBtcFR.js} +2 -2
  48. package/assets/{InvitePage-CNSVnM5F.js.map → InvitePage-DzjBtcFR.js.map} +1 -1
  49. package/assets/{JumpInIcon-DsVzhXWI.js → JumpInIcon-XhbTBoY-.js} +1 -1
  50. package/assets/{JumpInIcon-DsVzhXWI.js.map → JumpInIcon-XhbTBoY-.js.map} +1 -1
  51. package/assets/{LegalPageLayout-BGd6IPpz.js → LegalPageLayout-PNgx2stH.js} +1 -1
  52. package/assets/{LegalPageLayout-BGd6IPpz.js.map → LegalPageLayout-PNgx2stH.js.map} +1 -1
  53. package/assets/{Link-C-K90yR0.js → Link-BXRsbP2-.js} +1 -1
  54. package/assets/{Link-C-K90yR0.js.map → Link-BXRsbP2-.js.map} +1 -1
  55. package/assets/{MenuItem-DJBLDqfL.js → MenuItem-Clk60JBW.js} +1 -1
  56. package/assets/{MenuItem-DJBLDqfL.js.map → MenuItem-Clk60JBW.js.map} +1 -1
  57. package/assets/{Paper-BcsxEQWA.js → Paper-ECb0Xsu2.js} +1 -1
  58. package/assets/{Paper-BcsxEQWA.js.map → Paper-ECb0Xsu2.js.map} +1 -1
  59. package/assets/{PostCard-CalYnkvr.js → PostCard-f81875cD.js} +1 -1
  60. package/assets/{PostCard-CalYnkvr.js.map → PostCard-f81875cD.js.map} +1 -1
  61. package/assets/{PostPage-DYDVBmyR.js → PostPage-Cs4pLVTx.js} +1 -1
  62. package/assets/{PostPage-DYDVBmyR.js.map → PostPage-Cs4pLVTx.js.map} +1 -1
  63. package/assets/{PostPage.styled-B-fdiFDU.js → PostPage.styled-VLSekVON.js} +3 -3
  64. package/assets/{PostPage.styled-B-fdiFDU.js.map → PostPage.styled-VLSekVON.js.map} +1 -1
  65. package/assets/{PreviewPage-BE7HyZTt.js → PreviewPage-cynFTjak.js} +1 -1
  66. package/assets/{PreviewPage-BE7HyZTt.js.map → PreviewPage-cynFTjak.js.map} +1 -1
  67. package/assets/{SEO-P8y8JbS9.js → SEO-YDqyOXs4.js} +1 -1
  68. package/assets/{SEO-P8y8JbS9.js.map → SEO-YDqyOXs4.js.map} +1 -1
  69. package/assets/{SearchPage-BraoruXd.js → SearchPage-DVmJu_R7.js} +1 -1
  70. package/assets/{SearchPage-BraoruXd.js.map → SearchPage-DVmJu_R7.js.map} +1 -1
  71. package/assets/{SignInRedirect-COcA7WhX.js → SignInRedirect-CBRz5buy.js} +1 -1
  72. package/assets/{SignInRedirect-COcA7WhX.js.map → SignInRedirect-CBRz5buy.js.map} +1 -1
  73. package/assets/{SignInRedirect-CS5Xkoa_.js → SignInRedirect-D4M7f1v0.js} +1 -1
  74. package/assets/{SignInRedirect-CS5Xkoa_.js.map → SignInRedirect-D4M7f1v0.js.map} +1 -1
  75. package/assets/{Skeleton-o93N4ZZz.js → Skeleton-DqCnSDlA.js} +1 -1
  76. package/assets/{Skeleton-o93N4ZZz.js.map → Skeleton-DqCnSDlA.js.map} +1 -1
  77. package/assets/{TwitterEmbed-C3w4WnFA.js → TwitterEmbed-CeWfRgEL.js} +1 -1
  78. package/assets/{TwitterEmbed-C3w4WnFA.js.map → TwitterEmbed-CeWfRgEL.js.map} +1 -1
  79. package/assets/{Video-DF4ljNzn.js → Video-CuR4cgxQ.js} +1 -1
  80. package/assets/{Video-DF4ljNzn.js.map → Video-CuR4cgxQ.js.map} +1 -1
  81. package/assets/{WearablePreview-5JNPj6PX.js → WearablePreview-BeBKKCQq.js} +1 -1
  82. package/assets/{WearablePreview-5JNPj6PX.js.map → WearablePreview-BeBKKCQq.js.map} +1 -1
  83. package/assets/{auto-track-UkqTRxye.js → auto-track-BrVpOTAy.js} +1 -1
  84. package/assets/{auto-track-UkqTRxye.js.map → auto-track-BrVpOTAy.js.map} +1 -1
  85. package/assets/{ccip-cqtPy8Xz.js → ccip-bYpzfsa2.js} +1 -1
  86. package/assets/{ccip-cqtPy8Xz.js.map → ccip-bYpzfsa2.js.map} +1 -1
  87. package/assets/{createSvgIcon-DH_tCoWL.js → createSvgIcon-MBeMKPZF.js} +1 -1
  88. package/assets/{createSvgIcon-DH_tCoWL.js.map → createSvgIcon-MBeMKPZF.js.map} +1 -1
  89. package/assets/{download-DQLaB97z.js → download-rD4GIwoM.js} +2 -2
  90. package/assets/{download-DQLaB97z.js.map → download-rD4GIwoM.js.map} +1 -1
  91. package/assets/{downloadWithIdentity-dAd_6Xjv.js → downloadWithIdentity-BJa06ukv.js} +1 -1
  92. package/assets/{downloadWithIdentity-dAd_6Xjv.js.map → downloadWithIdentity-BJa06ukv.js.map} +1 -1
  93. package/assets/{events.client-DDwZtrCh.js → events.client-BFY0iJFt.js} +1 -1
  94. package/assets/{events.client-DDwZtrCh.js.map → events.client-BFY0iJFt.js.map} +1 -1
  95. package/assets/{index-bKbknVRg.js → index-45xDJN7P.js} +1 -1
  96. package/assets/{index-bKbknVRg.js.map → index-45xDJN7P.js.map} +1 -1
  97. package/assets/{index-D1lz72ps.js → index-B0nEp5pe.js} +1 -1
  98. package/assets/{index-D1lz72ps.js.map → index-B0nEp5pe.js.map} +1 -1
  99. package/assets/{index-DsiqoitH.js → index-B87wYcCv.js} +1 -1
  100. package/assets/{index-DsiqoitH.js.map → index-B87wYcCv.js.map} +1 -1
  101. package/assets/{index-BpUUMJJL.js → index-B8Zt542v.js} +2 -2
  102. package/assets/{index-BpUUMJJL.js.map → index-B8Zt542v.js.map} +1 -1
  103. package/assets/{index-ppzLK-bi.js → index-BMdtB9Qi.js} +1 -1
  104. package/assets/{index-ppzLK-bi.js.map → index-BMdtB9Qi.js.map} +1 -1
  105. package/assets/index-BRS077OT.js +1 -0
  106. package/assets/{index-DqPgEQko.js.map → index-BRS077OT.js.map} +1 -1
  107. package/assets/{index-BxxIREHz.js → index-B_5wi7CL.js} +4 -4
  108. package/assets/{index-BxxIREHz.js.map → index-B_5wi7CL.js.map} +1 -1
  109. package/assets/{index-CYTF85t8.js → index-Bh2xF13d.js} +1 -1
  110. package/assets/{index-CYTF85t8.js.map → index-Bh2xF13d.js.map} +1 -1
  111. package/assets/{index-CM-Dg90Z.js → index-Bi70CJ5H.js} +1 -1
  112. package/assets/{index-CM-Dg90Z.js.map → index-Bi70CJ5H.js.map} +1 -1
  113. package/assets/{index-ezM_J58e.js → index-BmfSApNy.js} +1 -1
  114. package/assets/{index-ezM_J58e.js.map → index-BmfSApNy.js.map} +1 -1
  115. package/assets/{index-C2gGmY4r.js → index-BrHnK0XL.js} +1 -1
  116. package/assets/{index-C2gGmY4r.js.map → index-BrHnK0XL.js.map} +1 -1
  117. package/assets/{index-B4ReIH01.js → index-C59PJ30r.js} +1 -1
  118. package/assets/{index-B4ReIH01.js.map → index-C59PJ30r.js.map} +1 -1
  119. package/assets/{index-qFakdhOO.js → index-C8J0j1MA.js} +1 -1
  120. package/assets/{index-qFakdhOO.js.map → index-C8J0j1MA.js.map} +1 -1
  121. package/assets/{index-DRcrw7Py.js → index-CVkIGuJf.js} +1 -1
  122. package/assets/{index-DRcrw7Py.js.map → index-CVkIGuJf.js.map} +1 -1
  123. package/assets/{index-DaRevScO.js → index-Cjx-6-Fc.js} +37 -37
  124. package/assets/index-Cjx-6-Fc.js.map +1 -0
  125. package/assets/{index-CZS6DsWa.js → index-CucSFK-C.js} +1 -1
  126. package/assets/{index-CZS6DsWa.js.map → index-CucSFK-C.js.map} +1 -1
  127. package/assets/{index-71royYUE.js → index-CvqSSkkA.js} +1 -1
  128. package/assets/{index-71royYUE.js.map → index-CvqSSkkA.js.map} +1 -1
  129. package/assets/{index-Dfjt7DKD.js → index-D-pfpn_u.js} +1 -1
  130. package/assets/{index-Dfjt7DKD.js.map → index-D-pfpn_u.js.map} +1 -1
  131. package/assets/{index-BsykSOSe.js → index-D66EdcHn.js} +1 -1
  132. package/assets/{index-BsykSOSe.js.map → index-D66EdcHn.js.map} +1 -1
  133. package/assets/{index-Bi1_667A.js → index-D8eIOYu-.js} +1 -1
  134. package/assets/{index-Bi1_667A.js.map → index-D8eIOYu-.js.map} +1 -1
  135. package/assets/{index-D7GZzk0M.js → index-DA6agk-w.js} +1 -1
  136. package/assets/{index-D7GZzk0M.js.map → index-DA6agk-w.js.map} +1 -1
  137. package/assets/{index-C_C2-CZT.js → index-DKVTiJAQ.js} +1 -1
  138. package/assets/{index-C_C2-CZT.js.map → index-DKVTiJAQ.js.map} +1 -1
  139. package/assets/{index-DNCSZ9Ly.js → index-DO6Sw93x.js} +1 -1
  140. package/assets/{index-DNCSZ9Ly.js.map → index-DO6Sw93x.js.map} +1 -1
  141. package/assets/{index-BqghIvCc.js → index-DTGLVE4U.js} +3 -3
  142. package/assets/{index-BqghIvCc.js.map → index-DTGLVE4U.js.map} +1 -1
  143. package/assets/{index-n-p43kD4.js → index-DlTsCRKG.js} +1 -1
  144. package/assets/{index-n-p43kD4.js.map → index-DlTsCRKG.js.map} +1 -1
  145. package/assets/{index-Oqf5zL8M.js → index-DvZ_ojLV.js} +1 -1
  146. package/assets/{index-Oqf5zL8M.js.map → index-DvZ_ojLV.js.map} +1 -1
  147. package/assets/{index-LYkhcWuH.js → index-DzuMEVEG.js} +1 -1
  148. package/assets/{index-LYkhcWuH.js.map → index-DzuMEVEG.js.map} +1 -1
  149. package/assets/{index-BQaEVpup.js → index-Ehyw5K2U.js} +1 -1
  150. package/assets/{index-BQaEVpup.js.map → index-Ehyw5K2U.js.map} +1 -1
  151. package/assets/{index-wq0aztJv.js → index-HwZ6yI5O.js} +1 -1
  152. package/assets/{index-wq0aztJv.js.map → index-HwZ6yI5O.js.map} +1 -1
  153. package/assets/{index-Bo0hqmw3.js → index-JMsb3O6_.js} +1 -1
  154. package/assets/{index-Bo0hqmw3.js.map → index-JMsb3O6_.js.map} +1 -1
  155. package/assets/{index-pvI36Hvg.js → index-LdEjKMJm.js} +1 -1
  156. package/assets/{index-pvI36Hvg.js.map → index-LdEjKMJm.js.map} +1 -1
  157. package/assets/{index-mXhpN3cS.js → index-ixBvnV4g.js} +1 -1
  158. package/assets/{index-mXhpN3cS.js.map → index-ixBvnV4g.js.map} +1 -1
  159. package/assets/{profile.client-CCf--pbP.js → profile.client-BWiq_PR5.js} +1 -1
  160. package/assets/{profile.client-CCf--pbP.js.map → profile.client-BWiq_PR5.js.map} +1 -1
  161. package/assets/{shared.styled-Csb0ydX4.js → shared.styled-0h-n1b2G.js} +1 -1
  162. package/assets/{shared.styled-Csb0ydX4.js.map → shared.styled-0h-n1b2G.js.map} +1 -1
  163. package/assets/{store-CbX2mp3S.js → store-CvBDcx_Y.js} +1 -1
  164. package/assets/{store-CbX2mp3S.js.map → store-CvBDcx_Y.js.map} +1 -1
  165. package/assets/{url-DMbF6Zco.js → url-N3MWyY77.js} +1 -1
  166. package/assets/{url-DMbF6Zco.js.map → url-N3MWyY77.js.map} +1 -1
  167. package/assets/{useAuthIdentity-CIDWXFI8.js → useAuthIdentity-BqEUIFS1.js} +1 -1
  168. package/assets/{useAuthIdentity-CIDWXFI8.js.map → useAuthIdentity-BqEUIFS1.js.map} +1 -1
  169. package/assets/{useCreatorHubDownload-CQ5sircD.js → useCreatorHubDownload-DKX_IEAb.js} +1 -1
  170. package/assets/{useCreatorHubDownload-CQ5sircD.js.map → useCreatorHubDownload-DKX_IEAb.js.map} +1 -1
  171. package/assets/{useInfiniteBlogPosts-DspRbflz.js → useInfiniteBlogPosts-NFRpaD6I.js} +1 -1
  172. package/assets/{useInfiniteBlogPosts-DspRbflz.js.map → useInfiniteBlogPosts-NFRpaD6I.js.map} +1 -1
  173. package/assets/{useSlot-BerGUD87.js → useSlot-BHWpNc8A.js} +1 -1
  174. package/assets/{useSlot-BerGUD87.js.map → useSlot-BHWpNc8A.js.map} +1 -1
  175. package/assets/{utils-CYqFUJMv.js → utils-BrNrgyfy.js} +1 -1
  176. package/assets/{utils-CYqFUJMv.js.map → utils-BrNrgyfy.js.map} +1 -1
  177. package/index.html +15 -15
  178. package/package.json +3 -3
  179. package/assets/index-DaRevScO.js.map +0 -1
  180. package/assets/index-DqPgEQko.js +0 -1
@@ -1 +1 @@
1
- import{s as t,a as g,v as G,z as H,w as z,M as B,N,p as T,Z as R,$ as U,a0 as $,q as D,t as y,O as i,j as o,P as s,V as F,a1 as V,a2 as b,a3 as X,a4 as C,a5 as q,a6 as k,a7 as K,U as Q,a8 as Y,a9 as Z,aa as _}from"./index-DaRevScO.js";import{r as p}from"./vendor-router-D_36sTKu.js";import{A as J}from"./AnimatedBackground-B-L76Zza.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const oo=t(g)(({theme:e})=>({position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",width:"100%",height:800,overflow:"hidden",[e.breakpoints.down("sm")]:{height:480}})),eo=t("img")(({theme:e})=>({position:"absolute",top:"calc(35% - 20px)",left:"50%",transform:"translateX(-50%)",width:"auto",pointerEvents:"none",[e.breakpoints.down("sm")]:{position:"absolute",top:"auto",bottom:-50,left:"50%",transform:"translateX(-50%)",width:"auto",height:"65%",minWidth:"auto",maxWidth:"none"}})),no=t(g)(({theme:e})=>({position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",gap:e.spacing(3),padding:e.spacing(10,8),[e.breakpoints.down("sm")]:{width:"100%",maxWidth:393,padding:e.spacing(6,2),gap:e.spacing(2)}})),to=t(G)(({theme:e})=>({color:H.white,fontWeight:600,fontSize:48,textAlign:"center",letterSpacing:-.5,[e.breakpoints.down("sm")]:{fontSize:32}})),ao=t(g)({display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",justifyContent:"center",position:"relative",zIndex:1}),so=t("span")({display:"flex",alignItems:"center",gap:12,color:"#fff",fontSize:16,fontWeight:400,lineHeight:1.5,whiteSpace:"nowrap",minWidth:210}),lo=t("span")({width:1,height:20,backgroundColor:"rgba(255, 255, 255, 0.3)"}),io=t("span")(({theme:e})=>({display:"flex",gap:8,alignItems:"center","& a":{display:"flex",lineHeight:0},[e.breakpoints.down("sm")]:{"& a":{pointerEvents:"none",color:"inherit",textDecoration:"none"}}})),r=t("img")({width:24,height:24,filter:"brightness(0) invert(1)"});t("img")({width:32,height:32,filter:"brightness(0) invert(1)"});let v=null;const ro=p.memo(()=>{const e=z(),h=B(),{isDownloadModalOpen:O,closeDownloadModal:S,downloadModalProps:A,totalDownloads:I}=N(),[,n]=T(),[m,w]=R(async()=>U.get().getTotalDownloads(),[]),d=!w.loading&&w.loaded&&m?m:null;d&&(v=_(d));const f=$(d),M=f?_(f):v??"+400K",l=n?.os.name,u=!!n?.mobile,W=u&&l==="Android",[x,c]=p.useState(null),E=()=>W?o.jsx(b,{href:X,target:"_blank",rel:"noopener noreferrer",children:o.jsx(C,{src:q,alt:"Get it on Google Play"})}):o.jsx(b,{href:k.appStore,target:"_blank",rel:"noopener noreferrer",children:o.jsx(C,{src:s("/download-on-the-app-store.svg"),alt:"Download on the App Store"})}),L=p.useCallback(a=>{h(a),n&&(window.location.href=`/download_success?os=${n.os.name}`)},[h,n]),j=n?{[i.WINDOWS]:y,[i.MACOS]:D}[n.os.name]:null,P=()=>o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",gap:24,justifyContent:"center"},children:[o.jsxs(K,{href:n?`/download_success?os=${n.os.name}`:"/download","data-place":Q.LANDING_HERO,"data-event":"click",onClick:L,children:[e("page.download.download_for_short"),j?o.jsx("img",{src:j,alt:n?.os.name??"",width:32,height:32,style:{filter:"brightness(0) invert(1)"}}):o.jsx("span",{style:{display:"block",width:32,height:32,flexShrink:0}})]}),o.jsxs(Y,{href:k.epic,target:"_blank",rel:"noopener noreferrer",children:[e("page.download.download_on"),o.jsx("img",{src:s("/epic_icon.svg"),alt:"Epic Games",width:32,height:32,style:{filter:"brightness(0)"}})]})]}),o.jsxs(ao,{children:[o.jsxs(so,{children:[o.jsx(Z,{})," ",e("page.download.total_downloads",{downloads:M})]}),o.jsx(lo,{}),o.jsxs(io,{children:[l===i.MACOS&&o.jsx("a",{href:"/download_success?os=Windows",children:o.jsx(r,{src:y,alt:"Windows"})}),l===i.WINDOWS&&o.jsx("a",{href:"/download_success?os=macOS",children:o.jsx(r,{src:D,alt:"macOS"})}),!l&&o.jsx("span",{style:{display:"inline-block",width:24,height:24}}),o.jsx("a",{href:"#",onClick:a=>{a.preventDefault(),c("ios")},children:o.jsx(r,{src:s("/ios-logo.svg"),alt:"iOS"})}),o.jsx("a",{href:"#",onClick:a=>{a.preventDefault(),c("android")},children:o.jsx(r,{src:s("/google_play_icon.svg"),alt:"Android"})})]})]})]});return o.jsxs(oo,{children:[o.jsx(J,{variant:"absolute"}),o.jsxs(no,{children:[o.jsx(to,{variant:"h2",children:e("page.home.come_hang_out.title")}),u?E():P()]}),o.jsx(eo,{src:s("/come_hang_out_background.webp"),alt:"","aria-hidden":!0,width:1920,height:840,loading:"lazy"}),o.jsx(F,{open:O,onClose:S,...A}),x&&o.jsx(V,{open:!0,onClose:()=>c(null),os:x,i18n:{totalDownloads:`Total Downloads: ${I}`}})]})});ro.displayName="ComeHangOut";export{ro as ComeHangOut};
1
+ import{s as t,a as g,v as G,z as H,w as z,M as B,N,p as T,Z as R,$ as U,a0 as $,q as D,t as y,O as i,j as o,P as s,V as F,a1 as V,a2 as b,a3 as X,a4 as C,a5 as q,a6 as k,a7 as K,U as Q,a8 as Y,a9 as Z,aa as _}from"./index-Cjx-6-Fc.js";import{r as p}from"./vendor-router-D_36sTKu.js";import{A as J}from"./AnimatedBackground-dcjrq3Hb.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const oo=t(g)(({theme:e})=>({position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",width:"100%",height:800,overflow:"hidden",[e.breakpoints.down("sm")]:{height:480}})),eo=t("img")(({theme:e})=>({position:"absolute",top:"calc(35% - 20px)",left:"50%",transform:"translateX(-50%)",width:"auto",pointerEvents:"none",[e.breakpoints.down("sm")]:{position:"absolute",top:"auto",bottom:-50,left:"50%",transform:"translateX(-50%)",width:"auto",height:"65%",minWidth:"auto",maxWidth:"none"}})),no=t(g)(({theme:e})=>({position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",gap:e.spacing(3),padding:e.spacing(10,8),[e.breakpoints.down("sm")]:{width:"100%",maxWidth:393,padding:e.spacing(6,2),gap:e.spacing(2)}})),to=t(G)(({theme:e})=>({color:H.white,fontWeight:600,fontSize:48,textAlign:"center",letterSpacing:-.5,[e.breakpoints.down("sm")]:{fontSize:32}})),ao=t(g)({display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",justifyContent:"center",position:"relative",zIndex:1}),so=t("span")({display:"flex",alignItems:"center",gap:12,color:"#fff",fontSize:16,fontWeight:400,lineHeight:1.5,whiteSpace:"nowrap",minWidth:210}),lo=t("span")({width:1,height:20,backgroundColor:"rgba(255, 255, 255, 0.3)"}),io=t("span")(({theme:e})=>({display:"flex",gap:8,alignItems:"center","& a":{display:"flex",lineHeight:0},[e.breakpoints.down("sm")]:{"& a":{pointerEvents:"none",color:"inherit",textDecoration:"none"}}})),r=t("img")({width:24,height:24,filter:"brightness(0) invert(1)"});t("img")({width:32,height:32,filter:"brightness(0) invert(1)"});let v=null;const ro=p.memo(()=>{const e=z(),h=B(),{isDownloadModalOpen:O,closeDownloadModal:S,downloadModalProps:A,totalDownloads:I}=N(),[,n]=T(),[m,w]=R(async()=>U.get().getTotalDownloads(),[]),d=!w.loading&&w.loaded&&m?m:null;d&&(v=_(d));const f=$(d),M=f?_(f):v??"+400K",l=n?.os.name,u=!!n?.mobile,W=u&&l==="Android",[x,c]=p.useState(null),E=()=>W?o.jsx(b,{href:X,target:"_blank",rel:"noopener noreferrer",children:o.jsx(C,{src:q,alt:"Get it on Google Play"})}):o.jsx(b,{href:k.appStore,target:"_blank",rel:"noopener noreferrer",children:o.jsx(C,{src:s("/download-on-the-app-store.svg"),alt:"Download on the App Store"})}),L=p.useCallback(a=>{h(a),n&&(window.location.href=`/download_success?os=${n.os.name}`)},[h,n]),j=n?{[i.WINDOWS]:y,[i.MACOS]:D}[n.os.name]:null,P=()=>o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",gap:24,justifyContent:"center"},children:[o.jsxs(K,{href:n?`/download_success?os=${n.os.name}`:"/download","data-place":Q.LANDING_HERO,"data-event":"click",onClick:L,children:[e("page.download.download_for_short"),j?o.jsx("img",{src:j,alt:n?.os.name??"",width:32,height:32,style:{filter:"brightness(0) invert(1)"}}):o.jsx("span",{style:{display:"block",width:32,height:32,flexShrink:0}})]}),o.jsxs(Y,{href:k.epic,target:"_blank",rel:"noopener noreferrer",children:[e("page.download.download_on"),o.jsx("img",{src:s("/epic_icon.svg"),alt:"Epic Games",width:32,height:32,style:{filter:"brightness(0)"}})]})]}),o.jsxs(ao,{children:[o.jsxs(so,{children:[o.jsx(Z,{})," ",e("page.download.total_downloads",{downloads:M})]}),o.jsx(lo,{}),o.jsxs(io,{children:[l===i.MACOS&&o.jsx("a",{href:"/download_success?os=Windows",children:o.jsx(r,{src:y,alt:"Windows"})}),l===i.WINDOWS&&o.jsx("a",{href:"/download_success?os=macOS",children:o.jsx(r,{src:D,alt:"macOS"})}),!l&&o.jsx("span",{style:{display:"inline-block",width:24,height:24}}),o.jsx("a",{href:"#",onClick:a=>{a.preventDefault(),c("ios")},children:o.jsx(r,{src:s("/ios-logo.svg"),alt:"iOS"})}),o.jsx("a",{href:"#",onClick:a=>{a.preventDefault(),c("android")},children:o.jsx(r,{src:s("/google_play_icon.svg"),alt:"Android"})})]})]})]});return o.jsxs(oo,{children:[o.jsx(J,{variant:"absolute"}),o.jsxs(no,{children:[o.jsx(to,{variant:"h2",children:e("page.home.come_hang_out.title")}),u?E():P()]}),o.jsx(eo,{src:s("/come_hang_out_background.webp"),alt:"","aria-hidden":!0,width:1920,height:840,loading:"lazy"}),o.jsx(F,{open:O,onClose:S,...A}),x&&o.jsx(V,{open:!0,onClose:()=>c(null),os:x,i18n:{totalDownloads:`Total Downloads: ${I}`}})]})});ro.displayName="ComeHangOut";export{ro as ComeHangOut};
@@ -1 +1 @@
1
- {"version":3,"file":"index-CZS6DsWa.js","sources":["../../src/components/Home/ComeHangOut/ComeHangOut.styled.ts","../../src/components/Home/ComeHangOut/ComeHangOut.tsx"],"sourcesContent":["import { Box, Typography, dclColors, styled } from 'decentraland-ui2'\n\nconst ComeHangOutContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n height: 800,\n overflow: 'hidden',\n [theme.breakpoints.down('sm')]: {\n height: 480\n }\n}))\n\nconst AvatarsImage = styled('img')(({ theme }) => ({\n position: 'absolute',\n top: 'calc(35% - 20px)',\n left: '50%',\n transform: 'translateX(-50%)',\n width: 'auto',\n pointerEvents: 'none',\n [theme.breakpoints.down('sm')]: {\n position: 'absolute',\n top: 'auto',\n bottom: -50,\n left: '50%',\n transform: 'translateX(-50%)',\n width: 'auto',\n height: '65%',\n minWidth: 'auto',\n maxWidth: 'none'\n }\n}))\n\nconst Content = styled(Box)(({ theme }) => ({\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(3),\n padding: theme.spacing(10, 8),\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n maxWidth: 393,\n padding: theme.spacing(6, 2),\n gap: theme.spacing(2)\n }\n}))\n\nconst Title = styled(Typography)(({ theme }) => ({\n color: dclColors.neutral.white,\n fontWeight: 600,\n fontSize: 48,\n textAlign: 'center',\n letterSpacing: -0.5,\n [theme.breakpoints.down('sm')]: {\n fontSize: 32\n }\n}))\n\nconst DownloadInfo = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n flexWrap: 'wrap',\n justifyContent: 'center',\n position: 'relative',\n zIndex: 1\n})\n\nconst DownloadCounts = styled('span')({\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n color: '#fff',\n fontSize: 16,\n fontWeight: 400,\n lineHeight: 1.5,\n whiteSpace: 'nowrap',\n minWidth: 210\n})\n\nconst DownloadSeparator = styled('span')({\n width: 1,\n height: 20,\n backgroundColor: 'rgba(255, 255, 255, 0.3)'\n})\n\nconst PlatformIcons = styled('span')(({ theme }) => ({\n display: 'flex',\n gap: 8,\n alignItems: 'center',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n display: 'flex',\n lineHeight: 0\n },\n [theme.breakpoints.down('sm')]: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n pointerEvents: 'none',\n color: 'inherit',\n textDecoration: 'none'\n }\n }\n}))\n\nconst PlatformIcon = styled('img')({\n width: 24,\n height: 24,\n filter: 'brightness(0) invert(1)'\n})\n\nconst OsIcon = styled('img')({\n width: 32,\n height: 32,\n filter: 'brightness(0) invert(1)'\n})\n\nexport {\n AvatarsImage,\n ComeHangOutContainer,\n Content,\n DownloadCounts,\n DownloadInfo,\n DownloadSeparator,\n OsIcon,\n PlatformIcon,\n PlatformIcons,\n Title\n}\nexport { HangOutButton } from '../shared/HangOutButton.styled'\nexport {\n ComingSoonIcon,\n ComingSoonRow,\n ComingSoonText,\n GooglePlayButton,\n GooglePlayImage,\n MobileSubtitle,\n SendLinkButton\n} from '../shared/MobileCTA.styled'\n","import { memo, useCallback, useState } from 'react'\nimport { useAdvancedUserAgentData, useAsyncMemo } from '@dcl/hooks'\nimport { AnimatedBackground, DownloadModal, DownloadQRModal } from 'decentraland-ui2'\nimport { useFormatMessage } from '../../../hooks/adapters/useFormatMessage'\nimport { useTrackClick } from '../../../hooks/adapters/useTrackLinkContext'\nimport { useAnimatedCounter } from '../../../hooks/useAnimatedCounter'\nimport { useHangOutAction } from '../../../hooks/useHangOutAction'\nimport appleLogo from '../../../images/apple-logo.svg'\nimport microsoftLogo from '../../../images/microsoft-logo.svg'\nimport { DOWNLOAD_URLS } from '../../../modules/downloadConstants'\nimport { ExplorerDownloads } from '../../../modules/explorerDownloads'\nimport { formatToShorthand } from '../../../modules/number'\nimport { SectionViewedTrack } from '../../../modules/segment'\nimport { OperativeSystem } from '../../../types/download.types'\nimport { assetUrl } from '../../../utils/assetUrl'\nimport { VerifiedIcon } from '../../Icon/VerifiedIcon'\nimport { DownloadButton, EpicButton } from '../Hero/Hero.styled'\nimport { GOOGLE_PLAY_MOBILE_URL, googlePlayBadge } from '../shared/googlePlay'\nimport {\n AvatarsImage,\n ComeHangOutContainer,\n Content,\n DownloadCounts,\n DownloadInfo,\n DownloadSeparator,\n GooglePlayButton,\n GooglePlayImage,\n PlatformIcon,\n PlatformIcons,\n Title\n} from './ComeHangOut.styled'\n\nlet cachedDownloadCounts: string | null = null\n\nconst ComeHangOut = memo(() => {\n const l = useFormatMessage()\n const onClickHandle = useTrackClick()\n const { isDownloadModalOpen, closeDownloadModal, downloadModalProps, totalDownloads } = useHangOutAction()\n const [, userAgentData] = useAdvancedUserAgentData()\n const [rawDownloads, rawDownloadsStatus] = useAsyncMemo(async () => ExplorerDownloads.get().getTotalDownloads(), [])\n\n const targetDownloads = !rawDownloadsStatus.loading && rawDownloadsStatus.loaded && rawDownloads ? rawDownloads : null\n if (targetDownloads) cachedDownloadCounts = formatToShorthand(targetDownloads)\n const animatedDownloads = useAnimatedCounter(targetDownloads)\n const downloadCountsFormatted = animatedDownloads ? formatToShorthand(animatedDownloads) : cachedDownloadCounts ?? '+400K'\n\n const currentOs = userAgentData?.os.name\n const isMobile = !!userAgentData?.mobile\n const isMobileAndroid = isMobile && currentOs === 'Android'\n\n // Mobile download modal for platform icon clicks\n const [mobileModalOs, setMobileModalOs] = useState<'ios' | 'android' | null>(null)\n\n const renderMobileContent = () => {\n if (isMobileAndroid) {\n return (\n <GooglePlayButton href={GOOGLE_PLAY_MOBILE_URL} target=\"_blank\" rel=\"noopener noreferrer\">\n <GooglePlayImage src={googlePlayBadge} alt=\"Get it on Google Play\" />\n </GooglePlayButton>\n )\n }\n\n return (\n <GooglePlayButton href={DOWNLOAD_URLS.appStore} target=\"_blank\" rel=\"noopener noreferrer\">\n <GooglePlayImage src={assetUrl('/download-on-the-app-store.svg')} alt=\"Download on the App Store\" />\n </GooglePlayButton>\n )\n }\n\n const handleDownloadClick = useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n onClickHandle(e)\n if (userAgentData) {\n window.location.href = `/download_success?os=${userAgentData.os.name}`\n }\n },\n [onClickHandle, userAgentData]\n )\n\n const osImage = userAgentData\n ? { [OperativeSystem.WINDOWS]: microsoftLogo, [OperativeSystem.MACOS]: appleLogo }[userAgentData.os.name]\n : null\n\n const renderDesktopContent = () => (\n <>\n <div style={{ display: 'flex', gap: 24, justifyContent: 'center' }}>\n <DownloadButton\n href={userAgentData ? `/download_success?os=${userAgentData.os.name}` : '/download'}\n data-place={SectionViewedTrack.LANDING_HERO}\n data-event=\"click\"\n onClick={handleDownloadClick}\n >\n {l('page.download.download_for_short')}\n {osImage ? (\n <img src={osImage} alt={userAgentData?.os.name ?? ''} width={32} height={32} style={{ filter: 'brightness(0) invert(1)' }} />\n ) : (\n <span style={{ display: 'block', width: 32, height: 32, flexShrink: 0 }} />\n )}\n </DownloadButton>\n <EpicButton href={DOWNLOAD_URLS.epic} target=\"_blank\" rel=\"noopener noreferrer\">\n {l('page.download.download_on')}\n <img src={assetUrl('/epic_icon.svg')} alt=\"Epic Games\" width={32} height={32} style={{ filter: 'brightness(0)' }} />\n </EpicButton>\n </div>\n <DownloadInfo>\n <DownloadCounts>\n <VerifiedIcon /> {l('page.download.total_downloads', { downloads: downloadCountsFormatted })}\n </DownloadCounts>\n <DownloadSeparator />\n <PlatformIcons>\n {currentOs === OperativeSystem.MACOS && (\n <a href=\"/download_success?os=Windows\">\n <PlatformIcon src={microsoftLogo} alt=\"Windows\" />\n </a>\n )}\n {currentOs === OperativeSystem.WINDOWS && (\n <a href=\"/download_success?os=macOS\">\n <PlatformIcon src={appleLogo} alt=\"macOS\" />\n </a>\n )}\n {!currentOs && <span style={{ display: 'inline-block', width: 24, height: 24 }} />}\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault()\n setMobileModalOs('ios')\n }}\n >\n <PlatformIcon src={assetUrl('/ios-logo.svg')} alt=\"iOS\" />\n </a>\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault()\n setMobileModalOs('android')\n }}\n >\n <PlatformIcon src={assetUrl('/google_play_icon.svg')} alt=\"Android\" />\n </a>\n </PlatformIcons>\n </DownloadInfo>\n </>\n )\n\n return (\n <ComeHangOutContainer>\n <AnimatedBackground variant=\"absolute\" />\n <Content>\n <Title variant=\"h2\">{l('page.home.come_hang_out.title')}</Title>\n {isMobile ? renderMobileContent() : renderDesktopContent()}\n </Content>\n <AvatarsImage src={assetUrl('/come_hang_out_background.webp')} alt=\"\" aria-hidden width={1920} height={840} loading=\"lazy\" />\n <DownloadModal open={isDownloadModalOpen} onClose={closeDownloadModal} {...downloadModalProps} />\n {mobileModalOs && (\n <DownloadQRModal\n open\n onClose={() => setMobileModalOs(null)}\n os={mobileModalOs}\n i18n={{ totalDownloads: `Total Downloads: ${totalDownloads}` }}\n />\n )}\n </ComeHangOutContainer>\n )\n})\n\nComeHangOut.displayName = 'ComeHangOut'\n\nexport { ComeHangOut }\n"],"names":["ComeHangOutContainer","styled","Box","theme","AvatarsImage","Content","Title","Typography","dclColors.neutral","DownloadInfo","DownloadCounts","DownloadSeparator","PlatformIcons","PlatformIcon","cachedDownloadCounts","ComeHangOut","memo","l","useFormatMessage","onClickHandle","useTrackClick","isDownloadModalOpen","closeDownloadModal","downloadModalProps","totalDownloads","useHangOutAction","userAgentData","useAdvancedUserAgentData","rawDownloads","rawDownloadsStatus","useAsyncMemo","ExplorerDownloads","targetDownloads","formatToShorthand","animatedDownloads","useAnimatedCounter","downloadCountsFormatted","currentOs","isMobile","isMobileAndroid","mobileModalOs","setMobileModalOs","useState","renderMobileContent","jsx","GooglePlayButton","GOOGLE_PLAY_MOBILE_URL","GooglePlayImage","googlePlayBadge","DOWNLOAD_URLS","assetUrl","handleDownloadClick","useCallback","e","osImage","OperativeSystem","microsoftLogo","appleLogo","renderDesktopContent","jsxs","Fragment","DownloadButton","SectionViewedTrack","EpicButton","VerifiedIcon","AnimatedBackground","DownloadModal","DownloadQRModal"],"mappings":"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"}
1
+ {"version":3,"file":"index-CucSFK-C.js","sources":["../../src/components/Home/ComeHangOut/ComeHangOut.styled.ts","../../src/components/Home/ComeHangOut/ComeHangOut.tsx"],"sourcesContent":["import { Box, Typography, dclColors, styled } from 'decentraland-ui2'\n\nconst ComeHangOutContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n height: 800,\n overflow: 'hidden',\n [theme.breakpoints.down('sm')]: {\n height: 480\n }\n}))\n\nconst AvatarsImage = styled('img')(({ theme }) => ({\n position: 'absolute',\n top: 'calc(35% - 20px)',\n left: '50%',\n transform: 'translateX(-50%)',\n width: 'auto',\n pointerEvents: 'none',\n [theme.breakpoints.down('sm')]: {\n position: 'absolute',\n top: 'auto',\n bottom: -50,\n left: '50%',\n transform: 'translateX(-50%)',\n width: 'auto',\n height: '65%',\n minWidth: 'auto',\n maxWidth: 'none'\n }\n}))\n\nconst Content = styled(Box)(({ theme }) => ({\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(3),\n padding: theme.spacing(10, 8),\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n maxWidth: 393,\n padding: theme.spacing(6, 2),\n gap: theme.spacing(2)\n }\n}))\n\nconst Title = styled(Typography)(({ theme }) => ({\n color: dclColors.neutral.white,\n fontWeight: 600,\n fontSize: 48,\n textAlign: 'center',\n letterSpacing: -0.5,\n [theme.breakpoints.down('sm')]: {\n fontSize: 32\n }\n}))\n\nconst DownloadInfo = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n flexWrap: 'wrap',\n justifyContent: 'center',\n position: 'relative',\n zIndex: 1\n})\n\nconst DownloadCounts = styled('span')({\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n color: '#fff',\n fontSize: 16,\n fontWeight: 400,\n lineHeight: 1.5,\n whiteSpace: 'nowrap',\n minWidth: 210\n})\n\nconst DownloadSeparator = styled('span')({\n width: 1,\n height: 20,\n backgroundColor: 'rgba(255, 255, 255, 0.3)'\n})\n\nconst PlatformIcons = styled('span')(({ theme }) => ({\n display: 'flex',\n gap: 8,\n alignItems: 'center',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n display: 'flex',\n lineHeight: 0\n },\n [theme.breakpoints.down('sm')]: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n pointerEvents: 'none',\n color: 'inherit',\n textDecoration: 'none'\n }\n }\n}))\n\nconst PlatformIcon = styled('img')({\n width: 24,\n height: 24,\n filter: 'brightness(0) invert(1)'\n})\n\nconst OsIcon = styled('img')({\n width: 32,\n height: 32,\n filter: 'brightness(0) invert(1)'\n})\n\nexport {\n AvatarsImage,\n ComeHangOutContainer,\n Content,\n DownloadCounts,\n DownloadInfo,\n DownloadSeparator,\n OsIcon,\n PlatformIcon,\n PlatformIcons,\n Title\n}\nexport { HangOutButton } from '../shared/HangOutButton.styled'\nexport {\n ComingSoonIcon,\n ComingSoonRow,\n ComingSoonText,\n GooglePlayButton,\n GooglePlayImage,\n MobileSubtitle,\n SendLinkButton\n} from '../shared/MobileCTA.styled'\n","import { memo, useCallback, useState } from 'react'\nimport { useAdvancedUserAgentData, useAsyncMemo } from '@dcl/hooks'\nimport { AnimatedBackground, DownloadModal, DownloadQRModal } from 'decentraland-ui2'\nimport { useFormatMessage } from '../../../hooks/adapters/useFormatMessage'\nimport { useTrackClick } from '../../../hooks/adapters/useTrackLinkContext'\nimport { useAnimatedCounter } from '../../../hooks/useAnimatedCounter'\nimport { useHangOutAction } from '../../../hooks/useHangOutAction'\nimport appleLogo from '../../../images/apple-logo.svg'\nimport microsoftLogo from '../../../images/microsoft-logo.svg'\nimport { DOWNLOAD_URLS } from '../../../modules/downloadConstants'\nimport { ExplorerDownloads } from '../../../modules/explorerDownloads'\nimport { formatToShorthand } from '../../../modules/number'\nimport { SectionViewedTrack } from '../../../modules/segment'\nimport { OperativeSystem } from '../../../types/download.types'\nimport { assetUrl } from '../../../utils/assetUrl'\nimport { VerifiedIcon } from '../../Icon/VerifiedIcon'\nimport { DownloadButton, EpicButton } from '../Hero/Hero.styled'\nimport { GOOGLE_PLAY_MOBILE_URL, googlePlayBadge } from '../shared/googlePlay'\nimport {\n AvatarsImage,\n ComeHangOutContainer,\n Content,\n DownloadCounts,\n DownloadInfo,\n DownloadSeparator,\n GooglePlayButton,\n GooglePlayImage,\n PlatformIcon,\n PlatformIcons,\n Title\n} from './ComeHangOut.styled'\n\nlet cachedDownloadCounts: string | null = null\n\nconst ComeHangOut = memo(() => {\n const l = useFormatMessage()\n const onClickHandle = useTrackClick()\n const { isDownloadModalOpen, closeDownloadModal, downloadModalProps, totalDownloads } = useHangOutAction()\n const [, userAgentData] = useAdvancedUserAgentData()\n const [rawDownloads, rawDownloadsStatus] = useAsyncMemo(async () => ExplorerDownloads.get().getTotalDownloads(), [])\n\n const targetDownloads = !rawDownloadsStatus.loading && rawDownloadsStatus.loaded && rawDownloads ? rawDownloads : null\n if (targetDownloads) cachedDownloadCounts = formatToShorthand(targetDownloads)\n const animatedDownloads = useAnimatedCounter(targetDownloads)\n const downloadCountsFormatted = animatedDownloads ? formatToShorthand(animatedDownloads) : cachedDownloadCounts ?? '+400K'\n\n const currentOs = userAgentData?.os.name\n const isMobile = !!userAgentData?.mobile\n const isMobileAndroid = isMobile && currentOs === 'Android'\n\n // Mobile download modal for platform icon clicks\n const [mobileModalOs, setMobileModalOs] = useState<'ios' | 'android' | null>(null)\n\n const renderMobileContent = () => {\n if (isMobileAndroid) {\n return (\n <GooglePlayButton href={GOOGLE_PLAY_MOBILE_URL} target=\"_blank\" rel=\"noopener noreferrer\">\n <GooglePlayImage src={googlePlayBadge} alt=\"Get it on Google Play\" />\n </GooglePlayButton>\n )\n }\n\n return (\n <GooglePlayButton href={DOWNLOAD_URLS.appStore} target=\"_blank\" rel=\"noopener noreferrer\">\n <GooglePlayImage src={assetUrl('/download-on-the-app-store.svg')} alt=\"Download on the App Store\" />\n </GooglePlayButton>\n )\n }\n\n const handleDownloadClick = useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n onClickHandle(e)\n if (userAgentData) {\n window.location.href = `/download_success?os=${userAgentData.os.name}`\n }\n },\n [onClickHandle, userAgentData]\n )\n\n const osImage = userAgentData\n ? { [OperativeSystem.WINDOWS]: microsoftLogo, [OperativeSystem.MACOS]: appleLogo }[userAgentData.os.name]\n : null\n\n const renderDesktopContent = () => (\n <>\n <div style={{ display: 'flex', gap: 24, justifyContent: 'center' }}>\n <DownloadButton\n href={userAgentData ? `/download_success?os=${userAgentData.os.name}` : '/download'}\n data-place={SectionViewedTrack.LANDING_HERO}\n data-event=\"click\"\n onClick={handleDownloadClick}\n >\n {l('page.download.download_for_short')}\n {osImage ? (\n <img src={osImage} alt={userAgentData?.os.name ?? ''} width={32} height={32} style={{ filter: 'brightness(0) invert(1)' }} />\n ) : (\n <span style={{ display: 'block', width: 32, height: 32, flexShrink: 0 }} />\n )}\n </DownloadButton>\n <EpicButton href={DOWNLOAD_URLS.epic} target=\"_blank\" rel=\"noopener noreferrer\">\n {l('page.download.download_on')}\n <img src={assetUrl('/epic_icon.svg')} alt=\"Epic Games\" width={32} height={32} style={{ filter: 'brightness(0)' }} />\n </EpicButton>\n </div>\n <DownloadInfo>\n <DownloadCounts>\n <VerifiedIcon /> {l('page.download.total_downloads', { downloads: downloadCountsFormatted })}\n </DownloadCounts>\n <DownloadSeparator />\n <PlatformIcons>\n {currentOs === OperativeSystem.MACOS && (\n <a href=\"/download_success?os=Windows\">\n <PlatformIcon src={microsoftLogo} alt=\"Windows\" />\n </a>\n )}\n {currentOs === OperativeSystem.WINDOWS && (\n <a href=\"/download_success?os=macOS\">\n <PlatformIcon src={appleLogo} alt=\"macOS\" />\n </a>\n )}\n {!currentOs && <span style={{ display: 'inline-block', width: 24, height: 24 }} />}\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault()\n setMobileModalOs('ios')\n }}\n >\n <PlatformIcon src={assetUrl('/ios-logo.svg')} alt=\"iOS\" />\n </a>\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault()\n setMobileModalOs('android')\n }}\n >\n <PlatformIcon src={assetUrl('/google_play_icon.svg')} alt=\"Android\" />\n </a>\n </PlatformIcons>\n </DownloadInfo>\n </>\n )\n\n return (\n <ComeHangOutContainer>\n <AnimatedBackground variant=\"absolute\" />\n <Content>\n <Title variant=\"h2\">{l('page.home.come_hang_out.title')}</Title>\n {isMobile ? renderMobileContent() : renderDesktopContent()}\n </Content>\n <AvatarsImage src={assetUrl('/come_hang_out_background.webp')} alt=\"\" aria-hidden width={1920} height={840} loading=\"lazy\" />\n <DownloadModal open={isDownloadModalOpen} onClose={closeDownloadModal} {...downloadModalProps} />\n {mobileModalOs && (\n <DownloadQRModal\n open\n onClose={() => setMobileModalOs(null)}\n os={mobileModalOs}\n i18n={{ totalDownloads: `Total Downloads: ${totalDownloads}` }}\n />\n )}\n </ComeHangOutContainer>\n )\n})\n\nComeHangOut.displayName = 'ComeHangOut'\n\nexport { ComeHangOut }\n"],"names":["ComeHangOutContainer","styled","Box","theme","AvatarsImage","Content","Title","Typography","dclColors.neutral","DownloadInfo","DownloadCounts","DownloadSeparator","PlatformIcons","PlatformIcon","cachedDownloadCounts","ComeHangOut","memo","l","useFormatMessage","onClickHandle","useTrackClick","isDownloadModalOpen","closeDownloadModal","downloadModalProps","totalDownloads","useHangOutAction","userAgentData","useAdvancedUserAgentData","rawDownloads","rawDownloadsStatus","useAsyncMemo","ExplorerDownloads","targetDownloads","formatToShorthand","animatedDownloads","useAnimatedCounter","downloadCountsFormatted","currentOs","isMobile","isMobileAndroid","mobileModalOs","setMobileModalOs","useState","renderMobileContent","jsx","GooglePlayButton","GOOGLE_PLAY_MOBILE_URL","GooglePlayImage","googlePlayBadge","DOWNLOAD_URLS","assetUrl","handleDownloadClick","useCallback","e","osImage","OperativeSystem","microsoftLogo","appleLogo","renderDesktopContent","jsxs","Fragment","DownloadButton","SectionViewedTrack","EpicButton","VerifiedIcon","AnimatedBackground","DownloadModal","DownloadQRModal"],"mappings":"+fAEA,MAAMA,GAAuBC,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CACvD,SAAU,WACV,QAAS,OACT,cAAe,SACf,WAAY,SACZ,eAAgB,aAChB,MAAO,OACP,OAAQ,IACR,SAAU,SACV,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,OAAQ,GAAA,CAEZ,EAAE,EAEIC,GAAeH,EAAO,KAAK,EAAE,CAAC,CAAE,MAAAE,MAAa,CACjD,SAAU,WACV,IAAK,mBACL,KAAM,MACN,UAAW,mBACX,MAAO,OACP,cAAe,OACf,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,SAAU,WACV,IAAK,OACL,OAAQ,IACR,KAAM,MACN,UAAW,mBACX,MAAO,OACP,OAAQ,MACR,SAAU,OACV,SAAU,MAAA,CAEd,EAAE,EAEIE,GAAUJ,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC1C,SAAU,WACV,OAAQ,EACR,QAAS,OACT,cAAe,SACf,WAAY,SACZ,IAAKA,EAAM,QAAQ,CAAC,EACpB,QAASA,EAAM,QAAQ,GAAI,CAAC,EAC5B,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,MAAO,OACP,SAAU,IACV,QAASA,EAAM,QAAQ,EAAG,CAAC,EAC3B,IAAKA,EAAM,QAAQ,CAAC,CAAA,CAExB,EAAE,EAEIG,GAAQL,EAAOM,CAAU,EAAE,CAAC,CAAE,MAAAJ,MAAa,CAC/C,MAAOK,EAAkB,MACzB,WAAY,IACZ,SAAU,GACV,UAAW,SACX,cAAe,IACf,CAACL,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,SAAU,EAAA,CAEd,EAAE,EAEIM,GAAeR,EAAOC,CAAG,EAAE,CAC/B,QAAS,OACT,WAAY,SACZ,IAAK,GACL,SAAU,OACV,eAAgB,SAChB,SAAU,WACV,OAAQ,CACV,CAAC,EAEKQ,GAAiBT,EAAO,MAAM,EAAE,CACpC,QAAS,OACT,WAAY,SACZ,IAAK,GACL,MAAO,OACP,SAAU,GACV,WAAY,IACZ,WAAY,IACZ,WAAY,SACZ,SAAU,GACZ,CAAC,EAEKU,GAAoBV,EAAO,MAAM,EAAE,CACvC,MAAO,EACP,OAAQ,GACR,gBAAiB,0BACnB,CAAC,EAEKW,GAAgBX,EAAO,MAAM,EAAE,CAAC,CAAE,MAAAE,MAAa,CACnD,QAAS,OACT,IAAK,EACL,WAAY,SAEZ,MAAO,CACL,QAAS,OACT,WAAY,CAAA,EAEd,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAE9B,MAAO,CACL,cAAe,OACf,MAAO,UACP,eAAgB,MAAA,CAClB,CAEJ,EAAE,EAEIU,EAAeZ,EAAO,KAAK,EAAE,CACjC,MAAO,GACP,OAAQ,GACR,OAAQ,yBACV,CAAC,EAEcA,EAAO,KAAK,EAAE,CAC3B,MAAO,GACP,OAAQ,GACR,OAAQ,yBACV,CAAC,ECxFD,IAAIa,EAAsC,KAE1C,MAAMC,GAAcC,EAAAA,KAAK,IAAM,CAC7B,MAAMC,EAAIC,EAAA,EACJC,EAAgBC,EAAA,EAChB,CAAE,oBAAAC,EAAqB,mBAAAC,EAAoB,mBAAAC,EAAoB,eAAAC,CAAA,EAAmBC,EAAA,EAClF,CAAA,CAAGC,CAAa,EAAIC,EAAA,EACpB,CAACC,EAAcC,CAAkB,EAAIC,EAAa,SAAYC,EAAkB,IAAA,EAAM,kBAAA,EAAqB,EAAE,EAE7GC,EAAkB,CAACH,EAAmB,SAAWA,EAAmB,QAAUD,EAAeA,EAAe,KAC9GI,IAAiBlB,EAAuBmB,EAAkBD,CAAe,GAC7E,MAAME,EAAoBC,EAAmBH,CAAe,EACtDI,EAA0BF,EAAoBD,EAAkBC,CAAiB,EAAIpB,GAAwB,QAE7GuB,EAAYX,GAAe,GAAG,KAC9BY,EAAW,CAAC,CAACZ,GAAe,OAC5Ba,EAAkBD,GAAYD,IAAc,UAG5C,CAACG,EAAeC,CAAgB,EAAIC,EAAAA,SAAmC,IAAI,EAE3EC,EAAsB,IACtBJ,EAEAK,EAAAA,IAACC,EAAA,CAAiB,KAAMC,EAAwB,OAAO,SAAS,IAAI,sBAClE,SAAAF,EAAAA,IAACG,EAAA,CAAgB,IAAKC,EAAiB,IAAI,wBAAwB,EACrE,QAKDH,EAAA,CAAiB,KAAMI,EAAc,SAAU,OAAO,SAAS,IAAI,sBAClE,SAAAL,MAACG,GAAgB,IAAKG,EAAS,gCAAgC,EAAG,IAAI,4BAA4B,EACpG,EAIEC,EAAsBC,EAAAA,YACzBC,GAAqC,CACpClC,EAAckC,CAAC,EACX3B,IACF,OAAO,SAAS,KAAO,wBAAwBA,EAAc,GAAG,IAAI,GAExE,EACA,CAACP,EAAeO,CAAa,CAAA,EAGzB4B,EAAU5B,EACZ,CAAE,CAAC6B,EAAgB,OAAO,EAAGC,EAAe,CAACD,EAAgB,KAAK,EAAGE,CAAA,EAAY/B,EAAc,GAAG,IAAI,EACtG,KAEEgC,EAAuB,IAC3BC,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,IAAK,GAAI,eAAgB,QAAA,EACtD,SAAA,CAAAA,EAAAA,KAACE,EAAA,CACC,KAAMnC,EAAgB,wBAAwBA,EAAc,GAAG,IAAI,GAAK,YACxE,aAAYoC,EAAmB,aAC/B,aAAW,QACX,QAASX,EAER,SAAA,CAAAlC,EAAE,kCAAkC,EACpCqC,EACCV,EAAAA,IAAC,MAAA,CAAI,IAAKU,EAAS,IAAK5B,GAAe,GAAG,MAAQ,GAAI,MAAO,GAAI,OAAQ,GAAI,MAAO,CAAE,OAAQ,yBAAA,CAA0B,CAAG,EAE3HkB,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,QAAS,QAAS,MAAO,GAAI,OAAQ,GAAI,WAAY,EAAE,CAAG,CAAA,CAAA,CAAA,EAG7Ee,EAAAA,KAACI,GAAW,KAAMd,EAAc,KAAM,OAAO,SAAS,IAAI,sBACvD,SAAA,CAAAhC,EAAE,2BAA2B,QAC7B,MAAA,CAAI,IAAKiC,EAAS,gBAAgB,EAAG,IAAI,aAAa,MAAO,GAAI,OAAQ,GAAI,MAAO,CAAE,OAAQ,gBAAgB,CAAG,CAAA,CAAA,CACpH,CAAA,EACF,SACCzC,GAAA,CACC,SAAA,CAAAkD,OAACjD,GAAA,CACC,SAAA,CAAAkC,EAAAA,IAACoB,EAAA,EAAa,EAAE,IAAE/C,EAAE,gCAAiC,CAAE,UAAWmB,EAAyB,CAAA,EAC7F,QACCzB,GAAA,EAAkB,SAClBC,GAAA,CACE,SAAA,CAAAyB,IAAckB,EAAgB,OAC7BX,EAAAA,IAAC,IAAA,CAAE,KAAK,+BACN,SAAAA,EAAAA,IAAC/B,EAAA,CAAa,IAAK2C,EAAe,IAAI,SAAA,CAAU,EAClD,EAEDnB,IAAckB,EAAgB,SAC7BX,EAAAA,IAAC,IAAA,CAAE,KAAK,6BACN,SAAAA,EAAAA,IAAC/B,EAAA,CAAa,IAAK4C,EAAW,IAAI,QAAQ,EAC5C,EAED,CAACpB,GAAaO,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,QAAS,eAAgB,MAAO,GAAI,OAAQ,EAAA,CAAG,CAAG,EAChFA,EAAAA,IAAC,IAAA,CACC,KAAK,IACL,QAASS,GAAK,CACZA,EAAE,eAAA,EACFZ,EAAiB,KAAK,CACxB,EAEA,eAAC5B,EAAA,CAAa,IAAKqC,EAAS,eAAe,EAAG,IAAI,KAAA,CAAM,CAAA,CAAA,EAE1DN,EAAAA,IAAC,IAAA,CACC,KAAK,IACL,QAASS,GAAK,CACZA,EAAE,eAAA,EACFZ,EAAiB,SAAS,CAC5B,EAEA,eAAC5B,EAAA,CAAa,IAAKqC,EAAS,uBAAuB,EAAG,IAAI,SAAA,CAAU,CAAA,CAAA,CACtE,CAAA,CACF,CAAA,CAAA,CACF,CAAA,EACF,EAGF,cACGlD,GAAA,CACC,SAAA,CAAA4C,EAAAA,IAACqB,EAAA,CAAmB,QAAQ,UAAA,CAAW,SACtC5D,GAAA,CACC,SAAA,CAAAuC,MAACtC,GAAA,CAAM,QAAQ,KAAM,SAAAW,EAAE,+BAA+B,EAAE,EACvDqB,EAAWK,EAAA,EAAwBe,EAAA,CAAqB,EAC3D,EACAd,EAAAA,IAACxC,GAAA,CAAa,IAAK8C,EAAS,gCAAgC,EAAG,IAAI,GAAG,cAAW,GAAC,MAAO,KAAM,OAAQ,IAAK,QAAQ,OAAO,QAC1HgB,EAAA,CAAc,KAAM7C,EAAqB,QAASC,EAAqB,GAAGC,EAAoB,EAC9FiB,GACCI,EAAAA,IAACuB,EAAA,CACC,KAAI,GACJ,QAAS,IAAM1B,EAAiB,IAAI,EACpC,GAAID,EACJ,KAAM,CAAE,eAAgB,oBAAoBhB,CAAc,EAAA,CAAG,CAAA,CAC/D,EAEJ,CAEJ,CAAC,EAEDT,GAAY,YAAc"}
@@ -1 +1 @@
1
- import{j as e,s as o,w as W,b1 as B,ar as E,ad as H,U as c,P as R}from"./index-DaRevScO.js";import{r as i}from"./vendor-router-D_36sTKu.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-intl-D2lXWsDp.js";const Z=[{name:"Discord",url:"https://dcl.gg/discord"},{name:"GitHub",url:"https://github.com/decentraland"},{name:"X",url:"https://x.com/decentraland"},{name:"Instagram",url:"https://instagram.com/decentraland_foundation/"},{name:"YouTube",url:"https://youtube.com/@decentraland_foundation"},{name:"TikTok",url:"https://tiktok.com/@decentraland_fdn"},{name:"LinkedIn",url:"https://linkedin.com/company/decentralandorg"}],L=[{labelKey:"component.landing.footer.getting_started.what_is",url:"https://docs.decentraland.org/introduction/about-decentraland"},{labelKey:"component.landing.footer.getting_started.download",url:"/download"},{labelKey:"component.landing.footer.getting_started.system_requirements",url:"https://docs.decentraland.org/in-world/settings-and-performance"},{labelKey:"component.landing.footer.getting_started.faqs",url:"https://docs.decentraland.org/faqs/decentraland-101"},{labelKey:"component.landing.footer.getting_started.contact_support",url:"https://decentraland.org/help/"}],I=[{labelKey:"component.landing.footer.resources.marketplace",url:"https://decentraland.org/marketplace"},{labelKey:"component.landing.footer.resources.creator_hub",url:"https://decentraland.org/create/"},{labelKey:"component.landing.footer.resources.docs",url:"https://docs.decentraland.org"},{labelKey:"component.landing.footer.resources.blog",url:"https://decentraland.org/blog/"},{labelKey:"component.landing.footer.resources.vote",url:"https://decentraland.org/dao"}],z=()=>e.jsx("svg",{viewBox:"0 0 28 22",fill:"currentColor",width:"28",height:"22",children:e.jsx("path",{d:"M23.7 1.84A23.25 23.25 0 0 0 17.96 0c-.25.45-.54 1.05-.74 1.53a21.5 21.5 0 0 0-6.45 0C10.57 1.05 10.27.45 10.02 0A23.2 23.2 0 0 0 4.27 1.85C.62 7.34-.38 12.7.12 18a23.37 23.37 0 0 0 7.13 3.6 17.4 17.4 0 0 0 1.53-2.49 15.17 15.17 0 0 1-2.41-1.16c.2-.15.4-.3.59-.46a16.63 16.63 0 0 0 14.1 0c.19.16.39.31.58.46-.77.45-1.57.84-2.41 1.16.44.87.96 1.7 1.53 2.49a23.3 23.3 0 0 0 7.14-3.61c.58-6.15-1-11.47-4.1-16.15ZM9.35 14.74c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Zm9.38 0c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Z"})}),A=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12 .3a12 12 0 0 0-3.8 23.38c.6.12.82-.26.82-.58v-2.02c-3.34.73-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.08-.73.08-.73 1.2.09 1.84 1.24 1.84 1.24 1.07 1.83 2.8 1.3 3.49 1 .1-.78.42-1.3.76-1.6-2.67-.31-5.47-1.34-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.13-.3-.54-1.52.12-3.18 0 0 1-.33 3.3 1.23a11.5 11.5 0 0 1 6.02 0c2.28-1.56 3.29-1.23 3.29-1.23.66 1.66.25 2.88.12 3.18a4.65 4.65 0 0 1 1.24 3.22c0 4.61-2.81 5.62-5.48 5.92.43.37.81 1.1.81 2.22v3.29c0 .32.22.7.82.58A12 12 0 0 0 12 .3Z"})}),O=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231Zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77Z"})}),G=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069ZM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0Zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324ZM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881Z"})}),P=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z"})}),U=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07Z"})}),V=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286ZM5.337 7.433a2.062 2.062 0 1 1 0-4.123 2.062 2.062 0 0 1 0 4.123ZM6.863 20.452H3.804V9h3.059v11.452ZM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003Z"})}),u=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:e.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41Z"})}),q=o("footer")({width:"100%"}),X=o("div")(({theme:n})=>({width:"100%",background:"radial-gradient(ellipse at 0% 0%, rgba(121,47,158,0.6) 0%, rgba(74,23,102,0.8) 25%, rgba(51,12,74,0.9) 50%, rgba(27,0,46,1) 75%)",display:"flex",justifyContent:"space-between",alignItems:"stretch",padding:"32px 180px",[n.breakpoints.down("lg")]:{padding:"32px 80px"},[n.breakpoints.down("md")]:{padding:"32px 40px"},[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"center",gap:32,padding:"48px 16px",background:"radial-gradient(ellipse at 0% 0%, rgba(109,34,151,1) 0%, rgba(89,26,125,1) 12%, rgba(69,18,99,1) 25%, rgba(48,9,72,1) 50%, rgba(28,1,46,1) 75%)"}})),Y=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:40,padding:"40px 0",maxWidth:450,[n.breakpoints.down("xs")]:{padding:0,width:"100%",alignItems:"center",maxWidth:"100%"}})),$=o("img")(({theme:n})=>({height:48,width:"auto",[n.breakpoints.down("xs")]:{height:40,maxWidth:322}})),J=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:12,[n.breakpoints.down("xs")]:{width:"100%",alignItems:"center"}})),Q=o("p")(({theme:n})=>({fontFamily:"Inter, sans-serif",fontWeight:500,fontSize:20,lineHeight:1.6,color:"#fcfcfc",margin:0,[n.breakpoints.down("xs")]:{textAlign:"center"}}));o("form")(({theme:n})=>({display:"flex",gap:8,height:46,width:"100%",maxWidth:450,[n.breakpoints.down("xs")]:{height:40,maxWidth:"100%"}}));o("input")({flex:1,height:"100%",padding:"0 16px",borderRadius:6,border:"1px solid white",backgroundColor:"#fcfcfc",fontFamily:"Inter, sans-serif",fontSize:16,color:"#1b002e",outline:"none",boxSizing:"border-box","&::placeholder":{color:"#cfcdd4"}});o("button")({height:"100%",padding:"0 22px",borderRadius:6,border:"none",backgroundColor:"#ff2d55",color:"white",fontFamily:"Inter, sans-serif",fontWeight:700,fontSize:15,letterSpacing:.46,textTransform:"uppercase",cursor:"pointer",whiteSpace:"nowrap",flexShrink:0,boxSizing:"border-box","&:hover":{backgroundColor:"#e0264b"}});const S=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:16,"&.desktop-only":{[n.breakpoints.down("xs")]:{display:"none"}},"&.mobile-only":{display:"none",[n.breakpoints.down("xs")]:{display:"flex",width:"100%",paddingTop:12}}})),h=o("p")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:16,lineHeight:1.5,color:"#cfcdd4",margin:0,textTransform:"uppercase"}),ee=o("div")({display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",color:"white","& a":{color:"inherit",display:"flex",transition:"opacity 0.2s","&:hover":{opacity:.7}}}),ne=o("div")(({theme:n})=>({display:"flex",gap:180,padding:"40px 0",[n.breakpoints.down("lg")]:{gap:80},[n.breakpoints.down("md")]:{gap:48},[n.breakpoints.down("xs")]:{display:"none"}})),_=o("div")({display:"flex",flexDirection:"column",gap:16}),D=o("a")({fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:16,lineHeight:1.5,color:"white",textDecoration:"none",whiteSpace:"nowrap","&:hover":{textDecoration:"underline"}}),te=o("div")(({theme:n})=>({display:"none",[n.breakpoints.down("xs")]:{display:"flex",flexDirection:"column",width:"100%"}})),oe=o("div")({display:"flex",alignItems:"center",gap:5,padding:"12px 0",borderBottom:"0.5px solid rgba(255, 255, 255, 0.1)",fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:14,lineHeight:1.75,color:"#cfcdd4",textTransform:"uppercase"}),M=o("button")({display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",padding:"24px 16px 24px 0",border:"none",borderBottom:"0.5px solid rgba(255, 255, 255, 0.1)",background:"none",cursor:"pointer",fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:16,lineHeight:1.75,color:"white",textAlign:"left"}),b=o("span")(({open:n})=>({display:"flex",transition:"transform 0.3s ease",transform:n?"rotate(180deg)":"rotate(0deg)",color:"white"})),F=o("div")(({open:n})=>({display:"flex",flexDirection:"column",gap:16,overflow:"hidden",maxHeight:n?400:0,opacity:n?1:0,padding:n?"16px 0 8px":"0",transition:"max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease"})),K=o("a")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:15,lineHeight:1.5,color:"#fcfcfc",textDecoration:"none",paddingLeft:8,"&:hover":{textDecoration:"underline"}}),re=o("div")(({theme:n})=>({width:"100%",backgroundColor:"#161518",boxShadow:"inset 0px 1px 0px 0px #43404a",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 24px",[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"flex-start",gap:16}})),ie=o("div")(({theme:n})=>({display:"flex",alignItems:"center",gap:16,[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"flex-start",gap:16}})),ae=o("div")(({theme:n})=>({[n.breakpoints.down("xs")]:{display:"none"}})),d=o("a")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:14,lineHeight:1.43,color:"#a09ba8",textDecoration:"none",whiteSpace:"nowrap","&:hover":{color:"#cfcdd4"}}),se=o("span")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:15,lineHeight:"24px",color:"#a09ba8",whiteSpace:"nowrap"}),le=o("div")({position:"relative"}),ce=o("button")({display:"flex",alignItems:"center",gap:8,background:"none",border:"none",cursor:"pointer",padding:0,fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:15,lineHeight:"24px",color:"white"}),de=o("div")({position:"absolute",bottom:"100%",left:0,marginBottom:8,backgroundColor:"#242129",borderRadius:8,border:"1px solid #43404a",padding:"4px 0",minWidth:140,zIndex:10,"& button":{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontFamily:"Inter, sans-serif",fontSize:14,color:"#cfcdd4",whiteSpace:"nowrap","&:hover":{backgroundColor:"rgba(255, 255, 255, 0.08)"},"&.active":{color:"white",fontWeight:600}}}),pe=o("div")(({theme:n})=>({display:"none",[n.breakpoints.down("xs")]:{display:"flex",gap:142,"& > div":{display:"flex",flexDirection:"column",gap:16}}})),ge=o("div")(({theme:n})=>({display:"flex",alignItems:"center",gap:16,[n.breakpoints.down("xs")]:{display:"none"}})),he="https://embeds.beehiiv.com/ff89783d-748b-4ba3-8700-4759f6f62831?slim=true",fe={Discord:z,GitHub:A,X:O,Instagram:G,YouTube:P,TikTok:U,LinkedIn:V},xe=[{label:"Privacy Policy",url:"/privacy"},{label:"Terms of Use",url:"/terms"},{label:"Content Policy",url:"/content"},{label:"Code of Ethics",url:"/ethics"}],s=n=>`https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/${n}.svg`,w=[{code:"en",label:"English",flag:s("1f1ec-1f1e7")},{code:"es",label:"Español",flag:s("1f1ea-1f1f8")},{code:"fr",label:"Français",flag:s("1f1eb-1f1f7")},{code:"zh",label:"中文",flag:s("1f1e8-1f1f3")},{code:"ko",label:"한국어",flag:s("1f1f0-1f1f7")},{code:"ja",label:"日本語",flag:s("1f1ef-1f1f5")}],T=({onTrack:n})=>e.jsx(ee,{children:Z.map(r=>{const f=fe[r.name];return e.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer","aria-label":r.name,onClick:()=>n?.(r.name),children:e.jsx(f,{})},r.name)})}),me=i.memo(()=>{const n=W(),{locale:r,setLocale:f}=B(),{isInitialized:y,track:j}=E(),[p,N]=i.useState(null),[g,x]=i.useState(!1),m=i.useRef(null),v=w.find(t=>t.code===r)||w[0],a=i.useCallback((t,l)=>{y&&j(H.CLICK,{place:t,event:"click",...l})},[y,j]),k=i.useCallback(t=>a(c.LANDING_FOOTER_SOCIAL,{platform:t}),[a]),C=i.useCallback(t=>{N(l=>l===t?null:t)},[]);return i.useEffect(()=>{if(!g)return;const t=l=>{m.current&&!m.current.contains(l.target)&&x(!1)};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[g]),e.jsxs(q,{children:[e.jsxs(X,{children:[e.jsxs(Y,{children:[e.jsx($,{src:R("/dcl_name.svg"),alt:"Decentraland"}),e.jsxs(J,{children:[e.jsx(Q,{children:n("component.landing.footer.newsletter.title")}),e.jsx("iframe",{src:he,"data-test-id":"beehiiv-embed",height:"65",frameBorder:"0",scrolling:"no",style:{width:"100%",maxWidth:450,border:"none",borderRadius:6},title:"Newsletter signup"})]}),e.jsxs(S,{className:"desktop-only",children:[e.jsx(h,{children:n("component.landing.footer.connect")}),e.jsx(T,{onTrack:k})]})]}),e.jsxs(ne,{children:[e.jsxs(_,{children:[e.jsx(h,{children:n("component.landing.footer.getting_started.title")}),L.map(t=>e.jsx(D,{href:t.url,target:t.url.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))]}),e.jsxs(_,{children:[e.jsx(h,{children:n("component.landing.footer.resources.title")}),I.map(t=>e.jsx(D,{href:t.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))]})]}),e.jsxs(te,{children:[e.jsx(oe,{children:n("component.landing.footer.menu")}),e.jsxs(M,{onClick:()=>C("getting-started"),children:[n("component.landing.footer.getting_started.title"),e.jsx(b,{open:p==="getting-started",children:e.jsx(u,{})})]}),e.jsx(F,{open:p==="getting-started",children:L.map(t=>e.jsx(K,{href:t.url,target:t.url.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))}),e.jsxs(M,{onClick:()=>C("resources"),children:[n("component.landing.footer.resources.title"),e.jsx(b,{open:p==="resources",children:e.jsx(u,{})})]}),e.jsx(F,{open:p==="resources",children:I.map(t=>e.jsx(K,{href:t.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))})]}),e.jsxs(S,{className:"mobile-only",children:[e.jsx(h,{children:n("component.landing.footer.connect")}),e.jsx(T,{onTrack:k})]})]}),e.jsxs(re,{children:[e.jsxs(ie,{children:[e.jsxs(le,{ref:m,children:[e.jsxs(ce,{onClick:()=>x(t=>!t),children:[e.jsx("img",{src:v.flag,alt:"",width:16,height:16,style:{borderRadius:2}}),v.label,e.jsx(b,{open:g,style:{display:"inline-flex"},children:e.jsx(u,{})})]}),g&&e.jsx(de,{children:w.map(t=>e.jsxs("button",{className:t.code===r?"active":"",onClick:()=>{f(t.code),x(!1)},children:[e.jsx("img",{src:t.flag,alt:"",width:16,height:16,style:{borderRadius:2}}),t.label]},t.code))})]}),e.jsx(ge,{children:xe.map(t=>e.jsx(d,{href:t.url,children:t.label},t.label))}),e.jsxs(pe,{children:[e.jsxs("div",{children:[e.jsx(d,{href:"/privacy",children:"Privacy Policy"}),e.jsx(d,{href:"/terms",children:"Terms of Use"})]}),e.jsxs("div",{children:[e.jsx(d,{href:"/content",children:"Content Policy"}),e.jsx(d,{href:"/ethics",children:"Code of Ethics"})]})]})]}),e.jsx(ae,{children:e.jsxs(se,{children:["© ",new Date().getFullYear()," Decentraland"]})})]})]})});me.displayName="LandingFooter";export{me as LandingFooter};
1
+ import{j as e,s as o,w as W,b1 as B,ar as E,ad as H,U as c,P as R}from"./index-Cjx-6-Fc.js";import{r as i}from"./vendor-router-D_36sTKu.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-intl-D2lXWsDp.js";const Z=[{name:"Discord",url:"https://dcl.gg/discord"},{name:"GitHub",url:"https://github.com/decentraland"},{name:"X",url:"https://x.com/decentraland"},{name:"Instagram",url:"https://instagram.com/decentraland_foundation/"},{name:"YouTube",url:"https://youtube.com/@decentraland_foundation"},{name:"TikTok",url:"https://tiktok.com/@decentraland_fdn"},{name:"LinkedIn",url:"https://linkedin.com/company/decentralandorg"}],L=[{labelKey:"component.landing.footer.getting_started.what_is",url:"https://docs.decentraland.org/introduction/about-decentraland"},{labelKey:"component.landing.footer.getting_started.download",url:"/download"},{labelKey:"component.landing.footer.getting_started.system_requirements",url:"https://docs.decentraland.org/in-world/settings-and-performance"},{labelKey:"component.landing.footer.getting_started.faqs",url:"https://docs.decentraland.org/faqs/decentraland-101"},{labelKey:"component.landing.footer.getting_started.contact_support",url:"https://decentraland.org/help/"}],I=[{labelKey:"component.landing.footer.resources.marketplace",url:"https://decentraland.org/marketplace"},{labelKey:"component.landing.footer.resources.creator_hub",url:"https://decentraland.org/create/"},{labelKey:"component.landing.footer.resources.docs",url:"https://docs.decentraland.org"},{labelKey:"component.landing.footer.resources.blog",url:"https://decentraland.org/blog/"},{labelKey:"component.landing.footer.resources.vote",url:"https://decentraland.org/dao"}],z=()=>e.jsx("svg",{viewBox:"0 0 28 22",fill:"currentColor",width:"28",height:"22",children:e.jsx("path",{d:"M23.7 1.84A23.25 23.25 0 0 0 17.96 0c-.25.45-.54 1.05-.74 1.53a21.5 21.5 0 0 0-6.45 0C10.57 1.05 10.27.45 10.02 0A23.2 23.2 0 0 0 4.27 1.85C.62 7.34-.38 12.7.12 18a23.37 23.37 0 0 0 7.13 3.6 17.4 17.4 0 0 0 1.53-2.49 15.17 15.17 0 0 1-2.41-1.16c.2-.15.4-.3.59-.46a16.63 16.63 0 0 0 14.1 0c.19.16.39.31.58.46-.77.45-1.57.84-2.41 1.16.44.87.96 1.7 1.53 2.49a23.3 23.3 0 0 0 7.14-3.61c.58-6.15-1-11.47-4.1-16.15ZM9.35 14.74c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Zm9.38 0c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Z"})}),A=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12 .3a12 12 0 0 0-3.8 23.38c.6.12.82-.26.82-.58v-2.02c-3.34.73-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.08-.73.08-.73 1.2.09 1.84 1.24 1.84 1.24 1.07 1.83 2.8 1.3 3.49 1 .1-.78.42-1.3.76-1.6-2.67-.31-5.47-1.34-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.13-.3-.54-1.52.12-3.18 0 0 1-.33 3.3 1.23a11.5 11.5 0 0 1 6.02 0c2.28-1.56 3.29-1.23 3.29-1.23.66 1.66.25 2.88.12 3.18a4.65 4.65 0 0 1 1.24 3.22c0 4.61-2.81 5.62-5.48 5.92.43.37.81 1.1.81 2.22v3.29c0 .32.22.7.82.58A12 12 0 0 0 12 .3Z"})}),O=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231Zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77Z"})}),G=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069ZM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0Zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324ZM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881Z"})}),P=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z"})}),U=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07Z"})}),V=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"24",height:"24",children:e.jsx("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286ZM5.337 7.433a2.062 2.062 0 1 1 0-4.123 2.062 2.062 0 0 1 0 4.123ZM6.863 20.452H3.804V9h3.059v11.452ZM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003Z"})}),u=()=>e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:e.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41Z"})}),q=o("footer")({width:"100%"}),X=o("div")(({theme:n})=>({width:"100%",background:"radial-gradient(ellipse at 0% 0%, rgba(121,47,158,0.6) 0%, rgba(74,23,102,0.8) 25%, rgba(51,12,74,0.9) 50%, rgba(27,0,46,1) 75%)",display:"flex",justifyContent:"space-between",alignItems:"stretch",padding:"32px 180px",[n.breakpoints.down("lg")]:{padding:"32px 80px"},[n.breakpoints.down("md")]:{padding:"32px 40px"},[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"center",gap:32,padding:"48px 16px",background:"radial-gradient(ellipse at 0% 0%, rgba(109,34,151,1) 0%, rgba(89,26,125,1) 12%, rgba(69,18,99,1) 25%, rgba(48,9,72,1) 50%, rgba(28,1,46,1) 75%)"}})),Y=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:40,padding:"40px 0",maxWidth:450,[n.breakpoints.down("xs")]:{padding:0,width:"100%",alignItems:"center",maxWidth:"100%"}})),$=o("img")(({theme:n})=>({height:48,width:"auto",[n.breakpoints.down("xs")]:{height:40,maxWidth:322}})),J=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:12,[n.breakpoints.down("xs")]:{width:"100%",alignItems:"center"}})),Q=o("p")(({theme:n})=>({fontFamily:"Inter, sans-serif",fontWeight:500,fontSize:20,lineHeight:1.6,color:"#fcfcfc",margin:0,[n.breakpoints.down("xs")]:{textAlign:"center"}}));o("form")(({theme:n})=>({display:"flex",gap:8,height:46,width:"100%",maxWidth:450,[n.breakpoints.down("xs")]:{height:40,maxWidth:"100%"}}));o("input")({flex:1,height:"100%",padding:"0 16px",borderRadius:6,border:"1px solid white",backgroundColor:"#fcfcfc",fontFamily:"Inter, sans-serif",fontSize:16,color:"#1b002e",outline:"none",boxSizing:"border-box","&::placeholder":{color:"#cfcdd4"}});o("button")({height:"100%",padding:"0 22px",borderRadius:6,border:"none",backgroundColor:"#ff2d55",color:"white",fontFamily:"Inter, sans-serif",fontWeight:700,fontSize:15,letterSpacing:.46,textTransform:"uppercase",cursor:"pointer",whiteSpace:"nowrap",flexShrink:0,boxSizing:"border-box","&:hover":{backgroundColor:"#e0264b"}});const S=o("div")(({theme:n})=>({display:"flex",flexDirection:"column",gap:16,"&.desktop-only":{[n.breakpoints.down("xs")]:{display:"none"}},"&.mobile-only":{display:"none",[n.breakpoints.down("xs")]:{display:"flex",width:"100%",paddingTop:12}}})),h=o("p")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:16,lineHeight:1.5,color:"#cfcdd4",margin:0,textTransform:"uppercase"}),ee=o("div")({display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",color:"white","& a":{color:"inherit",display:"flex",transition:"opacity 0.2s","&:hover":{opacity:.7}}}),ne=o("div")(({theme:n})=>({display:"flex",gap:180,padding:"40px 0",[n.breakpoints.down("lg")]:{gap:80},[n.breakpoints.down("md")]:{gap:48},[n.breakpoints.down("xs")]:{display:"none"}})),_=o("div")({display:"flex",flexDirection:"column",gap:16}),D=o("a")({fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:16,lineHeight:1.5,color:"white",textDecoration:"none",whiteSpace:"nowrap","&:hover":{textDecoration:"underline"}}),te=o("div")(({theme:n})=>({display:"none",[n.breakpoints.down("xs")]:{display:"flex",flexDirection:"column",width:"100%"}})),oe=o("div")({display:"flex",alignItems:"center",gap:5,padding:"12px 0",borderBottom:"0.5px solid rgba(255, 255, 255, 0.1)",fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:14,lineHeight:1.75,color:"#cfcdd4",textTransform:"uppercase"}),M=o("button")({display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",padding:"24px 16px 24px 0",border:"none",borderBottom:"0.5px solid rgba(255, 255, 255, 0.1)",background:"none",cursor:"pointer",fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:16,lineHeight:1.75,color:"white",textAlign:"left"}),b=o("span")(({open:n})=>({display:"flex",transition:"transform 0.3s ease",transform:n?"rotate(180deg)":"rotate(0deg)",color:"white"})),F=o("div")(({open:n})=>({display:"flex",flexDirection:"column",gap:16,overflow:"hidden",maxHeight:n?400:0,opacity:n?1:0,padding:n?"16px 0 8px":"0",transition:"max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease"})),K=o("a")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:15,lineHeight:1.5,color:"#fcfcfc",textDecoration:"none",paddingLeft:8,"&:hover":{textDecoration:"underline"}}),re=o("div")(({theme:n})=>({width:"100%",backgroundColor:"#161518",boxShadow:"inset 0px 1px 0px 0px #43404a",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 24px",[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"flex-start",gap:16}})),ie=o("div")(({theme:n})=>({display:"flex",alignItems:"center",gap:16,[n.breakpoints.down("xs")]:{flexDirection:"column",alignItems:"flex-start",gap:16}})),ae=o("div")(({theme:n})=>({[n.breakpoints.down("xs")]:{display:"none"}})),d=o("a")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:14,lineHeight:1.43,color:"#a09ba8",textDecoration:"none",whiteSpace:"nowrap","&:hover":{color:"#cfcdd4"}}),se=o("span")({fontFamily:"Inter, sans-serif",fontWeight:400,fontSize:15,lineHeight:"24px",color:"#a09ba8",whiteSpace:"nowrap"}),le=o("div")({position:"relative"}),ce=o("button")({display:"flex",alignItems:"center",gap:8,background:"none",border:"none",cursor:"pointer",padding:0,fontFamily:"Inter, sans-serif",fontWeight:600,fontSize:15,lineHeight:"24px",color:"white"}),de=o("div")({position:"absolute",bottom:"100%",left:0,marginBottom:8,backgroundColor:"#242129",borderRadius:8,border:"1px solid #43404a",padding:"4px 0",minWidth:140,zIndex:10,"& button":{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontFamily:"Inter, sans-serif",fontSize:14,color:"#cfcdd4",whiteSpace:"nowrap","&:hover":{backgroundColor:"rgba(255, 255, 255, 0.08)"},"&.active":{color:"white",fontWeight:600}}}),pe=o("div")(({theme:n})=>({display:"none",[n.breakpoints.down("xs")]:{display:"flex",gap:142,"& > div":{display:"flex",flexDirection:"column",gap:16}}})),ge=o("div")(({theme:n})=>({display:"flex",alignItems:"center",gap:16,[n.breakpoints.down("xs")]:{display:"none"}})),he="https://embeds.beehiiv.com/ff89783d-748b-4ba3-8700-4759f6f62831?slim=true",fe={Discord:z,GitHub:A,X:O,Instagram:G,YouTube:P,TikTok:U,LinkedIn:V},xe=[{label:"Privacy Policy",url:"/privacy"},{label:"Terms of Use",url:"/terms"},{label:"Content Policy",url:"/content"},{label:"Code of Ethics",url:"/ethics"}],s=n=>`https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/${n}.svg`,w=[{code:"en",label:"English",flag:s("1f1ec-1f1e7")},{code:"es",label:"Español",flag:s("1f1ea-1f1f8")},{code:"fr",label:"Français",flag:s("1f1eb-1f1f7")},{code:"zh",label:"中文",flag:s("1f1e8-1f1f3")},{code:"ko",label:"한국어",flag:s("1f1f0-1f1f7")},{code:"ja",label:"日本語",flag:s("1f1ef-1f1f5")}],T=({onTrack:n})=>e.jsx(ee,{children:Z.map(r=>{const f=fe[r.name];return e.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer","aria-label":r.name,onClick:()=>n?.(r.name),children:e.jsx(f,{})},r.name)})}),me=i.memo(()=>{const n=W(),{locale:r,setLocale:f}=B(),{isInitialized:y,track:j}=E(),[p,N]=i.useState(null),[g,x]=i.useState(!1),m=i.useRef(null),v=w.find(t=>t.code===r)||w[0],a=i.useCallback((t,l)=>{y&&j(H.CLICK,{place:t,event:"click",...l})},[y,j]),k=i.useCallback(t=>a(c.LANDING_FOOTER_SOCIAL,{platform:t}),[a]),C=i.useCallback(t=>{N(l=>l===t?null:t)},[]);return i.useEffect(()=>{if(!g)return;const t=l=>{m.current&&!m.current.contains(l.target)&&x(!1)};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[g]),e.jsxs(q,{children:[e.jsxs(X,{children:[e.jsxs(Y,{children:[e.jsx($,{src:R("/dcl_name.svg"),alt:"Decentraland"}),e.jsxs(J,{children:[e.jsx(Q,{children:n("component.landing.footer.newsletter.title")}),e.jsx("iframe",{src:he,"data-test-id":"beehiiv-embed",height:"65",frameBorder:"0",scrolling:"no",style:{width:"100%",maxWidth:450,border:"none",borderRadius:6},title:"Newsletter signup"})]}),e.jsxs(S,{className:"desktop-only",children:[e.jsx(h,{children:n("component.landing.footer.connect")}),e.jsx(T,{onTrack:k})]})]}),e.jsxs(ne,{children:[e.jsxs(_,{children:[e.jsx(h,{children:n("component.landing.footer.getting_started.title")}),L.map(t=>e.jsx(D,{href:t.url,target:t.url.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))]}),e.jsxs(_,{children:[e.jsx(h,{children:n("component.landing.footer.resources.title")}),I.map(t=>e.jsx(D,{href:t.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))]})]}),e.jsxs(te,{children:[e.jsx(oe,{children:n("component.landing.footer.menu")}),e.jsxs(M,{onClick:()=>C("getting-started"),children:[n("component.landing.footer.getting_started.title"),e.jsx(b,{open:p==="getting-started",children:e.jsx(u,{})})]}),e.jsx(F,{open:p==="getting-started",children:L.map(t=>e.jsx(K,{href:t.url,target:t.url.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))}),e.jsxs(M,{onClick:()=>C("resources"),children:[n("component.landing.footer.resources.title"),e.jsx(b,{open:p==="resources",children:e.jsx(u,{})})]}),e.jsx(F,{open:p==="resources",children:I.map(t=>e.jsx(K,{href:t.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>a(c.LANDING_FOOTER_LINK,{link:n(t.labelKey)}),children:n(t.labelKey)},t.labelKey))})]}),e.jsxs(S,{className:"mobile-only",children:[e.jsx(h,{children:n("component.landing.footer.connect")}),e.jsx(T,{onTrack:k})]})]}),e.jsxs(re,{children:[e.jsxs(ie,{children:[e.jsxs(le,{ref:m,children:[e.jsxs(ce,{onClick:()=>x(t=>!t),children:[e.jsx("img",{src:v.flag,alt:"",width:16,height:16,style:{borderRadius:2}}),v.label,e.jsx(b,{open:g,style:{display:"inline-flex"},children:e.jsx(u,{})})]}),g&&e.jsx(de,{children:w.map(t=>e.jsxs("button",{className:t.code===r?"active":"",onClick:()=>{f(t.code),x(!1)},children:[e.jsx("img",{src:t.flag,alt:"",width:16,height:16,style:{borderRadius:2}}),t.label]},t.code))})]}),e.jsx(ge,{children:xe.map(t=>e.jsx(d,{href:t.url,children:t.label},t.label))}),e.jsxs(pe,{children:[e.jsxs("div",{children:[e.jsx(d,{href:"/privacy",children:"Privacy Policy"}),e.jsx(d,{href:"/terms",children:"Terms of Use"})]}),e.jsxs("div",{children:[e.jsx(d,{href:"/content",children:"Content Policy"}),e.jsx(d,{href:"/ethics",children:"Code of Ethics"})]})]})]}),e.jsx(ae,{children:e.jsxs(se,{children:["© ",new Date().getFullYear()," Decentraland"]})})]})]})});me.displayName="LandingFooter";export{me as LandingFooter};
@@ -1 +1 @@
1
- {"version":3,"file":"index-71royYUE.js","sources":["../../src/components/LandingFooter/footerConfig.ts","../../src/components/LandingFooter/SocialIcons.tsx","../../src/components/LandingFooter/LandingFooter.styled.ts","../../src/components/LandingFooter/LandingFooter.tsx"],"sourcesContent":["const socialLinks = [\n { name: 'Discord', url: 'https://dcl.gg/discord' },\n { name: 'GitHub', url: 'https://github.com/decentraland' },\n { name: 'X', url: 'https://x.com/decentraland' },\n { name: 'Instagram', url: 'https://instagram.com/decentraland_foundation/' },\n { name: 'YouTube', url: 'https://youtube.com/@decentraland_foundation' },\n { name: 'TikTok', url: 'https://tiktok.com/@decentraland_fdn' },\n { name: 'LinkedIn', url: 'https://linkedin.com/company/decentralandorg' }\n] as const\n\nconst gettingStartedLinks = [\n { labelKey: 'component.landing.footer.getting_started.what_is', url: 'https://docs.decentraland.org/introduction/about-decentraland' },\n { labelKey: 'component.landing.footer.getting_started.download', url: '/download' },\n {\n labelKey: 'component.landing.footer.getting_started.system_requirements',\n url: 'https://docs.decentraland.org/in-world/settings-and-performance'\n },\n { labelKey: 'component.landing.footer.getting_started.faqs', url: 'https://docs.decentraland.org/faqs/decentraland-101' },\n { labelKey: 'component.landing.footer.getting_started.contact_support', url: 'https://decentraland.org/help/' }\n] as const\n\nconst resourceLinks = [\n { labelKey: 'component.landing.footer.resources.marketplace', url: 'https://decentraland.org/marketplace' },\n { labelKey: 'component.landing.footer.resources.creator_hub', url: 'https://decentraland.org/create/' },\n { labelKey: 'component.landing.footer.resources.docs', url: 'https://docs.decentraland.org' },\n { labelKey: 'component.landing.footer.resources.blog', url: 'https://decentraland.org/blog/' },\n { labelKey: 'component.landing.footer.resources.vote', url: 'https://decentraland.org/dao' }\n] as const\n\nexport { gettingStartedLinks, resourceLinks, socialLinks }\n","/** Inline SVG social icons — no MUI dependency, tiny footprint. */\n\nconst Discord = () => (\n <svg viewBox=\"0 0 28 22\" fill=\"currentColor\" width=\"28\" height=\"22\">\n <path d=\"M23.7 1.84A23.25 23.25 0 0 0 17.96 0c-.25.45-.54 1.05-.74 1.53a21.5 21.5 0 0 0-6.45 0C10.57 1.05 10.27.45 10.02 0A23.2 23.2 0 0 0 4.27 1.85C.62 7.34-.38 12.7.12 18a23.37 23.37 0 0 0 7.13 3.6 17.4 17.4 0 0 0 1.53-2.49 15.17 15.17 0 0 1-2.41-1.16c.2-.15.4-.3.59-.46a16.63 16.63 0 0 0 14.1 0c.19.16.39.31.58.46-.77.45-1.57.84-2.41 1.16.44.87.96 1.7 1.53 2.49a23.3 23.3 0 0 0 7.14-3.61c.58-6.15-1-11.47-4.1-16.15ZM9.35 14.74c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Zm9.38 0c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Z\" />\n </svg>\n)\n\nconst GitHub = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12 .3a12 12 0 0 0-3.8 23.38c.6.12.82-.26.82-.58v-2.02c-3.34.73-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.08-.73.08-.73 1.2.09 1.84 1.24 1.84 1.24 1.07 1.83 2.8 1.3 3.49 1 .1-.78.42-1.3.76-1.6-2.67-.31-5.47-1.34-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.13-.3-.54-1.52.12-3.18 0 0 1-.33 3.3 1.23a11.5 11.5 0 0 1 6.02 0c2.28-1.56 3.29-1.23 3.29-1.23.66 1.66.25 2.88.12 3.18a4.65 4.65 0 0 1 1.24 3.22c0 4.61-2.81 5.62-5.48 5.92.43.37.81 1.1.81 2.22v3.29c0 .32.22.7.82.58A12 12 0 0 0 12 .3Z\" />\n </svg>\n)\n\nconst XTwitter = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231Zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77Z\" />\n </svg>\n)\n\nconst Instagram = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069ZM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0Zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324ZM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881Z\" />\n </svg>\n)\n\nconst YouTube = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z\" />\n </svg>\n)\n\nconst TikTok = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07Z\" />\n </svg>\n)\n\nconst LinkedIn = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286ZM5.337 7.433a2.062 2.062 0 1 1 0-4.123 2.062 2.062 0 0 1 0 4.123ZM6.863 20.452H3.804V9h3.059v11.452ZM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003Z\" />\n </svg>\n)\n\nconst ChevronDown = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41Z\" />\n </svg>\n)\n\nexport { ChevronDown, Discord, GitHub, Instagram, LinkedIn, TikTok, XTwitter, YouTube }\n","import { styled } from 'decentraland-ui2'\n\n// ── Main footer (purple gradient) ─────────────────────────────────────\nconst FooterRoot = styled('footer')({\n width: '100%'\n})\n\nconst FooterMain = styled('div')(({ theme }) => ({\n width: '100%',\n background:\n 'radial-gradient(ellipse at 0% 0%, rgba(121,47,158,0.6) 0%, rgba(74,23,102,0.8) 25%, rgba(51,12,74,0.9) 50%, rgba(27,0,46,1) 75%)',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'stretch',\n padding: '32px 180px',\n [theme.breakpoints.down('lg')]: {\n padding: '32px 80px'\n },\n [theme.breakpoints.down('md')]: {\n padding: '32px 40px'\n },\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'center',\n gap: 32,\n padding: '48px 16px',\n background:\n 'radial-gradient(ellipse at 0% 0%, rgba(109,34,151,1) 0%, rgba(89,26,125,1) 12%, rgba(69,18,99,1) 25%, rgba(48,9,72,1) 50%, rgba(28,1,46,1) 75%)'\n }\n}))\n\n// ── Left column ───────────────────────────────────────────────────────\nconst LeftColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 40,\n padding: '40px 0',\n maxWidth: 450,\n [theme.breakpoints.down('xs')]: {\n padding: 0,\n width: '100%',\n alignItems: 'center',\n maxWidth: '100%'\n }\n}))\n\nconst Wordmark = styled('img')(({ theme }) => ({\n height: 48,\n width: 'auto',\n [theme.breakpoints.down('xs')]: {\n height: 40,\n maxWidth: 322\n }\n}))\n\nconst NewsletterSection = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 12,\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n alignItems: 'center'\n }\n}))\n\nconst NewsletterTitle = styled('p')(({ theme }) => ({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 500,\n fontSize: 20,\n lineHeight: 1.6,\n color: '#fcfcfc',\n margin: 0,\n [theme.breakpoints.down('xs')]: {\n textAlign: 'center'\n }\n}))\n\nconst EmailRow = styled('form')(({ theme }) => ({\n display: 'flex',\n gap: 8,\n height: 46,\n width: '100%',\n maxWidth: 450,\n [theme.breakpoints.down('xs')]: {\n height: 40,\n maxWidth: '100%'\n }\n}))\n\nconst EmailInput = styled('input')({\n flex: 1,\n height: '100%',\n padding: '0 16px',\n borderRadius: 6,\n border: '1px solid white',\n backgroundColor: '#fcfcfc',\n fontFamily: 'Inter, sans-serif',\n fontSize: 16,\n color: '#1b002e',\n outline: 'none',\n boxSizing: 'border-box',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&::placeholder': {\n color: '#cfcdd4'\n }\n})\n\nconst SubscribeButton = styled('button')({\n height: '100%',\n padding: '0 22px',\n borderRadius: 6,\n border: 'none',\n backgroundColor: '#ff2d55',\n color: 'white',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 700,\n fontSize: 15,\n letterSpacing: 0.46,\n textTransform: 'uppercase' as const,\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n flexShrink: 0,\n boxSizing: 'border-box',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: '#e0264b'\n }\n})\n\n// ── Connect / Social ──────────────────────────────────────────────────\nconst ConnectSection = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.desktop-only': {\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.mobile-only': {\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n width: '100%',\n paddingTop: 12\n }\n }\n}))\n\nconst SectionLabel = styled('p')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 16,\n lineHeight: 1.5,\n color: '#cfcdd4',\n margin: 0,\n textTransform: 'uppercase' as const\n})\n\nconst SocialRow = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n color: 'white',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n color: 'inherit',\n display: 'flex',\n transition: 'opacity 0.2s',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n opacity: 0.7\n }\n }\n})\n\n// ── Right column (link columns) ──────────────────────────────────────\nconst RightColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n gap: 180,\n padding: '40px 0',\n [theme.breakpoints.down('lg')]: {\n gap: 80\n },\n [theme.breakpoints.down('md')]: {\n gap: 48\n },\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nconst LinkColumn = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n gap: 16\n})\n\nconst FooterLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.5,\n color: 'white',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n textDecoration: 'underline'\n }\n})\n\n// ── Mobile collapsible menu ──────────────────────────────────────────\nconst MobileMenu = styled('div')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n }\n}))\n\nconst MobileMenuLabel = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: 5,\n padding: '12px 0',\n borderBottom: '0.5px solid rgba(255, 255, 255, 0.1)',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 14,\n lineHeight: 1.75,\n color: '#cfcdd4',\n textTransform: 'uppercase' as const\n})\n\nconst MobileMenuDropdown = styled('button')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n padding: '24px 16px 24px 0',\n border: 'none',\n borderBottom: '0.5px solid rgba(255, 255, 255, 0.1)',\n background: 'none',\n cursor: 'pointer',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.75,\n color: 'white',\n textAlign: 'left'\n})\n\nconst DropdownChevron = styled('span')<{ open?: boolean }>(({ open }) => ({\n display: 'flex',\n transition: 'transform 0.3s ease',\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n color: 'white'\n}))\n\nconst DropdownContent = styled('div')<{ open?: boolean }>(({ open }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n overflow: 'hidden',\n maxHeight: open ? 400 : 0,\n opacity: open ? 1 : 0,\n padding: open ? '16px 0 8px' : '0',\n transition: 'max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease'\n}))\n\nconst MobileFooterLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 15,\n lineHeight: 1.5,\n color: '#fcfcfc',\n textDecoration: 'none',\n paddingLeft: 8,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n textDecoration: 'underline'\n }\n})\n\n// ── Bottom bar (legal links) ─────────────────────────────────────────\nconst BottomBar = styled('div')(({ theme }) => ({\n width: '100%',\n backgroundColor: '#161518',\n boxShadow: 'inset 0px 1px 0px 0px #43404a',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px 24px',\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 16\n }\n}))\n\nconst BottomBarLeft = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 16\n }\n}))\n\nconst BottomBarRight = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nconst LegalLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 14,\n lineHeight: 1.43,\n color: '#a09ba8',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n color: '#cfcdd4'\n }\n})\n\nconst CopyrightText = styled('span')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 15,\n lineHeight: '24px',\n color: '#a09ba8',\n whiteSpace: 'nowrap'\n})\n\nconst LanguageWrapper = styled('div')({\n position: 'relative'\n})\n\nconst LanguageButton = styled('button')({\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n padding: 0,\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 15,\n lineHeight: '24px',\n color: 'white'\n})\n\nconst LanguageMenu = styled('div')({\n position: 'absolute',\n bottom: '100%',\n left: 0,\n marginBottom: 8,\n backgroundColor: '#242129',\n borderRadius: 8,\n border: '1px solid #43404a',\n padding: '4px 0',\n minWidth: 140,\n zIndex: 10,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& button': {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n width: '100%',\n padding: '8px 16px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'Inter, sans-serif',\n fontSize: 14,\n color: '#cfcdd4',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.08)'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n color: 'white',\n fontWeight: 600\n }\n }\n})\n\nconst MobileLegalGrid = styled('div')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n gap: 142,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n gap: 16\n }\n }\n}))\n\nconst DesktopLegalLinks = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nexport {\n BottomBar,\n BottomBarLeft,\n BottomBarRight,\n ConnectSection,\n CopyrightText,\n DesktopLegalLinks,\n DropdownChevron,\n DropdownContent,\n EmailInput,\n EmailRow,\n FooterLink,\n FooterMain,\n FooterRoot,\n LanguageButton,\n LanguageMenu,\n LanguageWrapper,\n LeftColumn,\n LegalLink,\n LinkColumn,\n MobileFooterLink,\n MobileLegalGrid,\n MobileMenu,\n MobileMenuDropdown,\n MobileMenuLabel,\n NewsletterSection,\n NewsletterTitle,\n RightColumn,\n SectionLabel,\n SocialRow,\n SubscribeButton,\n Wordmark\n}\n","import { memo, useCallback, useEffect, useRef, useState } from 'react'\nimport { useAnalytics } from '@dcl/hooks'\nimport { useFormatMessage } from '../../hooks/adapters/useFormatMessage'\nimport { type SupportedLocale, useLocale } from '../../intl/LocaleContext'\nimport { SectionViewedTrack, SegmentEvent } from '../../modules/segment'\nimport { assetUrl } from '../../utils/assetUrl'\nimport { gettingStartedLinks, resourceLinks, socialLinks } from './footerConfig'\nimport { ChevronDown, Discord, GitHub, Instagram, LinkedIn, TikTok, XTwitter, YouTube } from './SocialIcons'\nimport {\n BottomBar,\n BottomBarLeft,\n BottomBarRight,\n ConnectSection,\n CopyrightText,\n DesktopLegalLinks,\n DropdownChevron,\n DropdownContent,\n FooterLink,\n FooterMain,\n FooterRoot,\n LanguageButton,\n LanguageMenu,\n LanguageWrapper,\n LeftColumn,\n LegalLink,\n LinkColumn,\n MobileFooterLink,\n MobileLegalGrid,\n MobileMenu,\n MobileMenuDropdown,\n MobileMenuLabel,\n NewsletterSection,\n NewsletterTitle,\n RightColumn,\n SectionLabel,\n SocialRow,\n Wordmark\n} from './LandingFooter.styled'\n\nconst BEEHIIV_EMBED_URL = 'https://embeds.beehiiv.com/ff89783d-748b-4ba3-8700-4759f6f62831?slim=true'\n\nconst socialIconMap: Record<string, React.FC> = {\n Discord,\n GitHub,\n X: XTwitter,\n Instagram,\n YouTube,\n TikTok,\n LinkedIn\n}\n\nconst legalLinks = [\n { label: 'Privacy Policy', url: '/privacy' },\n { label: 'Terms of Use', url: '/terms' },\n { label: 'Content Policy', url: '/content' },\n { label: 'Code of Ethics', url: '/ethics' }\n]\n\n// Country code → Twemoji CDN URL for cross-platform flag rendering (Windows lacks flag emojis)\nconst flagUrl = (code: string) => `https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/${code}.svg`\n\nconst LANGUAGES: { code: SupportedLocale; label: string; flag: string }[] = [\n { code: 'en', label: 'English', flag: flagUrl('1f1ec-1f1e7') },\n { code: 'es', label: 'Español', flag: flagUrl('1f1ea-1f1f8') },\n { code: 'fr', label: 'Français', flag: flagUrl('1f1eb-1f1f7') },\n { code: 'zh', label: '中文', flag: flagUrl('1f1e8-1f1f3') },\n { code: 'ko', label: '한국어', flag: flagUrl('1f1f0-1f1f7') },\n { code: 'ja', label: '日本語', flag: flagUrl('1f1ef-1f1f5') }\n]\n\nconst SocialIconsRow = ({ onTrack }: { onTrack?: (platform: string) => void }) => (\n <SocialRow>\n {socialLinks.map(link => {\n const Icon = socialIconMap[link.name]\n return (\n <a\n key={link.name}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={link.name}\n onClick={() => onTrack?.(link.name)}\n >\n <Icon />\n </a>\n )\n })}\n </SocialRow>\n)\n\nconst LandingFooter = memo(() => {\n const l = useFormatMessage()\n const { locale, setLocale } = useLocale()\n const { isInitialized, track } = useAnalytics()\n const [openSection, setOpenSection] = useState<string | null>(null)\n const [langOpen, setLangOpen] = useState(false)\n const langRef = useRef<HTMLDivElement>(null)\n\n const currentLang = LANGUAGES.find(lang => lang.code === locale) || LANGUAGES[0]\n\n const trackFooter = useCallback(\n (place: string, extra?: Record<string, string>) => {\n if (!isInitialized) return\n track(SegmentEvent.CLICK, { place, event: 'click', ...extra })\n },\n [isInitialized, track]\n )\n\n const handleSocialClick = useCallback(\n (platform: string) => trackFooter(SectionViewedTrack.LANDING_FOOTER_SOCIAL, { platform }),\n [trackFooter]\n )\n\n const toggleSection = useCallback((key: string) => {\n setOpenSection(prev => (prev === key ? null : key))\n }, [])\n\n // Close language menu on outside click\n useEffect(() => {\n if (!langOpen) return\n const handleClick = (e: MouseEvent) => {\n if (langRef.current && !langRef.current.contains(e.target as Node)) {\n setLangOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [langOpen])\n\n return (\n <FooterRoot>\n {/* ── Main footer (purple) ─────────────────────────────────────── */}\n <FooterMain>\n <LeftColumn>\n <Wordmark src={assetUrl('/dcl_name.svg')} alt=\"Decentraland\" />\n\n <NewsletterSection>\n <NewsletterTitle>{l('component.landing.footer.newsletter.title')}</NewsletterTitle>\n <iframe\n src={BEEHIIV_EMBED_URL}\n data-test-id=\"beehiiv-embed\"\n height=\"65\"\n frameBorder=\"0\"\n scrolling=\"no\"\n style={{ width: '100%', maxWidth: 450, border: 'none', borderRadius: 6 }}\n title=\"Newsletter signup\"\n />\n </NewsletterSection>\n\n <ConnectSection className=\"desktop-only\">\n <SectionLabel>{l('component.landing.footer.connect')}</SectionLabel>\n <SocialIconsRow onTrack={handleSocialClick} />\n </ConnectSection>\n </LeftColumn>\n\n <RightColumn>\n <LinkColumn>\n <SectionLabel>{l('component.landing.footer.getting_started.title')}</SectionLabel>\n {gettingStartedLinks.map(link => (\n <FooterLink\n key={link.labelKey}\n href={link.url}\n target={link.url.startsWith('http') ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </FooterLink>\n ))}\n </LinkColumn>\n <LinkColumn>\n <SectionLabel>{l('component.landing.footer.resources.title')}</SectionLabel>\n {resourceLinks.map(link => (\n <FooterLink\n key={link.labelKey}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </FooterLink>\n ))}\n </LinkColumn>\n </RightColumn>\n\n <MobileMenu>\n <MobileMenuLabel>{l('component.landing.footer.menu')}</MobileMenuLabel>\n\n <MobileMenuDropdown onClick={() => toggleSection('getting-started')}>\n {l('component.landing.footer.getting_started.title')}\n <DropdownChevron open={openSection === 'getting-started'}>\n <ChevronDown />\n </DropdownChevron>\n </MobileMenuDropdown>\n <DropdownContent open={openSection === 'getting-started'}>\n {gettingStartedLinks.map(link => (\n <MobileFooterLink\n key={link.labelKey}\n href={link.url}\n target={link.url.startsWith('http') ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </MobileFooterLink>\n ))}\n </DropdownContent>\n\n <MobileMenuDropdown onClick={() => toggleSection('resources')}>\n {l('component.landing.footer.resources.title')}\n <DropdownChevron open={openSection === 'resources'}>\n <ChevronDown />\n </DropdownChevron>\n </MobileMenuDropdown>\n <DropdownContent open={openSection === 'resources'}>\n {resourceLinks.map(link => (\n <MobileFooterLink\n key={link.labelKey}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </MobileFooterLink>\n ))}\n </DropdownContent>\n </MobileMenu>\n\n <ConnectSection className=\"mobile-only\">\n <SectionLabel>{l('component.landing.footer.connect')}</SectionLabel>\n <SocialIconsRow onTrack={handleSocialClick} />\n </ConnectSection>\n </FooterMain>\n\n {/* ── Bottom bar (legal links) ─────────────────────────────────── */}\n <BottomBar>\n <BottomBarLeft>\n <LanguageWrapper ref={langRef}>\n <LanguageButton onClick={() => setLangOpen(o => !o)}>\n <img src={currentLang.flag} alt=\"\" width={16} height={16} style={{ borderRadius: 2 }} />\n {currentLang.label}\n <DropdownChevron open={langOpen} style={{ display: 'inline-flex' }}>\n <ChevronDown />\n </DropdownChevron>\n </LanguageButton>\n {langOpen && (\n <LanguageMenu>\n {LANGUAGES.map(lang => (\n <button\n key={lang.code}\n className={lang.code === locale ? 'active' : ''}\n onClick={() => {\n setLocale(lang.code)\n setLangOpen(false)\n }}\n >\n <img src={lang.flag} alt=\"\" width={16} height={16} style={{ borderRadius: 2 }} />\n {lang.label}\n </button>\n ))}\n </LanguageMenu>\n )}\n </LanguageWrapper>\n\n <DesktopLegalLinks>\n {legalLinks.map(link => (\n <LegalLink key={link.label} href={link.url}>\n {link.label}\n </LegalLink>\n ))}\n </DesktopLegalLinks>\n\n <MobileLegalGrid>\n <div>\n <LegalLink href=\"/privacy\">Privacy Policy</LegalLink>\n <LegalLink href=\"/terms\">Terms of Use</LegalLink>\n </div>\n <div>\n <LegalLink href=\"/content\">Content Policy</LegalLink>\n <LegalLink href=\"/ethics\">Code of Ethics</LegalLink>\n </div>\n </MobileLegalGrid>\n </BottomBarLeft>\n\n <BottomBarRight>\n <CopyrightText>&copy; {new Date().getFullYear()} Decentraland</CopyrightText>\n </BottomBarRight>\n </BottomBar>\n </FooterRoot>\n )\n})\n\nLandingFooter.displayName = 'LandingFooter'\n\nexport { LandingFooter }\n"],"names":["socialLinks","gettingStartedLinks","resourceLinks","Discord","jsx","GitHub","XTwitter","Instagram","YouTube","TikTok","LinkedIn","ChevronDown","FooterRoot","styled","FooterMain","theme","LeftColumn","Wordmark","NewsletterSection","NewsletterTitle","ConnectSection","SectionLabel","SocialRow","RightColumn","LinkColumn","FooterLink","MobileMenu","MobileMenuLabel","MobileMenuDropdown","DropdownChevron","open","DropdownContent","MobileFooterLink","BottomBar","BottomBarLeft","BottomBarRight","LegalLink","CopyrightText","LanguageWrapper","LanguageButton","LanguageMenu","MobileLegalGrid","DesktopLegalLinks","BEEHIIV_EMBED_URL","socialIconMap","legalLinks","flagUrl","code","LANGUAGES","SocialIconsRow","onTrack","link","Icon","LandingFooter","memo","l","useFormatMessage","locale","setLocale","useLocale","isInitialized","track","useAnalytics","openSection","setOpenSection","useState","langOpen","setLangOpen","langRef","useRef","currentLang","lang","trackFooter","useCallback","place","extra","SegmentEvent","handleSocialClick","platform","SectionViewedTrack","toggleSection","key","prev","useEffect","handleClick","e","jsxs","assetUrl","o"],"mappings":"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"}
1
+ {"version":3,"file":"index-CvqSSkkA.js","sources":["../../src/components/LandingFooter/footerConfig.ts","../../src/components/LandingFooter/SocialIcons.tsx","../../src/components/LandingFooter/LandingFooter.styled.ts","../../src/components/LandingFooter/LandingFooter.tsx"],"sourcesContent":["const socialLinks = [\n { name: 'Discord', url: 'https://dcl.gg/discord' },\n { name: 'GitHub', url: 'https://github.com/decentraland' },\n { name: 'X', url: 'https://x.com/decentraland' },\n { name: 'Instagram', url: 'https://instagram.com/decentraland_foundation/' },\n { name: 'YouTube', url: 'https://youtube.com/@decentraland_foundation' },\n { name: 'TikTok', url: 'https://tiktok.com/@decentraland_fdn' },\n { name: 'LinkedIn', url: 'https://linkedin.com/company/decentralandorg' }\n] as const\n\nconst gettingStartedLinks = [\n { labelKey: 'component.landing.footer.getting_started.what_is', url: 'https://docs.decentraland.org/introduction/about-decentraland' },\n { labelKey: 'component.landing.footer.getting_started.download', url: '/download' },\n {\n labelKey: 'component.landing.footer.getting_started.system_requirements',\n url: 'https://docs.decentraland.org/in-world/settings-and-performance'\n },\n { labelKey: 'component.landing.footer.getting_started.faqs', url: 'https://docs.decentraland.org/faqs/decentraland-101' },\n { labelKey: 'component.landing.footer.getting_started.contact_support', url: 'https://decentraland.org/help/' }\n] as const\n\nconst resourceLinks = [\n { labelKey: 'component.landing.footer.resources.marketplace', url: 'https://decentraland.org/marketplace' },\n { labelKey: 'component.landing.footer.resources.creator_hub', url: 'https://decentraland.org/create/' },\n { labelKey: 'component.landing.footer.resources.docs', url: 'https://docs.decentraland.org' },\n { labelKey: 'component.landing.footer.resources.blog', url: 'https://decentraland.org/blog/' },\n { labelKey: 'component.landing.footer.resources.vote', url: 'https://decentraland.org/dao' }\n] as const\n\nexport { gettingStartedLinks, resourceLinks, socialLinks }\n","/** Inline SVG social icons — no MUI dependency, tiny footprint. */\n\nconst Discord = () => (\n <svg viewBox=\"0 0 28 22\" fill=\"currentColor\" width=\"28\" height=\"22\">\n <path d=\"M23.7 1.84A23.25 23.25 0 0 0 17.96 0c-.25.45-.54 1.05-.74 1.53a21.5 21.5 0 0 0-6.45 0C10.57 1.05 10.27.45 10.02 0A23.2 23.2 0 0 0 4.27 1.85C.62 7.34-.38 12.7.12 18a23.37 23.37 0 0 0 7.13 3.6 17.4 17.4 0 0 0 1.53-2.49 15.17 15.17 0 0 1-2.41-1.16c.2-.15.4-.3.59-.46a16.63 16.63 0 0 0 14.1 0c.19.16.39.31.58.46-.77.45-1.57.84-2.41 1.16.44.87.96 1.7 1.53 2.49a23.3 23.3 0 0 0 7.14-3.61c.58-6.15-1-11.47-4.1-16.15ZM9.35 14.74c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Zm9.38 0c-1.4 0-2.54-1.28-2.54-2.85s1.12-2.86 2.54-2.86 2.56 1.29 2.54 2.86c0 1.57-1.12 2.85-2.54 2.85Z\" />\n </svg>\n)\n\nconst GitHub = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12 .3a12 12 0 0 0-3.8 23.38c.6.12.82-.26.82-.58v-2.02c-3.34.73-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.08-.73.08-.73 1.2.09 1.84 1.24 1.84 1.24 1.07 1.83 2.8 1.3 3.49 1 .1-.78.42-1.3.76-1.6-2.67-.31-5.47-1.34-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.13-.3-.54-1.52.12-3.18 0 0 1-.33 3.3 1.23a11.5 11.5 0 0 1 6.02 0c2.28-1.56 3.29-1.23 3.29-1.23.66 1.66.25 2.88.12 3.18a4.65 4.65 0 0 1 1.24 3.22c0 4.61-2.81 5.62-5.48 5.92.43.37.81 1.1.81 2.22v3.29c0 .32.22.7.82.58A12 12 0 0 0 12 .3Z\" />\n </svg>\n)\n\nconst XTwitter = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231Zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77Z\" />\n </svg>\n)\n\nconst Instagram = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069ZM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0Zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324ZM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881Z\" />\n </svg>\n)\n\nconst YouTube = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z\" />\n </svg>\n)\n\nconst TikTok = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07Z\" />\n </svg>\n)\n\nconst LinkedIn = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"24\" height=\"24\">\n <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286ZM5.337 7.433a2.062 2.062 0 1 1 0-4.123 2.062 2.062 0 0 1 0 4.123ZM6.863 20.452H3.804V9h3.059v11.452ZM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003Z\" />\n </svg>\n)\n\nconst ChevronDown = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41Z\" />\n </svg>\n)\n\nexport { ChevronDown, Discord, GitHub, Instagram, LinkedIn, TikTok, XTwitter, YouTube }\n","import { styled } from 'decentraland-ui2'\n\n// ── Main footer (purple gradient) ─────────────────────────────────────\nconst FooterRoot = styled('footer')({\n width: '100%'\n})\n\nconst FooterMain = styled('div')(({ theme }) => ({\n width: '100%',\n background:\n 'radial-gradient(ellipse at 0% 0%, rgba(121,47,158,0.6) 0%, rgba(74,23,102,0.8) 25%, rgba(51,12,74,0.9) 50%, rgba(27,0,46,1) 75%)',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'stretch',\n padding: '32px 180px',\n [theme.breakpoints.down('lg')]: {\n padding: '32px 80px'\n },\n [theme.breakpoints.down('md')]: {\n padding: '32px 40px'\n },\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'center',\n gap: 32,\n padding: '48px 16px',\n background:\n 'radial-gradient(ellipse at 0% 0%, rgba(109,34,151,1) 0%, rgba(89,26,125,1) 12%, rgba(69,18,99,1) 25%, rgba(48,9,72,1) 50%, rgba(28,1,46,1) 75%)'\n }\n}))\n\n// ── Left column ───────────────────────────────────────────────────────\nconst LeftColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 40,\n padding: '40px 0',\n maxWidth: 450,\n [theme.breakpoints.down('xs')]: {\n padding: 0,\n width: '100%',\n alignItems: 'center',\n maxWidth: '100%'\n }\n}))\n\nconst Wordmark = styled('img')(({ theme }) => ({\n height: 48,\n width: 'auto',\n [theme.breakpoints.down('xs')]: {\n height: 40,\n maxWidth: 322\n }\n}))\n\nconst NewsletterSection = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 12,\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n alignItems: 'center'\n }\n}))\n\nconst NewsletterTitle = styled('p')(({ theme }) => ({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 500,\n fontSize: 20,\n lineHeight: 1.6,\n color: '#fcfcfc',\n margin: 0,\n [theme.breakpoints.down('xs')]: {\n textAlign: 'center'\n }\n}))\n\nconst EmailRow = styled('form')(({ theme }) => ({\n display: 'flex',\n gap: 8,\n height: 46,\n width: '100%',\n maxWidth: 450,\n [theme.breakpoints.down('xs')]: {\n height: 40,\n maxWidth: '100%'\n }\n}))\n\nconst EmailInput = styled('input')({\n flex: 1,\n height: '100%',\n padding: '0 16px',\n borderRadius: 6,\n border: '1px solid white',\n backgroundColor: '#fcfcfc',\n fontFamily: 'Inter, sans-serif',\n fontSize: 16,\n color: '#1b002e',\n outline: 'none',\n boxSizing: 'border-box',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&::placeholder': {\n color: '#cfcdd4'\n }\n})\n\nconst SubscribeButton = styled('button')({\n height: '100%',\n padding: '0 22px',\n borderRadius: 6,\n border: 'none',\n backgroundColor: '#ff2d55',\n color: 'white',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 700,\n fontSize: 15,\n letterSpacing: 0.46,\n textTransform: 'uppercase' as const,\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n flexShrink: 0,\n boxSizing: 'border-box',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: '#e0264b'\n }\n})\n\n// ── Connect / Social ──────────────────────────────────────────────────\nconst ConnectSection = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.desktop-only': {\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.mobile-only': {\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n width: '100%',\n paddingTop: 12\n }\n }\n}))\n\nconst SectionLabel = styled('p')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 16,\n lineHeight: 1.5,\n color: '#cfcdd4',\n margin: 0,\n textTransform: 'uppercase' as const\n})\n\nconst SocialRow = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n color: 'white',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& a': {\n color: 'inherit',\n display: 'flex',\n transition: 'opacity 0.2s',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n opacity: 0.7\n }\n }\n})\n\n// ── Right column (link columns) ──────────────────────────────────────\nconst RightColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n gap: 180,\n padding: '40px 0',\n [theme.breakpoints.down('lg')]: {\n gap: 80\n },\n [theme.breakpoints.down('md')]: {\n gap: 48\n },\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nconst LinkColumn = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n gap: 16\n})\n\nconst FooterLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.5,\n color: 'white',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n textDecoration: 'underline'\n }\n})\n\n// ── Mobile collapsible menu ──────────────────────────────────────────\nconst MobileMenu = styled('div')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n }\n}))\n\nconst MobileMenuLabel = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: 5,\n padding: '12px 0',\n borderBottom: '0.5px solid rgba(255, 255, 255, 0.1)',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 14,\n lineHeight: 1.75,\n color: '#cfcdd4',\n textTransform: 'uppercase' as const\n})\n\nconst MobileMenuDropdown = styled('button')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n padding: '24px 16px 24px 0',\n border: 'none',\n borderBottom: '0.5px solid rgba(255, 255, 255, 0.1)',\n background: 'none',\n cursor: 'pointer',\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 16,\n lineHeight: 1.75,\n color: 'white',\n textAlign: 'left'\n})\n\nconst DropdownChevron = styled('span')<{ open?: boolean }>(({ open }) => ({\n display: 'flex',\n transition: 'transform 0.3s ease',\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n color: 'white'\n}))\n\nconst DropdownContent = styled('div')<{ open?: boolean }>(({ open }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n overflow: 'hidden',\n maxHeight: open ? 400 : 0,\n opacity: open ? 1 : 0,\n padding: open ? '16px 0 8px' : '0',\n transition: 'max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease'\n}))\n\nconst MobileFooterLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 15,\n lineHeight: 1.5,\n color: '#fcfcfc',\n textDecoration: 'none',\n paddingLeft: 8,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n textDecoration: 'underline'\n }\n})\n\n// ── Bottom bar (legal links) ─────────────────────────────────────────\nconst BottomBar = styled('div')(({ theme }) => ({\n width: '100%',\n backgroundColor: '#161518',\n boxShadow: 'inset 0px 1px 0px 0px #43404a',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px 24px',\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 16\n }\n}))\n\nconst BottomBarLeft = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 16\n }\n}))\n\nconst BottomBarRight = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nconst LegalLink = styled('a')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 14,\n lineHeight: 1.43,\n color: '#a09ba8',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n color: '#cfcdd4'\n }\n})\n\nconst CopyrightText = styled('span')({\n fontFamily: 'Inter, sans-serif',\n fontWeight: 400,\n fontSize: 15,\n lineHeight: '24px',\n color: '#a09ba8',\n whiteSpace: 'nowrap'\n})\n\nconst LanguageWrapper = styled('div')({\n position: 'relative'\n})\n\nconst LanguageButton = styled('button')({\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n padding: 0,\n fontFamily: 'Inter, sans-serif',\n fontWeight: 600,\n fontSize: 15,\n lineHeight: '24px',\n color: 'white'\n})\n\nconst LanguageMenu = styled('div')({\n position: 'absolute',\n bottom: '100%',\n left: 0,\n marginBottom: 8,\n backgroundColor: '#242129',\n borderRadius: 8,\n border: '1px solid #43404a',\n padding: '4px 0',\n minWidth: 140,\n zIndex: 10,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& button': {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n width: '100%',\n padding: '8px 16px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'Inter, sans-serif',\n fontSize: 14,\n color: '#cfcdd4',\n whiteSpace: 'nowrap',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.08)'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n color: 'white',\n fontWeight: 600\n }\n }\n})\n\nconst MobileLegalGrid = styled('div')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'flex',\n gap: 142,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n gap: 16\n }\n }\n}))\n\nconst DesktopLegalLinks = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 16,\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n }\n}))\n\nexport {\n BottomBar,\n BottomBarLeft,\n BottomBarRight,\n ConnectSection,\n CopyrightText,\n DesktopLegalLinks,\n DropdownChevron,\n DropdownContent,\n EmailInput,\n EmailRow,\n FooterLink,\n FooterMain,\n FooterRoot,\n LanguageButton,\n LanguageMenu,\n LanguageWrapper,\n LeftColumn,\n LegalLink,\n LinkColumn,\n MobileFooterLink,\n MobileLegalGrid,\n MobileMenu,\n MobileMenuDropdown,\n MobileMenuLabel,\n NewsletterSection,\n NewsletterTitle,\n RightColumn,\n SectionLabel,\n SocialRow,\n SubscribeButton,\n Wordmark\n}\n","import { memo, useCallback, useEffect, useRef, useState } from 'react'\nimport { useAnalytics } from '@dcl/hooks'\nimport { useFormatMessage } from '../../hooks/adapters/useFormatMessage'\nimport { type SupportedLocale, useLocale } from '../../intl/LocaleContext'\nimport { SectionViewedTrack, SegmentEvent } from '../../modules/segment'\nimport { assetUrl } from '../../utils/assetUrl'\nimport { gettingStartedLinks, resourceLinks, socialLinks } from './footerConfig'\nimport { ChevronDown, Discord, GitHub, Instagram, LinkedIn, TikTok, XTwitter, YouTube } from './SocialIcons'\nimport {\n BottomBar,\n BottomBarLeft,\n BottomBarRight,\n ConnectSection,\n CopyrightText,\n DesktopLegalLinks,\n DropdownChevron,\n DropdownContent,\n FooterLink,\n FooterMain,\n FooterRoot,\n LanguageButton,\n LanguageMenu,\n LanguageWrapper,\n LeftColumn,\n LegalLink,\n LinkColumn,\n MobileFooterLink,\n MobileLegalGrid,\n MobileMenu,\n MobileMenuDropdown,\n MobileMenuLabel,\n NewsletterSection,\n NewsletterTitle,\n RightColumn,\n SectionLabel,\n SocialRow,\n Wordmark\n} from './LandingFooter.styled'\n\nconst BEEHIIV_EMBED_URL = 'https://embeds.beehiiv.com/ff89783d-748b-4ba3-8700-4759f6f62831?slim=true'\n\nconst socialIconMap: Record<string, React.FC> = {\n Discord,\n GitHub,\n X: XTwitter,\n Instagram,\n YouTube,\n TikTok,\n LinkedIn\n}\n\nconst legalLinks = [\n { label: 'Privacy Policy', url: '/privacy' },\n { label: 'Terms of Use', url: '/terms' },\n { label: 'Content Policy', url: '/content' },\n { label: 'Code of Ethics', url: '/ethics' }\n]\n\n// Country code → Twemoji CDN URL for cross-platform flag rendering (Windows lacks flag emojis)\nconst flagUrl = (code: string) => `https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/${code}.svg`\n\nconst LANGUAGES: { code: SupportedLocale; label: string; flag: string }[] = [\n { code: 'en', label: 'English', flag: flagUrl('1f1ec-1f1e7') },\n { code: 'es', label: 'Español', flag: flagUrl('1f1ea-1f1f8') },\n { code: 'fr', label: 'Français', flag: flagUrl('1f1eb-1f1f7') },\n { code: 'zh', label: '中文', flag: flagUrl('1f1e8-1f1f3') },\n { code: 'ko', label: '한국어', flag: flagUrl('1f1f0-1f1f7') },\n { code: 'ja', label: '日本語', flag: flagUrl('1f1ef-1f1f5') }\n]\n\nconst SocialIconsRow = ({ onTrack }: { onTrack?: (platform: string) => void }) => (\n <SocialRow>\n {socialLinks.map(link => {\n const Icon = socialIconMap[link.name]\n return (\n <a\n key={link.name}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={link.name}\n onClick={() => onTrack?.(link.name)}\n >\n <Icon />\n </a>\n )\n })}\n </SocialRow>\n)\n\nconst LandingFooter = memo(() => {\n const l = useFormatMessage()\n const { locale, setLocale } = useLocale()\n const { isInitialized, track } = useAnalytics()\n const [openSection, setOpenSection] = useState<string | null>(null)\n const [langOpen, setLangOpen] = useState(false)\n const langRef = useRef<HTMLDivElement>(null)\n\n const currentLang = LANGUAGES.find(lang => lang.code === locale) || LANGUAGES[0]\n\n const trackFooter = useCallback(\n (place: string, extra?: Record<string, string>) => {\n if (!isInitialized) return\n track(SegmentEvent.CLICK, { place, event: 'click', ...extra })\n },\n [isInitialized, track]\n )\n\n const handleSocialClick = useCallback(\n (platform: string) => trackFooter(SectionViewedTrack.LANDING_FOOTER_SOCIAL, { platform }),\n [trackFooter]\n )\n\n const toggleSection = useCallback((key: string) => {\n setOpenSection(prev => (prev === key ? null : key))\n }, [])\n\n // Close language menu on outside click\n useEffect(() => {\n if (!langOpen) return\n const handleClick = (e: MouseEvent) => {\n if (langRef.current && !langRef.current.contains(e.target as Node)) {\n setLangOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [langOpen])\n\n return (\n <FooterRoot>\n {/* ── Main footer (purple) ─────────────────────────────────────── */}\n <FooterMain>\n <LeftColumn>\n <Wordmark src={assetUrl('/dcl_name.svg')} alt=\"Decentraland\" />\n\n <NewsletterSection>\n <NewsletterTitle>{l('component.landing.footer.newsletter.title')}</NewsletterTitle>\n <iframe\n src={BEEHIIV_EMBED_URL}\n data-test-id=\"beehiiv-embed\"\n height=\"65\"\n frameBorder=\"0\"\n scrolling=\"no\"\n style={{ width: '100%', maxWidth: 450, border: 'none', borderRadius: 6 }}\n title=\"Newsletter signup\"\n />\n </NewsletterSection>\n\n <ConnectSection className=\"desktop-only\">\n <SectionLabel>{l('component.landing.footer.connect')}</SectionLabel>\n <SocialIconsRow onTrack={handleSocialClick} />\n </ConnectSection>\n </LeftColumn>\n\n <RightColumn>\n <LinkColumn>\n <SectionLabel>{l('component.landing.footer.getting_started.title')}</SectionLabel>\n {gettingStartedLinks.map(link => (\n <FooterLink\n key={link.labelKey}\n href={link.url}\n target={link.url.startsWith('http') ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </FooterLink>\n ))}\n </LinkColumn>\n <LinkColumn>\n <SectionLabel>{l('component.landing.footer.resources.title')}</SectionLabel>\n {resourceLinks.map(link => (\n <FooterLink\n key={link.labelKey}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </FooterLink>\n ))}\n </LinkColumn>\n </RightColumn>\n\n <MobileMenu>\n <MobileMenuLabel>{l('component.landing.footer.menu')}</MobileMenuLabel>\n\n <MobileMenuDropdown onClick={() => toggleSection('getting-started')}>\n {l('component.landing.footer.getting_started.title')}\n <DropdownChevron open={openSection === 'getting-started'}>\n <ChevronDown />\n </DropdownChevron>\n </MobileMenuDropdown>\n <DropdownContent open={openSection === 'getting-started'}>\n {gettingStartedLinks.map(link => (\n <MobileFooterLink\n key={link.labelKey}\n href={link.url}\n target={link.url.startsWith('http') ? '_blank' : undefined}\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </MobileFooterLink>\n ))}\n </DropdownContent>\n\n <MobileMenuDropdown onClick={() => toggleSection('resources')}>\n {l('component.landing.footer.resources.title')}\n <DropdownChevron open={openSection === 'resources'}>\n <ChevronDown />\n </DropdownChevron>\n </MobileMenuDropdown>\n <DropdownContent open={openSection === 'resources'}>\n {resourceLinks.map(link => (\n <MobileFooterLink\n key={link.labelKey}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackFooter(SectionViewedTrack.LANDING_FOOTER_LINK, { link: l(link.labelKey) })}\n >\n {l(link.labelKey)}\n </MobileFooterLink>\n ))}\n </DropdownContent>\n </MobileMenu>\n\n <ConnectSection className=\"mobile-only\">\n <SectionLabel>{l('component.landing.footer.connect')}</SectionLabel>\n <SocialIconsRow onTrack={handleSocialClick} />\n </ConnectSection>\n </FooterMain>\n\n {/* ── Bottom bar (legal links) ─────────────────────────────────── */}\n <BottomBar>\n <BottomBarLeft>\n <LanguageWrapper ref={langRef}>\n <LanguageButton onClick={() => setLangOpen(o => !o)}>\n <img src={currentLang.flag} alt=\"\" width={16} height={16} style={{ borderRadius: 2 }} />\n {currentLang.label}\n <DropdownChevron open={langOpen} style={{ display: 'inline-flex' }}>\n <ChevronDown />\n </DropdownChevron>\n </LanguageButton>\n {langOpen && (\n <LanguageMenu>\n {LANGUAGES.map(lang => (\n <button\n key={lang.code}\n className={lang.code === locale ? 'active' : ''}\n onClick={() => {\n setLocale(lang.code)\n setLangOpen(false)\n }}\n >\n <img src={lang.flag} alt=\"\" width={16} height={16} style={{ borderRadius: 2 }} />\n {lang.label}\n </button>\n ))}\n </LanguageMenu>\n )}\n </LanguageWrapper>\n\n <DesktopLegalLinks>\n {legalLinks.map(link => (\n <LegalLink key={link.label} href={link.url}>\n {link.label}\n </LegalLink>\n ))}\n </DesktopLegalLinks>\n\n <MobileLegalGrid>\n <div>\n <LegalLink href=\"/privacy\">Privacy Policy</LegalLink>\n <LegalLink href=\"/terms\">Terms of Use</LegalLink>\n </div>\n <div>\n <LegalLink href=\"/content\">Content Policy</LegalLink>\n <LegalLink href=\"/ethics\">Code of Ethics</LegalLink>\n </div>\n </MobileLegalGrid>\n </BottomBarLeft>\n\n <BottomBarRight>\n <CopyrightText>&copy; {new Date().getFullYear()} Decentraland</CopyrightText>\n </BottomBarRight>\n </BottomBar>\n </FooterRoot>\n )\n})\n\nLandingFooter.displayName = 'LandingFooter'\n\nexport { LandingFooter }\n"],"names":["socialLinks","gettingStartedLinks","resourceLinks","Discord","jsx","GitHub","XTwitter","Instagram","YouTube","TikTok","LinkedIn","ChevronDown","FooterRoot","styled","FooterMain","theme","LeftColumn","Wordmark","NewsletterSection","NewsletterTitle","ConnectSection","SectionLabel","SocialRow","RightColumn","LinkColumn","FooterLink","MobileMenu","MobileMenuLabel","MobileMenuDropdown","DropdownChevron","open","DropdownContent","MobileFooterLink","BottomBar","BottomBarLeft","BottomBarRight","LegalLink","CopyrightText","LanguageWrapper","LanguageButton","LanguageMenu","MobileLegalGrid","DesktopLegalLinks","BEEHIIV_EMBED_URL","socialIconMap","legalLinks","flagUrl","code","LANGUAGES","SocialIconsRow","onTrack","link","Icon","LandingFooter","memo","l","useFormatMessage","locale","setLocale","useLocale","isInitialized","track","useAnalytics","openSection","setOpenSection","useState","langOpen","setLangOpen","langRef","useRef","currentLang","lang","trackFooter","useCallback","place","extra","SegmentEvent","handleSocialClick","platform","SectionViewedTrack","toggleSection","key","prev","useEffect","handleClick","e","jsxs","assetUrl","o"],"mappings":"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"}
@@ -1 +1 @@
1
- import{j as e}from"./index-DaRevScO.js";import{r as t}from"./vendor-router-D_36sTKu.js";import{L as s,P as r,S as i,a,B as n}from"./LegalPageLayout-BGd6IPpz.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const o=[{id:"general-provisions",label:"1. General Provisions"},{id:"how-it-works",label:"2. How It Works"},{id:"rewards-structure",label:"3. Rewards Structure"},{id:"reward-distribution",label:"4. Reward Distribution and Delivery"},{id:"program-abuse",label:"5. Program Abuse and Disqualification"},{id:"email-notifications",label:"6. Email Notifications"},{id:"changes-and-termination",label:"7. Changes and Termination"},{id:"miscellaneous",label:"8. Miscellaneous"}],l=t.memo(()=>e.jsxs(s,{title:"Referral",activeSlug:"/referral-terms",tableOfContents:o,children:[e.jsx(r,{children:"Referral Program – Terms and Conditions"}),e.jsxs(i,{id:"general-provisions",children:[e.jsx(a,{children:"1. General Provisions"}),e.jsx(r,{children:'1.1. This Referral Program ("Program") is open to all registered users of Decentraland platform who are in good standing and comply with our general Terms of Service.'}),e.jsx(r,{children:"1.2. Participation in the Program constitutes acceptance of these Terms and Conditions, as well as the Decentraland Terms of Use, Privacy Policy, and Content Policy."}),e.jsx(r,{children:"1.3. The Decentraland Foundation reserves the right to modify, suspend, or terminate the Program at its discretion."})]}),e.jsxs(i,{id:"how-it-works",children:[e.jsx(a,{children:"2. How It Works"}),e.jsx(r,{children:'2.1. To refer a new user, share your unique referral link. A referred user ("Referee") will be considered valid if the following conditions are met:'}),e.jsxs(n,{children:[e.jsx("li",{children:"The Referee successfully creates an account on our platform using a referral link."}),e.jsx("li",{children:"The Referee downloads and installs Decentraland's desktop client."}),e.jsx("li",{children:"The Referee jumps into Genesis City via the desktop client three (3) different days."})]}),e.jsx(r,{children:"2.2. Only referrals meeting those criteria will count towards your reward tally."}),e.jsx(r,{children:'2.3. Every successful referral should count and be displayed in a counter under the "Referral Rewards" section.'})]}),e.jsxs(i,{id:"rewards-structure",children:[e.jsx(a,{children:"3. Rewards Structure"}),e.jsx(r,{children:'Rewards are granted based on the number of valid referrals you accumulate in the "Referral Rewards" section. Each reward tier is cumulative and unlocks sequentially:'}),e.jsxs(n,{children:[e.jsx("li",{children:"5 Friends Joined: EPIC Bottoms Wearable + Starter Community Recruiter Badge"}),e.jsx("li",{children:"10 Friends Joined: EPIC Jacket Wearable + Bronze Community Recruiter Badge"}),e.jsx("li",{children:"20 Friends Joined: LEGENDARY Handwear Wearable"}),e.jsx("li",{children:"25 Friends Joined: LEGENDARY Emote + Silver Community Recruiter Badge"}),e.jsx("li",{children:"30 Friends Joined: EXOTIC Shoes Wearable"}),e.jsx("li",{children:"50 Friends Joined: EXOTIC Hair Wearable + Gold Community Recruiter Badge"}),e.jsx("li",{children:'60 Friends Joined: MYTHIC "Companion-style" Wearable'}),e.jsx("li",{children:"75 Friends Joined: MYTHIC Looping Emote+ Platinum Community Recruiter Badge"}),e.jsx("li",{children:"100 Friends Joined: IRL Swag Pack + Digital Twin Wearable + Diamond Community Recruiter Badge"})]})]}),e.jsxs(i,{id:"reward-distribution",children:[e.jsx(a,{children:"4. Reward Distribution and Delivery"}),e.jsx(r,{children:"4.1. Digital rewards (Wearables, Emotes, badges, and Credits) will be automatically credited to your account within 3 business days of reaching a reward tier."}),e.jsx(r,{children:"4.2. IRL rewards require contact through the designated email or the email address you share for such purpose."}),e.jsx(r,{children:"4.3. We commit to delivering the Rewards in accordance with the rarity levels of the Wearables as stated in the Program. However, we do not guarantee the delivery of a specific Wearable within a given rarity category, as each Wearable is subject to availability and are traded on the Marketplace."})]}),e.jsxs(i,{id:"program-abuse",children:[e.jsx(a,{children:"5. Program Abuse and Disqualification"}),e.jsx(r,{children:"We reserve the right to disqualify participants who attempt to game, abuse, or manipulate the referral system, including but not limited to creating fake accounts, using bots, or violating the platform's Terms of Service."})]}),e.jsxs(i,{id:"email-notifications",children:[e.jsx(a,{children:"6. Email Notifications"}),e.jsx(r,{children:'6.1. By participating in the Program, you consent to receive email notifications related to "Referral Program."'}),e.jsx(r,{children:"6.2. The Decentraland Foundation may add additional email notification categories in the future."})]}),e.jsxs(i,{id:"changes-and-termination",children:[e.jsx(a,{children:"7. Changes and Termination"}),e.jsx(r,{children:"We reserve the right to modify or terminate this Program at any time without prior notice. Any changes will be effective immediately upon posting an updated version of these Terms and Conditions."})]}),e.jsxs(i,{id:"miscellaneous",children:[e.jsx(a,{children:"8. Miscellaneous"}),e.jsx(r,{children:"7.1. The Decentraland Foundation is not responsible for any technical malfunctions, errors, or issues that may affect participation in the Program."}),e.jsx(r,{children:"7.2. Any disputes regarding the Program shall be resolved at the sole discretion of the Decentraland Foundation."}),e.jsxs(r,{children:["7.3. For any questions regarding the Referral Program, please contact our support team via the platform or at"," ",e.jsx("a",{href:"mailto:support@decentraland.org",children:"support@decentraland.org"}),"."]}),e.jsx(r,{children:"Updated August 18, 2025"})]})]}));l.displayName="ReferralTerms";export{l as ReferralTerms};
1
+ import{j as e}from"./index-Cjx-6-Fc.js";import{r as t}from"./vendor-router-D_36sTKu.js";import{L as s,P as r,S as i,a,B as n}from"./LegalPageLayout-PNgx2stH.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const o=[{id:"general-provisions",label:"1. General Provisions"},{id:"how-it-works",label:"2. How It Works"},{id:"rewards-structure",label:"3. Rewards Structure"},{id:"reward-distribution",label:"4. Reward Distribution and Delivery"},{id:"program-abuse",label:"5. Program Abuse and Disqualification"},{id:"email-notifications",label:"6. Email Notifications"},{id:"changes-and-termination",label:"7. Changes and Termination"},{id:"miscellaneous",label:"8. Miscellaneous"}],l=t.memo(()=>e.jsxs(s,{title:"Referral",activeSlug:"/referral-terms",tableOfContents:o,children:[e.jsx(r,{children:"Referral Program – Terms and Conditions"}),e.jsxs(i,{id:"general-provisions",children:[e.jsx(a,{children:"1. General Provisions"}),e.jsx(r,{children:'1.1. This Referral Program ("Program") is open to all registered users of Decentraland platform who are in good standing and comply with our general Terms of Service.'}),e.jsx(r,{children:"1.2. Participation in the Program constitutes acceptance of these Terms and Conditions, as well as the Decentraland Terms of Use, Privacy Policy, and Content Policy."}),e.jsx(r,{children:"1.3. The Decentraland Foundation reserves the right to modify, suspend, or terminate the Program at its discretion."})]}),e.jsxs(i,{id:"how-it-works",children:[e.jsx(a,{children:"2. How It Works"}),e.jsx(r,{children:'2.1. To refer a new user, share your unique referral link. A referred user ("Referee") will be considered valid if the following conditions are met:'}),e.jsxs(n,{children:[e.jsx("li",{children:"The Referee successfully creates an account on our platform using a referral link."}),e.jsx("li",{children:"The Referee downloads and installs Decentraland's desktop client."}),e.jsx("li",{children:"The Referee jumps into Genesis City via the desktop client three (3) different days."})]}),e.jsx(r,{children:"2.2. Only referrals meeting those criteria will count towards your reward tally."}),e.jsx(r,{children:'2.3. Every successful referral should count and be displayed in a counter under the "Referral Rewards" section.'})]}),e.jsxs(i,{id:"rewards-structure",children:[e.jsx(a,{children:"3. Rewards Structure"}),e.jsx(r,{children:'Rewards are granted based on the number of valid referrals you accumulate in the "Referral Rewards" section. Each reward tier is cumulative and unlocks sequentially:'}),e.jsxs(n,{children:[e.jsx("li",{children:"5 Friends Joined: EPIC Bottoms Wearable + Starter Community Recruiter Badge"}),e.jsx("li",{children:"10 Friends Joined: EPIC Jacket Wearable + Bronze Community Recruiter Badge"}),e.jsx("li",{children:"20 Friends Joined: LEGENDARY Handwear Wearable"}),e.jsx("li",{children:"25 Friends Joined: LEGENDARY Emote + Silver Community Recruiter Badge"}),e.jsx("li",{children:"30 Friends Joined: EXOTIC Shoes Wearable"}),e.jsx("li",{children:"50 Friends Joined: EXOTIC Hair Wearable + Gold Community Recruiter Badge"}),e.jsx("li",{children:'60 Friends Joined: MYTHIC "Companion-style" Wearable'}),e.jsx("li",{children:"75 Friends Joined: MYTHIC Looping Emote+ Platinum Community Recruiter Badge"}),e.jsx("li",{children:"100 Friends Joined: IRL Swag Pack + Digital Twin Wearable + Diamond Community Recruiter Badge"})]})]}),e.jsxs(i,{id:"reward-distribution",children:[e.jsx(a,{children:"4. Reward Distribution and Delivery"}),e.jsx(r,{children:"4.1. Digital rewards (Wearables, Emotes, badges, and Credits) will be automatically credited to your account within 3 business days of reaching a reward tier."}),e.jsx(r,{children:"4.2. IRL rewards require contact through the designated email or the email address you share for such purpose."}),e.jsx(r,{children:"4.3. We commit to delivering the Rewards in accordance with the rarity levels of the Wearables as stated in the Program. However, we do not guarantee the delivery of a specific Wearable within a given rarity category, as each Wearable is subject to availability and are traded on the Marketplace."})]}),e.jsxs(i,{id:"program-abuse",children:[e.jsx(a,{children:"5. Program Abuse and Disqualification"}),e.jsx(r,{children:"We reserve the right to disqualify participants who attempt to game, abuse, or manipulate the referral system, including but not limited to creating fake accounts, using bots, or violating the platform's Terms of Service."})]}),e.jsxs(i,{id:"email-notifications",children:[e.jsx(a,{children:"6. Email Notifications"}),e.jsx(r,{children:'6.1. By participating in the Program, you consent to receive email notifications related to "Referral Program."'}),e.jsx(r,{children:"6.2. The Decentraland Foundation may add additional email notification categories in the future."})]}),e.jsxs(i,{id:"changes-and-termination",children:[e.jsx(a,{children:"7. Changes and Termination"}),e.jsx(r,{children:"We reserve the right to modify or terminate this Program at any time without prior notice. Any changes will be effective immediately upon posting an updated version of these Terms and Conditions."})]}),e.jsxs(i,{id:"miscellaneous",children:[e.jsx(a,{children:"8. Miscellaneous"}),e.jsx(r,{children:"7.1. The Decentraland Foundation is not responsible for any technical malfunctions, errors, or issues that may affect participation in the Program."}),e.jsx(r,{children:"7.2. Any disputes regarding the Program shall be resolved at the sole discretion of the Decentraland Foundation."}),e.jsxs(r,{children:["7.3. For any questions regarding the Referral Program, please contact our support team via the platform or at"," ",e.jsx("a",{href:"mailto:support@decentraland.org",children:"support@decentraland.org"}),"."]}),e.jsx(r,{children:"Updated August 18, 2025"})]})]}));l.displayName="ReferralTerms";export{l as ReferralTerms};
@@ -1 +1 @@
1
- {"version":3,"file":"index-Dfjt7DKD.js","sources":["../../src/pages/referral-terms/ReferralTerms.tsx"],"sourcesContent":["import { memo } from 'react'\nimport { BulletList, LegalPageLayout, Paragraph, Section, SectionTitle } from '../../components/LegalPage'\nimport type { TOCEntry } from '../../components/LegalPage'\n\nconst TABLE_OF_CONTENTS: TOCEntry[] = [\n { id: 'general-provisions', label: '1. General Provisions' },\n { id: 'how-it-works', label: '2. How It Works' },\n { id: 'rewards-structure', label: '3. Rewards Structure' },\n { id: 'reward-distribution', label: '4. Reward Distribution and Delivery' },\n { id: 'program-abuse', label: '5. Program Abuse and Disqualification' },\n { id: 'email-notifications', label: '6. Email Notifications' },\n { id: 'changes-and-termination', label: '7. Changes and Termination' },\n { id: 'miscellaneous', label: '8. Miscellaneous' }\n]\n\nconst ReferralTerms = memo(() => (\n <LegalPageLayout title=\"Referral\" activeSlug=\"/referral-terms\" tableOfContents={TABLE_OF_CONTENTS}>\n <Paragraph>Referral Program &ndash; Terms and Conditions</Paragraph>\n\n <Section id=\"general-provisions\">\n <SectionTitle>1. General Provisions</SectionTitle>\n <Paragraph>\n 1.1. This Referral Program (&quot;Program&quot;) is open to all registered users of Decentraland platform who are in good standing\n and comply with our general Terms of Service.\n </Paragraph>\n <Paragraph>\n 1.2. Participation in the Program constitutes acceptance of these Terms and Conditions, as well as the Decentraland Terms of Use,\n Privacy Policy, and Content Policy.\n </Paragraph>\n <Paragraph>\n 1.3. The Decentraland Foundation reserves the right to modify, suspend, or terminate the Program at its discretion.\n </Paragraph>\n </Section>\n\n <Section id=\"how-it-works\">\n <SectionTitle>2. How It Works</SectionTitle>\n <Paragraph>\n 2.1. To refer a new user, share your unique referral link. A referred user (&quot;Referee&quot;) will be considered valid if the\n following conditions are met:\n </Paragraph>\n <BulletList>\n <li>The Referee successfully creates an account on our platform using a referral link.</li>\n <li>The Referee downloads and installs Decentraland&apos;s desktop client.</li>\n <li>The Referee jumps into Genesis City via the desktop client three (3) different days.</li>\n </BulletList>\n <Paragraph>2.2. Only referrals meeting those criteria will count towards your reward tally.</Paragraph>\n <Paragraph>\n 2.3. Every successful referral should count and be displayed in a counter under the &quot;Referral Rewards&quot; section.\n </Paragraph>\n </Section>\n\n <Section id=\"rewards-structure\">\n <SectionTitle>3. Rewards Structure</SectionTitle>\n <Paragraph>\n Rewards are granted based on the number of valid referrals you accumulate in the &quot;Referral Rewards&quot; section. Each reward\n tier is cumulative and unlocks sequentially:\n </Paragraph>\n <BulletList>\n <li>5 Friends Joined: EPIC Bottoms Wearable + Starter Community Recruiter Badge</li>\n <li>10 Friends Joined: EPIC Jacket Wearable + Bronze Community Recruiter Badge</li>\n <li>20 Friends Joined: LEGENDARY Handwear Wearable</li>\n <li>25 Friends Joined: LEGENDARY Emote + Silver Community Recruiter Badge</li>\n <li>30 Friends Joined: EXOTIC Shoes Wearable</li>\n <li>50 Friends Joined: EXOTIC Hair Wearable + Gold Community Recruiter Badge</li>\n <li>60 Friends Joined: MYTHIC &quot;Companion-style&quot; Wearable</li>\n <li>75 Friends Joined: MYTHIC Looping Emote+ Platinum Community Recruiter Badge</li>\n <li>100 Friends Joined: IRL Swag Pack + Digital Twin Wearable + Diamond Community Recruiter Badge</li>\n </BulletList>\n </Section>\n\n <Section id=\"reward-distribution\">\n <SectionTitle>4. Reward Distribution and Delivery</SectionTitle>\n <Paragraph>\n 4.1. Digital rewards (Wearables, Emotes, badges, and Credits) will be automatically credited to your account within 3 business days\n of reaching a reward tier.\n </Paragraph>\n <Paragraph>4.2. IRL rewards require contact through the designated email or the email address you share for such purpose.</Paragraph>\n <Paragraph>\n 4.3. We commit to delivering the Rewards in accordance with the rarity levels of the Wearables as stated in the Program. However, we\n do not guarantee the delivery of a specific Wearable within a given rarity category, as each Wearable is subject to availability and\n are traded on the Marketplace.\n </Paragraph>\n </Section>\n\n <Section id=\"program-abuse\">\n <SectionTitle>5. Program Abuse and Disqualification</SectionTitle>\n <Paragraph>\n We reserve the right to disqualify participants who attempt to game, abuse, or manipulate the referral system, including but not\n limited to creating fake accounts, using bots, or violating the platform&apos;s Terms of Service.\n </Paragraph>\n </Section>\n\n <Section id=\"email-notifications\">\n <SectionTitle>6. Email Notifications</SectionTitle>\n <Paragraph>\n 6.1. By participating in the Program, you consent to receive email notifications related to &quot;Referral Program.&quot;\n </Paragraph>\n <Paragraph>6.2. The Decentraland Foundation may add additional email notification categories in the future.</Paragraph>\n </Section>\n\n <Section id=\"changes-and-termination\">\n <SectionTitle>7. Changes and Termination</SectionTitle>\n <Paragraph>\n We reserve the right to modify or terminate this Program at any time without prior notice. Any changes will be effective immediately\n upon posting an updated version of these Terms and Conditions.\n </Paragraph>\n </Section>\n\n <Section id=\"miscellaneous\">\n <SectionTitle>8. Miscellaneous</SectionTitle>\n <Paragraph>\n 7.1. The Decentraland Foundation is not responsible for any technical malfunctions, errors, or issues that may affect participation\n in the Program.\n </Paragraph>\n <Paragraph>\n 7.2. Any disputes regarding the Program shall be resolved at the sole discretion of the Decentraland Foundation.\n </Paragraph>\n <Paragraph>\n 7.3. For any questions regarding the Referral Program, please contact our support team via the platform or at{' '}\n <a href=\"mailto:support@decentraland.org\">support@decentraland.org</a>.\n </Paragraph>\n <Paragraph>Updated August 18, 2025</Paragraph>\n </Section>\n </LegalPageLayout>\n))\n\nReferralTerms.displayName = 'ReferralTerms'\n\nexport { ReferralTerms }\n"],"names":["TABLE_OF_CONTENTS","ReferralTerms","memo","jsxs","LegalPageLayout","jsx","Paragraph","Section","SectionTitle","BulletList"],"mappings":"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"}
1
+ {"version":3,"file":"index-D-pfpn_u.js","sources":["../../src/pages/referral-terms/ReferralTerms.tsx"],"sourcesContent":["import { memo } from 'react'\nimport { BulletList, LegalPageLayout, Paragraph, Section, SectionTitle } from '../../components/LegalPage'\nimport type { TOCEntry } from '../../components/LegalPage'\n\nconst TABLE_OF_CONTENTS: TOCEntry[] = [\n { id: 'general-provisions', label: '1. General Provisions' },\n { id: 'how-it-works', label: '2. How It Works' },\n { id: 'rewards-structure', label: '3. Rewards Structure' },\n { id: 'reward-distribution', label: '4. Reward Distribution and Delivery' },\n { id: 'program-abuse', label: '5. Program Abuse and Disqualification' },\n { id: 'email-notifications', label: '6. Email Notifications' },\n { id: 'changes-and-termination', label: '7. Changes and Termination' },\n { id: 'miscellaneous', label: '8. Miscellaneous' }\n]\n\nconst ReferralTerms = memo(() => (\n <LegalPageLayout title=\"Referral\" activeSlug=\"/referral-terms\" tableOfContents={TABLE_OF_CONTENTS}>\n <Paragraph>Referral Program &ndash; Terms and Conditions</Paragraph>\n\n <Section id=\"general-provisions\">\n <SectionTitle>1. General Provisions</SectionTitle>\n <Paragraph>\n 1.1. This Referral Program (&quot;Program&quot;) is open to all registered users of Decentraland platform who are in good standing\n and comply with our general Terms of Service.\n </Paragraph>\n <Paragraph>\n 1.2. Participation in the Program constitutes acceptance of these Terms and Conditions, as well as the Decentraland Terms of Use,\n Privacy Policy, and Content Policy.\n </Paragraph>\n <Paragraph>\n 1.3. The Decentraland Foundation reserves the right to modify, suspend, or terminate the Program at its discretion.\n </Paragraph>\n </Section>\n\n <Section id=\"how-it-works\">\n <SectionTitle>2. How It Works</SectionTitle>\n <Paragraph>\n 2.1. To refer a new user, share your unique referral link. A referred user (&quot;Referee&quot;) will be considered valid if the\n following conditions are met:\n </Paragraph>\n <BulletList>\n <li>The Referee successfully creates an account on our platform using a referral link.</li>\n <li>The Referee downloads and installs Decentraland&apos;s desktop client.</li>\n <li>The Referee jumps into Genesis City via the desktop client three (3) different days.</li>\n </BulletList>\n <Paragraph>2.2. Only referrals meeting those criteria will count towards your reward tally.</Paragraph>\n <Paragraph>\n 2.3. Every successful referral should count and be displayed in a counter under the &quot;Referral Rewards&quot; section.\n </Paragraph>\n </Section>\n\n <Section id=\"rewards-structure\">\n <SectionTitle>3. Rewards Structure</SectionTitle>\n <Paragraph>\n Rewards are granted based on the number of valid referrals you accumulate in the &quot;Referral Rewards&quot; section. Each reward\n tier is cumulative and unlocks sequentially:\n </Paragraph>\n <BulletList>\n <li>5 Friends Joined: EPIC Bottoms Wearable + Starter Community Recruiter Badge</li>\n <li>10 Friends Joined: EPIC Jacket Wearable + Bronze Community Recruiter Badge</li>\n <li>20 Friends Joined: LEGENDARY Handwear Wearable</li>\n <li>25 Friends Joined: LEGENDARY Emote + Silver Community Recruiter Badge</li>\n <li>30 Friends Joined: EXOTIC Shoes Wearable</li>\n <li>50 Friends Joined: EXOTIC Hair Wearable + Gold Community Recruiter Badge</li>\n <li>60 Friends Joined: MYTHIC &quot;Companion-style&quot; Wearable</li>\n <li>75 Friends Joined: MYTHIC Looping Emote+ Platinum Community Recruiter Badge</li>\n <li>100 Friends Joined: IRL Swag Pack + Digital Twin Wearable + Diamond Community Recruiter Badge</li>\n </BulletList>\n </Section>\n\n <Section id=\"reward-distribution\">\n <SectionTitle>4. Reward Distribution and Delivery</SectionTitle>\n <Paragraph>\n 4.1. Digital rewards (Wearables, Emotes, badges, and Credits) will be automatically credited to your account within 3 business days\n of reaching a reward tier.\n </Paragraph>\n <Paragraph>4.2. IRL rewards require contact through the designated email or the email address you share for such purpose.</Paragraph>\n <Paragraph>\n 4.3. We commit to delivering the Rewards in accordance with the rarity levels of the Wearables as stated in the Program. However, we\n do not guarantee the delivery of a specific Wearable within a given rarity category, as each Wearable is subject to availability and\n are traded on the Marketplace.\n </Paragraph>\n </Section>\n\n <Section id=\"program-abuse\">\n <SectionTitle>5. Program Abuse and Disqualification</SectionTitle>\n <Paragraph>\n We reserve the right to disqualify participants who attempt to game, abuse, or manipulate the referral system, including but not\n limited to creating fake accounts, using bots, or violating the platform&apos;s Terms of Service.\n </Paragraph>\n </Section>\n\n <Section id=\"email-notifications\">\n <SectionTitle>6. Email Notifications</SectionTitle>\n <Paragraph>\n 6.1. By participating in the Program, you consent to receive email notifications related to &quot;Referral Program.&quot;\n </Paragraph>\n <Paragraph>6.2. The Decentraland Foundation may add additional email notification categories in the future.</Paragraph>\n </Section>\n\n <Section id=\"changes-and-termination\">\n <SectionTitle>7. Changes and Termination</SectionTitle>\n <Paragraph>\n We reserve the right to modify or terminate this Program at any time without prior notice. Any changes will be effective immediately\n upon posting an updated version of these Terms and Conditions.\n </Paragraph>\n </Section>\n\n <Section id=\"miscellaneous\">\n <SectionTitle>8. Miscellaneous</SectionTitle>\n <Paragraph>\n 7.1. The Decentraland Foundation is not responsible for any technical malfunctions, errors, or issues that may affect participation\n in the Program.\n </Paragraph>\n <Paragraph>\n 7.2. Any disputes regarding the Program shall be resolved at the sole discretion of the Decentraland Foundation.\n </Paragraph>\n <Paragraph>\n 7.3. For any questions regarding the Referral Program, please contact our support team via the platform or at{' '}\n <a href=\"mailto:support@decentraland.org\">support@decentraland.org</a>.\n </Paragraph>\n <Paragraph>Updated August 18, 2025</Paragraph>\n </Section>\n </LegalPageLayout>\n))\n\nReferralTerms.displayName = 'ReferralTerms'\n\nexport { ReferralTerms }\n"],"names":["TABLE_OF_CONTENTS","ReferralTerms","memo","jsxs","LegalPageLayout","jsx","Paragraph","Section","SectionTitle","BulletList"],"mappings":"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"}
@@ -1 +1 @@
1
- import{a as k,b as O}from"./index-BpUUMJJL.js";import"./index-DaRevScO.js";import"./vendor-router-D_36sTKu.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function j(a,e){return Object.keys(e).reduce(function(i,t){if(t.startsWith(a)){var r=t.substr(a.length);i[r]=e[t]}return i},{})}function U(a,e){var i=document.createElement("a");i.href=e;var t=i.search.slice(1),r=t.split("&").reduce(function(v,P){var p=P.split("="),b=p[0],S=p[1];return v[b]=k(S),v},{}),s=[],m=r.ajs_uid,f=r.ajs_event,c=r.ajs_aid,n=O(a.options.useQueryString)?a.options.useQueryString:{},u=n.aid,l=u===void 0?/.+/:u,o=n.uid,A=o===void 0?/.+/:o;if(c){var _=Array.isArray(r.ajs_aid)?r.ajs_aid[0]:r.ajs_aid;l.test(_)&&a.setAnonymousId(_)}if(m){var d=Array.isArray(r.ajs_uid)?r.ajs_uid[0]:r.ajs_uid;if(A.test(d)){var h=j("ajs_trait_",r);s.push(a.identify(d,h))}}if(f){var y=Array.isArray(r.ajs_event)?r.ajs_event[0]:r.ajs_event,g=j("ajs_prop_",r);s.push(a.track(y,g))}return Promise.all(s)}export{U as queryString};
1
+ import{a as k,b as O}from"./index-B8Zt542v.js";import"./index-Cjx-6-Fc.js";import"./vendor-router-D_36sTKu.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function j(a,e){return Object.keys(e).reduce(function(i,t){if(t.startsWith(a)){var r=t.substr(a.length);i[r]=e[t]}return i},{})}function U(a,e){var i=document.createElement("a");i.href=e;var t=i.search.slice(1),r=t.split("&").reduce(function(v,P){var p=P.split("="),b=p[0],S=p[1];return v[b]=k(S),v},{}),s=[],m=r.ajs_uid,f=r.ajs_event,c=r.ajs_aid,n=O(a.options.useQueryString)?a.options.useQueryString:{},u=n.aid,l=u===void 0?/.+/:u,o=n.uid,A=o===void 0?/.+/:o;if(c){var _=Array.isArray(r.ajs_aid)?r.ajs_aid[0]:r.ajs_aid;l.test(_)&&a.setAnonymousId(_)}if(m){var d=Array.isArray(r.ajs_uid)?r.ajs_uid[0]:r.ajs_uid;if(A.test(d)){var h=j("ajs_trait_",r);s.push(a.identify(d,h))}}if(f){var y=Array.isArray(r.ajs_event)?r.ajs_event[0]:r.ajs_event,g=j("ajs_prop_",r);s.push(a.track(y,g))}return Promise.all(s)}export{U as queryString};
@@ -1 +1 @@
1
- {"version":3,"file":"index-BsykSOSe.js","sources":["../../node_modules/@segment/analytics-next/dist/pkg/core/query-string/pickPrefix.js","../../node_modules/@segment/analytics-next/dist/pkg/core/query-string/index.js"],"sourcesContent":["/**\n * Returns an object containing only the properties prefixed by the input\n * string.\n * Ex: prefix('ajs_traits_', { ajs_traits_address: '123 St' })\n * will return { address: '123 St' }\n **/\nexport function pickPrefix(prefix, object) {\n return Object.keys(object).reduce(function (acc, key) {\n if (key.startsWith(prefix)) {\n var field = key.substr(prefix.length);\n acc[field] = object[key];\n }\n return acc;\n }, {});\n}\n//# sourceMappingURL=pickPrefix.js.map","import { pickPrefix } from './pickPrefix';\nimport { gracefulDecodeURIComponent } from './gracefulDecodeURIComponent';\nimport { isPlainObject } from '@segment/analytics-core';\nexport function queryString(analytics, query) {\n var a = document.createElement('a');\n a.href = query;\n var parsed = a.search.slice(1);\n var params = parsed.split('&').reduce(function (acc, str) {\n var _a = str.split('='), k = _a[0], v = _a[1];\n acc[k] = gracefulDecodeURIComponent(v);\n return acc;\n }, {});\n var calls = [];\n var ajs_uid = params.ajs_uid, ajs_event = params.ajs_event, ajs_aid = params.ajs_aid;\n var _a = isPlainObject(analytics.options.useQueryString)\n ? analytics.options.useQueryString\n : {}, _b = _a.aid, aidPattern = _b === void 0 ? /.+/ : _b, _c = _a.uid, uidPattern = _c === void 0 ? /.+/ : _c;\n if (ajs_aid) {\n var anonId = Array.isArray(params.ajs_aid)\n ? params.ajs_aid[0]\n : params.ajs_aid;\n if (aidPattern.test(anonId)) {\n analytics.setAnonymousId(anonId);\n }\n }\n if (ajs_uid) {\n var uid = Array.isArray(params.ajs_uid)\n ? params.ajs_uid[0]\n : params.ajs_uid;\n if (uidPattern.test(uid)) {\n var traits = pickPrefix('ajs_trait_', params);\n calls.push(analytics.identify(uid, traits));\n }\n }\n if (ajs_event) {\n var event_1 = Array.isArray(params.ajs_event)\n ? params.ajs_event[0]\n : params.ajs_event;\n var props = pickPrefix('ajs_prop_', params);\n calls.push(analytics.track(event_1, props));\n }\n return Promise.all(calls);\n}\n//# sourceMappingURL=index.js.map"],"names":["pickPrefix","prefix","object","acc","key","field","queryString","analytics","query","a","parsed","params","str","_a","k","v","gracefulDecodeURIComponent","calls","ajs_uid","ajs_event","ajs_aid","isPlainObject","_b","aidPattern","_c","uidPattern","anonId","uid","traits","event_1","props"],"mappings":"8RAMO,SAASA,EAAWC,EAAQC,EAAQ,CACvC,OAAO,OAAO,KAAKA,CAAM,EAAE,OAAO,SAAUC,EAAKC,EAAK,CAClD,GAAIA,EAAI,WAAWH,CAAM,EAAG,CACxB,IAAII,EAAQD,EAAI,OAAOH,EAAO,MAAM,EACpCE,EAAIE,CAAK,EAAIH,EAAOE,CAAG,CAC3B,CACA,OAAOD,CACX,EAAG,CAAA,CAAE,CACT,CCXO,SAASG,EAAYC,EAAWC,EAAO,CAC1C,IAAIC,EAAI,SAAS,cAAc,GAAG,EAClCA,EAAE,KAAOD,EACT,IAAIE,EAASD,EAAE,OAAO,MAAM,CAAC,EACzBE,EAASD,EAAO,MAAM,GAAG,EAAE,OAAO,SAAUP,EAAKS,EAAK,CACtD,IAAIC,EAAKD,EAAI,MAAM,GAAG,EAAGE,EAAID,EAAG,CAAC,EAAGE,EAAIF,EAAG,CAAC,EAC5C,OAAAV,EAAIW,CAAC,EAAIE,EAA2BD,CAAC,EAC9BZ,CACX,EAAG,CAAA,CAAE,EACDc,EAAQ,CAAA,EACRC,EAAUP,EAAO,QAASQ,EAAYR,EAAO,UAAWS,EAAUT,EAAO,QACzEE,EAAKQ,EAAcd,EAAU,QAAQ,cAAc,EACjDA,EAAU,QAAQ,eAClB,CAAA,EAAIe,EAAKT,EAAG,IAAKU,EAAaD,IAAO,OAAS,KAAOA,EAAIE,EAAKX,EAAG,IAAKY,EAAaD,IAAO,OAAS,KAAOA,EAChH,GAAIJ,EAAS,CACT,IAAIM,EAAS,MAAM,QAAQf,EAAO,OAAO,EACnCA,EAAO,QAAQ,CAAC,EAChBA,EAAO,QACTY,EAAW,KAAKG,CAAM,GACtBnB,EAAU,eAAemB,CAAM,CAEvC,CACA,GAAIR,EAAS,CACT,IAAIS,EAAM,MAAM,QAAQhB,EAAO,OAAO,EAChCA,EAAO,QAAQ,CAAC,EAChBA,EAAO,QACb,GAAIc,EAAW,KAAKE,CAAG,EAAG,CACtB,IAAIC,EAAS5B,EAAW,aAAcW,CAAM,EAC5CM,EAAM,KAAKV,EAAU,SAASoB,EAAKC,CAAM,CAAC,CAC9C,CACJ,CACA,GAAIT,EAAW,CACX,IAAIU,EAAU,MAAM,QAAQlB,EAAO,SAAS,EACtCA,EAAO,UAAU,CAAC,EAClBA,EAAO,UACTmB,EAAQ9B,EAAW,YAAaW,CAAM,EAC1CM,EAAM,KAAKV,EAAU,MAAMsB,EAASC,CAAK,CAAC,CAC9C,CACA,OAAO,QAAQ,IAAIb,CAAK,CAC5B","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index-D66EdcHn.js","sources":["../../node_modules/@segment/analytics-next/dist/pkg/core/query-string/pickPrefix.js","../../node_modules/@segment/analytics-next/dist/pkg/core/query-string/index.js"],"sourcesContent":["/**\n * Returns an object containing only the properties prefixed by the input\n * string.\n * Ex: prefix('ajs_traits_', { ajs_traits_address: '123 St' })\n * will return { address: '123 St' }\n **/\nexport function pickPrefix(prefix, object) {\n return Object.keys(object).reduce(function (acc, key) {\n if (key.startsWith(prefix)) {\n var field = key.substr(prefix.length);\n acc[field] = object[key];\n }\n return acc;\n }, {});\n}\n//# sourceMappingURL=pickPrefix.js.map","import { pickPrefix } from './pickPrefix';\nimport { gracefulDecodeURIComponent } from './gracefulDecodeURIComponent';\nimport { isPlainObject } from '@segment/analytics-core';\nexport function queryString(analytics, query) {\n var a = document.createElement('a');\n a.href = query;\n var parsed = a.search.slice(1);\n var params = parsed.split('&').reduce(function (acc, str) {\n var _a = str.split('='), k = _a[0], v = _a[1];\n acc[k] = gracefulDecodeURIComponent(v);\n return acc;\n }, {});\n var calls = [];\n var ajs_uid = params.ajs_uid, ajs_event = params.ajs_event, ajs_aid = params.ajs_aid;\n var _a = isPlainObject(analytics.options.useQueryString)\n ? analytics.options.useQueryString\n : {}, _b = _a.aid, aidPattern = _b === void 0 ? /.+/ : _b, _c = _a.uid, uidPattern = _c === void 0 ? /.+/ : _c;\n if (ajs_aid) {\n var anonId = Array.isArray(params.ajs_aid)\n ? params.ajs_aid[0]\n : params.ajs_aid;\n if (aidPattern.test(anonId)) {\n analytics.setAnonymousId(anonId);\n }\n }\n if (ajs_uid) {\n var uid = Array.isArray(params.ajs_uid)\n ? params.ajs_uid[0]\n : params.ajs_uid;\n if (uidPattern.test(uid)) {\n var traits = pickPrefix('ajs_trait_', params);\n calls.push(analytics.identify(uid, traits));\n }\n }\n if (ajs_event) {\n var event_1 = Array.isArray(params.ajs_event)\n ? params.ajs_event[0]\n : params.ajs_event;\n var props = pickPrefix('ajs_prop_', params);\n calls.push(analytics.track(event_1, props));\n }\n return Promise.all(calls);\n}\n//# sourceMappingURL=index.js.map"],"names":["pickPrefix","prefix","object","acc","key","field","queryString","analytics","query","a","parsed","params","str","_a","k","v","gracefulDecodeURIComponent","calls","ajs_uid","ajs_event","ajs_aid","isPlainObject","_b","aidPattern","_c","uidPattern","anonId","uid","traits","event_1","props"],"mappings":"8RAMO,SAASA,EAAWC,EAAQC,EAAQ,CACvC,OAAO,OAAO,KAAKA,CAAM,EAAE,OAAO,SAAUC,EAAKC,EAAK,CAClD,GAAIA,EAAI,WAAWH,CAAM,EAAG,CACxB,IAAII,EAAQD,EAAI,OAAOH,EAAO,MAAM,EACpCE,EAAIE,CAAK,EAAIH,EAAOE,CAAG,CAC3B,CACA,OAAOD,CACX,EAAG,CAAA,CAAE,CACT,CCXO,SAASG,EAAYC,EAAWC,EAAO,CAC1C,IAAIC,EAAI,SAAS,cAAc,GAAG,EAClCA,EAAE,KAAOD,EACT,IAAIE,EAASD,EAAE,OAAO,MAAM,CAAC,EACzBE,EAASD,EAAO,MAAM,GAAG,EAAE,OAAO,SAAUP,EAAKS,EAAK,CACtD,IAAIC,EAAKD,EAAI,MAAM,GAAG,EAAGE,EAAID,EAAG,CAAC,EAAGE,EAAIF,EAAG,CAAC,EAC5C,OAAAV,EAAIW,CAAC,EAAIE,EAA2BD,CAAC,EAC9BZ,CACX,EAAG,CAAA,CAAE,EACDc,EAAQ,CAAA,EACRC,EAAUP,EAAO,QAASQ,EAAYR,EAAO,UAAWS,EAAUT,EAAO,QACzEE,EAAKQ,EAAcd,EAAU,QAAQ,cAAc,EACjDA,EAAU,QAAQ,eAClB,CAAA,EAAIe,EAAKT,EAAG,IAAKU,EAAaD,IAAO,OAAS,KAAOA,EAAIE,EAAKX,EAAG,IAAKY,EAAaD,IAAO,OAAS,KAAOA,EAChH,GAAIJ,EAAS,CACT,IAAIM,EAAS,MAAM,QAAQf,EAAO,OAAO,EACnCA,EAAO,QAAQ,CAAC,EAChBA,EAAO,QACTY,EAAW,KAAKG,CAAM,GACtBnB,EAAU,eAAemB,CAAM,CAEvC,CACA,GAAIR,EAAS,CACT,IAAIS,EAAM,MAAM,QAAQhB,EAAO,OAAO,EAChCA,EAAO,QAAQ,CAAC,EAChBA,EAAO,QACb,GAAIc,EAAW,KAAKE,CAAG,EAAG,CACtB,IAAIC,EAAS5B,EAAW,aAAcW,CAAM,EAC5CM,EAAM,KAAKV,EAAU,SAASoB,EAAKC,CAAM,CAAC,CAC9C,CACJ,CACA,GAAIT,EAAW,CACX,IAAIU,EAAU,MAAM,QAAQlB,EAAO,SAAS,EACtCA,EAAO,UAAU,CAAC,EAClBA,EAAO,UACTmB,EAAQ9B,EAAW,YAAaW,CAAM,EAC1CM,EAAM,KAAKV,EAAU,MAAMsB,EAASC,CAAK,CAAC,CAC9C,CACA,OAAO,QAAQ,IAAIb,CAAK,CAC5B","x_google_ignoreList":[0,1]}