@dcl/landing-site 0.5.1-24671743849.commit-e464803 → 0.5.1-24685869120.commit-1de5712
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/{AnimatedBackground-B-L76Zza.js → AnimatedBackground--tmRk4pB.js} +2 -2
- package/assets/{AnimatedBackground-B-L76Zza.js.map → AnimatedBackground--tmRk4pB.js.map} +1 -1
- package/assets/{AnimatedSection-C7y4e9MO.js → AnimatedSection-4VTaj_2R.js} +1 -1
- package/assets/{AnimatedSection-C7y4e9MO.js.map → AnimatedSection-4VTaj_2R.js.map} +1 -1
- package/assets/{ArrowBackIosNew-m07XLZJ3.js → ArrowBackIosNew-BmStpKu0.js} +1 -1
- package/assets/{ArrowBackIosNew-m07XLZJ3.js.map → ArrowBackIosNew-BmStpKu0.js.map} +1 -1
- package/assets/{AuthorPage-HEjEdZnQ.js → AuthorPage-DsEGDjQw.js} +1 -1
- package/assets/{AuthorPage-HEjEdZnQ.js.map → AuthorPage-DsEGDjQw.js.map} +1 -1
- package/assets/{Badges-C3LP2L14.js → Badges-DFm-dJP0.js} +1 -1
- package/assets/{Badges-C3LP2L14.js.map → Badges-DFm-dJP0.js.map} +1 -1
- package/assets/{BlogLayout-DOXQWe4b.js → BlogLayout-CxiSrxYR.js} +1 -1
- package/assets/{BlogLayout-DOXQWe4b.js.map → BlogLayout-CxiSrxYR.js.map} +1 -1
- package/assets/{BlogPage-BYou2PX1.js → BlogPage-BrmWjpqW.js} +1 -1
- package/assets/{BlogPage-BYou2PX1.js.map → BlogPage-BrmWjpqW.js.map} +1 -1
- package/assets/{CTAButton-DIvER7jP.js → CTAButton-DiWefRTF.js} +1 -1
- package/assets/{CTAButton-DIvER7jP.js.map → CTAButton-DiWefRTF.js.map} +1 -1
- package/assets/{CardContent-CTD4H4a5.js → CardContent-BGQcwSBj.js} +1 -1
- package/assets/{CardContent-CTD4H4a5.js.map → CardContent-BGQcwSBj.js.map} +1 -1
- package/assets/{CardMedia-DkSJQ0Yc.js → CardMedia-RFT7-c29.js} +1 -1
- package/assets/{CardMedia-DkSJQ0Yc.js.map → CardMedia-RFT7-c29.js.map} +1 -1
- package/assets/{Carousel-Bz36sWAV.js → Carousel-pw-zJClB.js} +1 -1
- package/assets/{Carousel-Bz36sWAV.js.map → Carousel-pw-zJClB.js.map} +1 -1
- package/assets/{CategoryPage-5N-S_EtG.js → CategoryPage-ZdXQJP2n.js} +1 -1
- package/assets/{CategoryPage-5N-S_EtG.js.map → CategoryPage-ZdXQJP2n.js.map} +1 -1
- package/assets/{CircleAndArrow-DDOq4aRv.js → CircleAndArrow-DjRydx_v.js} +1 -1
- package/assets/{CircleAndArrow-DDOq4aRv.js.map → CircleAndArrow-DjRydx_v.js.map} +1 -1
- package/assets/{CircularProgress-DMJbftwB.js → CircularProgress-CpGrVwOe.js} +1 -1
- package/assets/{CircularProgress-DMJbftwB.js.map → CircularProgress-CpGrVwOe.js.map} +1 -1
- package/assets/{ContentCopy-Die7TKLF.js → ContentCopy-Biu7mI_B.js} +1 -1
- package/assets/{ContentCopy-Die7TKLF.js.map → ContentCopy-Biu7mI_B.js.map} +1 -1
- package/assets/{CreateEventPage-DB5tddNm.js → CreateEventPage-CSyGxQEM.js} +1 -1
- package/assets/{CreateEventPage-DB5tddNm.js.map → CreateEventPage-CSyGxQEM.js.map} +1 -1
- package/assets/{CreatorHubDownload-DVIZjVQI.js → CreatorHubDownload-C0lTqfvy.js} +1 -1
- package/assets/{CreatorHubDownload-DVIZjVQI.js.map → CreatorHubDownload-C0lTqfvy.js.map} +1 -1
- package/assets/{CreatorHubDownloadSuccess-D0krvgHC.js → CreatorHubDownloadSuccess-OmyWSLJA.js} +1 -1
- package/assets/{CreatorHubDownloadSuccess-D0krvgHC.js.map → CreatorHubDownloadSuccess-OmyWSLJA.js.map} +1 -1
- package/assets/{DappsShell-DXZfdOqe.js → DappsShell-DNMjP5_u.js} +1 -1
- package/assets/{DappsShell-DXZfdOqe.js.map → DappsShell-DNMjP5_u.js.map} +1 -1
- package/assets/{DownloadSuccessLayout-B5KxILAh.js → DownloadSuccessLayout-OfN-COoN.js} +1 -1
- package/assets/{DownloadSuccessLayout-B5KxILAh.js.map → DownloadSuccessLayout-OfN-COoN.js.map} +1 -1
- package/assets/{Grow-BbhVo4-Q.js → Grow-vvw5xHGO.js} +1 -1
- package/assets/{Grow-BbhVo4-Q.js.map → Grow-vvw5xHGO.js.map} +1 -1
- package/assets/{HomePage-CSW35au2.js → HomePage-9QTR-dt7.js} +2 -2
- package/assets/HomePage-9QTR-dt7.js.map +1 -0
- package/assets/{InviteFaqs-BZEDqRWz.js → InviteFaqs-VtXtD9Y7.js} +1 -1
- package/assets/{InviteFaqs-BZEDqRWz.js.map → InviteFaqs-VtXtD9Y7.js.map} +1 -1
- package/assets/{InvitePage-CNSVnM5F.js → InvitePage-B2ILV0JT.js} +2 -2
- package/assets/{InvitePage-CNSVnM5F.js.map → InvitePage-B2ILV0JT.js.map} +1 -1
- package/assets/{JumpInIcon-DsVzhXWI.js → JumpInIcon-DQLZFf5_.js} +1 -1
- package/assets/{JumpInIcon-DsVzhXWI.js.map → JumpInIcon-DQLZFf5_.js.map} +1 -1
- package/assets/{LegalPageLayout-BGd6IPpz.js → LegalPageLayout-BPmxsGkt.js} +1 -1
- package/assets/{LegalPageLayout-BGd6IPpz.js.map → LegalPageLayout-BPmxsGkt.js.map} +1 -1
- package/assets/{Link-C-K90yR0.js → Link-CRy-ui2j.js} +1 -1
- package/assets/{Link-C-K90yR0.js.map → Link-CRy-ui2j.js.map} +1 -1
- package/assets/{MenuItem-DJBLDqfL.js → MenuItem--w_lFNXz.js} +1 -1
- package/assets/{MenuItem-DJBLDqfL.js.map → MenuItem--w_lFNXz.js.map} +1 -1
- package/assets/{Paper-BcsxEQWA.js → Paper-DkTuC9MF.js} +1 -1
- package/assets/{Paper-BcsxEQWA.js.map → Paper-DkTuC9MF.js.map} +1 -1
- package/assets/{PostCard-CalYnkvr.js → PostCard-CoBBQR_z.js} +1 -1
- package/assets/{PostCard-CalYnkvr.js.map → PostCard-CoBBQR_z.js.map} +1 -1
- package/assets/{PostPage-DYDVBmyR.js → PostPage-DTs37H2-.js} +1 -1
- package/assets/{PostPage-DYDVBmyR.js.map → PostPage-DTs37H2-.js.map} +1 -1
- package/assets/{PostPage.styled-B-fdiFDU.js → PostPage.styled-DLL8lMAH.js} +3 -3
- package/assets/{PostPage.styled-B-fdiFDU.js.map → PostPage.styled-DLL8lMAH.js.map} +1 -1
- package/assets/{PreviewPage-BE7HyZTt.js → PreviewPage-CM24MWpu.js} +1 -1
- package/assets/{PreviewPage-BE7HyZTt.js.map → PreviewPage-CM24MWpu.js.map} +1 -1
- package/assets/{SEO-P8y8JbS9.js → SEO-B1CZcHhQ.js} +1 -1
- package/assets/{SEO-P8y8JbS9.js.map → SEO-B1CZcHhQ.js.map} +1 -1
- package/assets/{SearchPage-BraoruXd.js → SearchPage-Bc-IQg_Z.js} +1 -1
- package/assets/{SearchPage-BraoruXd.js.map → SearchPage-Bc-IQg_Z.js.map} +1 -1
- package/assets/{SignInRedirect-CS5Xkoa_.js → SignInRedirect-CHd5tZSP.js} +1 -1
- package/assets/{SignInRedirect-CS5Xkoa_.js.map → SignInRedirect-CHd5tZSP.js.map} +1 -1
- package/assets/{SignInRedirect-COcA7WhX.js → SignInRedirect-CytWMFc_.js} +1 -1
- package/assets/{SignInRedirect-COcA7WhX.js.map → SignInRedirect-CytWMFc_.js.map} +1 -1
- package/assets/{Skeleton-o93N4ZZz.js → Skeleton-Bp_3tZG7.js} +1 -1
- package/assets/{Skeleton-o93N4ZZz.js.map → Skeleton-Bp_3tZG7.js.map} +1 -1
- package/assets/{TwitterEmbed-C3w4WnFA.js → TwitterEmbed-qGRZ9Jyy.js} +1 -1
- package/assets/{TwitterEmbed-C3w4WnFA.js.map → TwitterEmbed-qGRZ9Jyy.js.map} +1 -1
- package/assets/{Video-DF4ljNzn.js → Video-DnCE7TZC.js} +1 -1
- package/assets/{Video-DF4ljNzn.js.map → Video-DnCE7TZC.js.map} +1 -1
- package/assets/WearablePreview-DLAIz58Z.js +4 -0
- package/assets/{WearablePreview-5JNPj6PX.js.map → WearablePreview-DLAIz58Z.js.map} +1 -1
- package/assets/{auto-track-UkqTRxye.js → auto-track-DyJFTD4H.js} +1 -1
- package/assets/{auto-track-UkqTRxye.js.map → auto-track-DyJFTD4H.js.map} +1 -1
- package/assets/{ccip-cqtPy8Xz.js → ccip-Dh2ZOi0c.js} +1 -1
- package/assets/{ccip-cqtPy8Xz.js.map → ccip-Dh2ZOi0c.js.map} +1 -1
- package/assets/{createSvgIcon-DH_tCoWL.js → createSvgIcon-DPMfLii4.js} +1 -1
- package/assets/{createSvgIcon-DH_tCoWL.js.map → createSvgIcon-DPMfLii4.js.map} +1 -1
- package/assets/{download-DQLaB97z.js → download-30qm_WAk.js} +2 -2
- package/assets/{download-DQLaB97z.js.map → download-30qm_WAk.js.map} +1 -1
- package/assets/{downloadWithIdentity-dAd_6Xjv.js → downloadWithIdentity-BtEnlEpV.js} +1 -1
- package/assets/{downloadWithIdentity-dAd_6Xjv.js.map → downloadWithIdentity-BtEnlEpV.js.map} +1 -1
- package/assets/{events.client-DDwZtrCh.js → events.client-Cm_vJXoK.js} +1 -1
- package/assets/{events.client-DDwZtrCh.js.map → events.client-Cm_vJXoK.js.map} +1 -1
- package/assets/{index-DRcrw7Py.js → index--KeAUoz4.js} +1 -1
- package/assets/{index-DRcrw7Py.js.map → index--KeAUoz4.js.map} +1 -1
- package/assets/{index-CZS6DsWa.js → index-3Yl6UR--.js} +1 -1
- package/assets/{index-CZS6DsWa.js.map → index-3Yl6UR--.js.map} +1 -1
- package/assets/{index-D1lz72ps.js → index-B6K794Rf.js} +1 -1
- package/assets/{index-D1lz72ps.js.map → index-B6K794Rf.js.map} +1 -1
- package/assets/{index-BQaEVpup.js → index-BMggQVV_.js} +1 -1
- package/assets/{index-BQaEVpup.js.map → index-BMggQVV_.js.map} +1 -1
- package/assets/{index-DqPgEQko.js → index-BY3JByxP.js} +1 -1
- package/assets/{index-DqPgEQko.js.map → index-BY3JByxP.js.map} +1 -1
- package/assets/{index-DNCSZ9Ly.js → index-BgUWva8u.js} +1 -1
- package/assets/{index-DNCSZ9Ly.js.map → index-BgUWva8u.js.map} +1 -1
- package/assets/{index-BxxIREHz.js → index-BrT6YuSM.js} +4 -4
- package/assets/{index-BxxIREHz.js.map → index-BrT6YuSM.js.map} +1 -1
- package/assets/{index-mXhpN3cS.js → index-BxZNYwr3.js} +1 -1
- package/assets/{index-mXhpN3cS.js.map → index-BxZNYwr3.js.map} +1 -1
- package/assets/{index-ezM_J58e.js → index-C1q8L88E.js} +1 -1
- package/assets/{index-ezM_J58e.js.map → index-C1q8L88E.js.map} +1 -1
- package/assets/{index-CYTF85t8.js → index-C62RHb__.js} +1 -1
- package/assets/{index-CYTF85t8.js.map → index-C62RHb__.js.map} +1 -1
- package/assets/{index-71royYUE.js → index-C7VbadJ8.js} +1 -1
- package/assets/{index-71royYUE.js.map → index-C7VbadJ8.js.map} +1 -1
- package/assets/{index-CM-Dg90Z.js → index-C8cR2Ojr.js} +1 -1
- package/assets/{index-CM-Dg90Z.js.map → index-C8cR2Ojr.js.map} +1 -1
- package/assets/{index-BsykSOSe.js → index-CALzixlI.js} +1 -1
- package/assets/{index-BsykSOSe.js.map → index-CALzixlI.js.map} +1 -1
- package/assets/{index-B4ReIH01.js → index-CAq1HW41.js} +1 -1
- package/assets/{index-B4ReIH01.js.map → index-CAq1HW41.js.map} +1 -1
- package/assets/{index-BqghIvCc.js → index-CTcKnQdc.js} +3 -3
- package/assets/{index-BqghIvCc.js.map → index-CTcKnQdc.js.map} +1 -1
- package/assets/{index-bKbknVRg.js → index-C_4lnhwn.js} +1 -1
- package/assets/{index-bKbknVRg.js.map → index-C_4lnhwn.js.map} +1 -1
- package/assets/{index-C_C2-CZT.js → index-CcVwIken.js} +1 -1
- package/assets/{index-C_C2-CZT.js.map → index-CcVwIken.js.map} +1 -1
- package/assets/{index-D7GZzk0M.js → index-CnliSg2U.js} +1 -1
- package/assets/{index-D7GZzk0M.js.map → index-CnliSg2U.js.map} +1 -1
- package/assets/{index-DaRevScO.js → index-D0nE3AYE.js} +37 -37
- package/assets/index-D0nE3AYE.js.map +1 -0
- package/assets/{index-Bo0hqmw3.js → index-D6BepkG_.js} +1 -1
- package/assets/{index-Bo0hqmw3.js.map → index-D6BepkG_.js.map} +1 -1
- package/assets/{index-C2gGmY4r.js → index-DLkc1FLr.js} +1 -1
- package/assets/{index-C2gGmY4r.js.map → index-DLkc1FLr.js.map} +1 -1
- package/assets/{index-wq0aztJv.js → index-DchvHHlK.js} +1 -1
- package/assets/{index-wq0aztJv.js.map → index-DchvHHlK.js.map} +1 -1
- package/assets/{index-Oqf5zL8M.js → index-Dgp9VKxh.js} +1 -1
- package/assets/{index-Oqf5zL8M.js.map → index-Dgp9VKxh.js.map} +1 -1
- package/assets/{index-Dfjt7DKD.js → index-DklThyvZ.js} +1 -1
- package/assets/{index-Dfjt7DKD.js.map → index-DklThyvZ.js.map} +1 -1
- package/assets/{index-pvI36Hvg.js → index-DphyojdM.js} +1 -1
- package/assets/{index-pvI36Hvg.js.map → index-DphyojdM.js.map} +1 -1
- package/assets/{index-LYkhcWuH.js → index-DsMEKak1.js} +1 -1
- package/assets/{index-LYkhcWuH.js.map → index-DsMEKak1.js.map} +1 -1
- package/assets/{index-ppzLK-bi.js → index-Fbn9W4zr.js} +1 -1
- package/assets/{index-ppzLK-bi.js.map → index-Fbn9W4zr.js.map} +1 -1
- package/assets/{index-Bi1_667A.js → index-SmcmwtEm.js} +1 -1
- package/assets/{index-Bi1_667A.js.map → index-SmcmwtEm.js.map} +1 -1
- package/assets/{index-DsiqoitH.js → index-XqSXzv-4.js} +1 -1
- package/assets/{index-DsiqoitH.js.map → index-XqSXzv-4.js.map} +1 -1
- package/assets/{index-BpUUMJJL.js → index-cnaXlDby.js} +2 -2
- package/assets/{index-BpUUMJJL.js.map → index-cnaXlDby.js.map} +1 -1
- package/assets/{index-n-p43kD4.js → index-tdgsZ4Yr.js} +1 -1
- package/assets/{index-n-p43kD4.js.map → index-tdgsZ4Yr.js.map} +1 -1
- package/assets/{index-qFakdhOO.js → index-vUzwsML4.js} +1 -1
- package/assets/{index-qFakdhOO.js.map → index-vUzwsML4.js.map} +1 -1
- package/assets/{profile.client-CCf--pbP.js → profile.client-DJkJAVO7.js} +1 -1
- package/assets/{profile.client-CCf--pbP.js.map → profile.client-DJkJAVO7.js.map} +1 -1
- package/assets/{shared.styled-Csb0ydX4.js → shared.styled-CdKr8-z1.js} +1 -1
- package/assets/{shared.styled-Csb0ydX4.js.map → shared.styled-CdKr8-z1.js.map} +1 -1
- package/assets/{store-CbX2mp3S.js → store-B-SZNpsH.js} +1 -1
- package/assets/{store-CbX2mp3S.js.map → store-B-SZNpsH.js.map} +1 -1
- package/assets/{url-DMbF6Zco.js → url-B6S3bwqB.js} +1 -1
- package/assets/{url-DMbF6Zco.js.map → url-B6S3bwqB.js.map} +1 -1
- package/assets/{useAuthIdentity-CIDWXFI8.js → useAuthIdentity-BlDTBxRE.js} +1 -1
- package/assets/{useAuthIdentity-CIDWXFI8.js.map → useAuthIdentity-BlDTBxRE.js.map} +1 -1
- package/assets/{useCreatorHubDownload-CQ5sircD.js → useCreatorHubDownload-TIbrehIm.js} +1 -1
- package/assets/{useCreatorHubDownload-CQ5sircD.js.map → useCreatorHubDownload-TIbrehIm.js.map} +1 -1
- package/assets/{useInfiniteBlogPosts-DspRbflz.js → useInfiniteBlogPosts-DKtXiohd.js} +1 -1
- package/assets/{useInfiniteBlogPosts-DspRbflz.js.map → useInfiniteBlogPosts-DKtXiohd.js.map} +1 -1
- package/assets/{useSlot-BerGUD87.js → useSlot-B74_4mYS.js} +1 -1
- package/assets/{useSlot-BerGUD87.js.map → useSlot-B74_4mYS.js.map} +1 -1
- package/assets/{utils-CYqFUJMv.js → utils-B-HvTNW5.js} +1 -1
- package/assets/{utils-CYqFUJMv.js.map → utils-B-HvTNW5.js.map} +1 -1
- package/index.html +15 -15
- package/package.json +3 -3
- package/assets/HomePage-CSW35au2.js.map +0 -1
- package/assets/WearablePreview-5JNPj6PX.js +0 -4
- package/assets/index-DaRevScO.js.map +0 -1
|
@@ -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>© {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-C7VbadJ8.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>© {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{s as o,v as i,a as n,w as s,j as t}from"./index-
|
|
1
|
+
import{s as o,v as i,a as n,w as s,j as t}from"./index-D0nE3AYE.js";import{r}from"./vendor-router-D_36sTKu.js";import{C as c}from"./Carousel-pw-zJClB.js";import{A as d}from"./AnimatedSection-4VTaj_2R.js";import{a as l}from"./index-CTcKnQdc.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";import"./useCreatorHubDownload-TIbrehIm.js";import"./file-Cr_gl9BS.js";import"./url-B6S3bwqB.js";import"./index-BxZNYwr3.js";import"./useLatestGithubRelease-lPlpQBOj.js";import"./CTAButton-DiWefRTF.js";import"./CircularProgress-CpGrVwOe.js";import"./Video-DnCE7TZC.js";const p="data:image/svg+xml,%3csvg%20width='93'%20height='80'%20viewBox='0%200%2093%2080'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%204872'%20filter='url(%23filter0_d_233_28813)'%3e%3cpath%20id='Vector'%20d='M64.9015%2019.361C61.4299%2017.7559%2057.7563%2016.6254%2053.9804%2016C53.4501%2016.9106%2052.9768%2017.8529%2052.5632%2018.8216C48.5409%2018.2405%2044.4555%2018.2405%2040.4333%2018.8216C40.0197%2017.8529%2039.5463%2016.9106%2039.016%2016C35.2448%2016.6449%2031.5737%2017.7747%2028.0949%2019.361C21.1755%2029.5685%2019.2997%2039.4855%2020.2168%2049.278C24.2725%2052.265%2028.8121%2054.5386%2033.6388%2056C34.7238%2054.5319%2035.6857%2052.9776%2036.515%2051.3527C34.9439%2050.7746%2033.4241%2050.0667%2031.9715%2049.2365L33.097%2048.4066C37.2937%2050.3539%2041.8679%2051.363%2046.4982%2051.363C51.1285%2051.363%2055.7027%2050.3539%2059.8995%2048.4066L61.0249%2049.2365C59.5732%2050.0801%2058.0535%2050.8018%2056.4814%2051.3942C57.3205%2053.0003%2058.2821%2054.5401%2059.3576%2056C64.1877%2054.547%2068.7288%2052.2728%2072.7797%2049.278C73.8634%2037.9087%2070.9039%2028.0747%2064.9015%2019.361ZM37.7238%2043.2614C35.0978%2043.2614%2032.9302%2040.8963%2032.9302%2037.9917C32.9302%2035.0871%2035.0144%2032.722%2037.6821%2032.722C40.3499%2032.722%2042.5174%2035.0871%2042.4757%2037.9917C42.4341%2040.8963%2040.3499%2043.2614%2037.7238%2043.2614ZM55.3143%2043.2614C52.6882%2043.2614%2050.5207%2040.8963%2050.5207%2037.9917C50.5207%2035.0871%2052.6048%2032.722%2055.3143%2032.722C58.0237%2032.722%2060.1079%2035.0871%2060.0662%2037.9917C60.0245%2040.8963%2057.982%2043.2614%2055.3143%2043.2614Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_233_28813'%20x='0'%20y='0'%20width='93'%20height='80'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='4'/%3e%3cfeGaussianBlur%20stdDeviation='10'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.55%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_233_28813'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_233_28813'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e",g="https://cdn.decentraland.org/@dcl/landing-site/0.5.1-24685869120.commit-1de5712/assets/section_connection_grid-B4v_r8xM.webp",m=o("section")({position:"relative",overflow:"hidden",width:"100%",backgroundImage:`url(${g})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",paddingLeft:0,paddingRight:0,"&::before, &::after":{content:'""',position:"absolute",top:0,width:"15%",height:"100%",zIndex:1,pointerEvents:"none"},"&::before":{left:0,background:"linear-gradient(90deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)"},"&::after":{right:0,background:"linear-gradient(270deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)"}}),f=o(i)(({theme:e})=>({textAlign:"center",fontSize:48,fontWeight:600,color:"#fcfcfc",marginTop:56,marginBottom:40,maxWidth:"80vw",marginLeft:"auto",marginRight:"auto","& span":{background:"linear-gradient(244deg, #ff2d55 -11.67%, #ffbc5b 88.23%)",backgroundClip:"text",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},[e.breakpoints.down("sm")]:{fontSize:32,lineHeight:"normal",paddingLeft:20,paddingRight:20,marginTop:41,marginBottom:36}})),h=o(n)(({theme:e})=>({width:"100%",padding:"32px 24px",background:"#fcfcfc",borderRadius:20,display:"flex",flexDirection:"column",justifyContent:"flex-start",boxSizing:"border-box",position:"relative",transition:"transform 0.3s ease-in-out",cursor:"pointer","@media (hover: hover)":{"&:hover":{transform:"scale(1.05)"}},[e.breakpoints.down("sm")]:{padding:24}})),x=o(i)(({theme:e})=>({color:"#161518",fontSize:16,lineHeight:"24px",fontWeight:400,fontStyle:"italic",[e.breakpoints.down("sm")]:{fontSize:20,lineHeight:"30px",textAlign:"center"}})),C=o(n)(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",marginTop:16,[e.breakpoints.down("sm")]:{alignItems:"center",marginTop:24}})),u=o(n)({width:40,minWidth:40,height:40,borderRadius:"50%","& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"}}),b=o(i)({color:"#161518",fontSize:18,fontWeight:700,marginTop:8,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}),w=o(n)(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",marginTop:56,cursor:"pointer",marginBottom:32,[e.breakpoints.down("sm")]:{marginTop:43}})),k=o(i)(({theme:e})=>({color:"#fff",textAlign:"center",textShadow:"0px 4px 20px rgba(0, 0, 0, 0.55)",fontSize:20,fontWeight:600,[e.breakpoints.down("sm")]:{fontSize:18}})),_=o(n)(({theme:e})=>({"& img":{width:93,height:80,marginTop:23},[e.breakpoints.down("sm")]:{"& img":{width:50,marginTop:0}}})),j=e=>t.jsxs(h,{onClick:()=>{e.url&&window.open(e.url,"_blank","noopener,noreferrer")},sx:{cursor:e.url?"pointer":"default"},children:[t.jsxs(x,{children:["“",e.description,"”"]}),t.jsxs(C,{children:[t.jsx(u,{children:t.jsx("img",{src:e.image,alt:e.name})}),t.jsx(b,{children:e.name})]})]}),v=e=>e.id,Z=r.memo(()=>{const e=s(),a=r.useCallback(()=>window.open(e("general.discord_cta_target"),"_blank","noopener,noreferrer"),[e]);return t.jsx(d,{children:t.jsxs(m,{children:[t.jsxs(f,{children:[t.jsx("span",{children:e("component.creators_landing.connect.title_highlight")})," ",e("component.creators_landing.connect.title")]}),t.jsx(c,{items:l,renderItem:j,keyExtractor:v,slideWidth:500,autoplayDelay:5e3,alignItems:"center"}),t.jsxs(w,{onClick:a,children:[t.jsx(k,{children:e("component.creators_landing.connect.join_the_community")}),t.jsx(_,{children:t.jsx("img",{src:p,alt:"Discord"})})]})]})})});export{Z as CreatorsConnect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-CM-Dg90Z.js","sources":["../../src/images/discord.svg","../../src/images/section_connection_grid.webp","../../src/components/Create/Connect/Connect.styled.ts","../../src/components/Create/Connect/Connect.tsx"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='93'%20height='80'%20viewBox='0%200%2093%2080'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%204872'%20filter='url(%23filter0_d_233_28813)'%3e%3cpath%20id='Vector'%20d='M64.9015%2019.361C61.4299%2017.7559%2057.7563%2016.6254%2053.9804%2016C53.4501%2016.9106%2052.9768%2017.8529%2052.5632%2018.8216C48.5409%2018.2405%2044.4555%2018.2405%2040.4333%2018.8216C40.0197%2017.8529%2039.5463%2016.9106%2039.016%2016C35.2448%2016.6449%2031.5737%2017.7747%2028.0949%2019.361C21.1755%2029.5685%2019.2997%2039.4855%2020.2168%2049.278C24.2725%2052.265%2028.8121%2054.5386%2033.6388%2056C34.7238%2054.5319%2035.6857%2052.9776%2036.515%2051.3527C34.9439%2050.7746%2033.4241%2050.0667%2031.9715%2049.2365L33.097%2048.4066C37.2937%2050.3539%2041.8679%2051.363%2046.4982%2051.363C51.1285%2051.363%2055.7027%2050.3539%2059.8995%2048.4066L61.0249%2049.2365C59.5732%2050.0801%2058.0535%2050.8018%2056.4814%2051.3942C57.3205%2053.0003%2058.2821%2054.5401%2059.3576%2056C64.1877%2054.547%2068.7288%2052.2728%2072.7797%2049.278C73.8634%2037.9087%2070.9039%2028.0747%2064.9015%2019.361ZM37.7238%2043.2614C35.0978%2043.2614%2032.9302%2040.8963%2032.9302%2037.9917C32.9302%2035.0871%2035.0144%2032.722%2037.6821%2032.722C40.3499%2032.722%2042.5174%2035.0871%2042.4757%2037.9917C42.4341%2040.8963%2040.3499%2043.2614%2037.7238%2043.2614ZM55.3143%2043.2614C52.6882%2043.2614%2050.5207%2040.8963%2050.5207%2037.9917C50.5207%2035.0871%2052.6048%2032.722%2055.3143%2032.722C58.0237%2032.722%2060.1079%2035.0871%2060.0662%2037.9917C60.0245%2040.8963%2057.982%2043.2614%2055.3143%2043.2614Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_233_28813'%20x='0'%20y='0'%20width='93'%20height='80'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='4'/%3e%3cfeGaussianBlur%20stdDeviation='10'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.55%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_233_28813'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_233_28813'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","export default \"__VITE_ASSET__CSrHEWuF__\"","import { Box, Typography, styled } from 'decentraland-ui2'\nimport gridBg from '../../../images/section_connection_grid.webp'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst ConnectSection = styled('section')({\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n backgroundImage: `url(${gridBg})`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n paddingLeft: 0,\n paddingRight: 0,\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n width: '15%',\n height: '100%',\n zIndex: 1,\n pointerEvents: 'none'\n },\n '&::before': {\n left: 0,\n background: 'linear-gradient(90deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)'\n },\n '&::after': {\n right: 0,\n background: 'linear-gradient(270deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst ConnectTitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: 48,\n fontWeight: 600,\n color: '#fcfcfc',\n marginTop: 56,\n marginBottom: 40,\n maxWidth: '80vw',\n marginLeft: 'auto',\n marginRight: 'auto',\n ['& span']: {\n background: 'linear-gradient(244deg, #ff2d55 -11.67%, #ffbc5b 88.23%)',\n backgroundClip: 'text',\n ['WebkitBackgroundClip' as string]: 'text',\n ['WebkitTextFillColor' as string]: 'transparent'\n },\n [theme.breakpoints.down('sm')]: {\n fontSize: 32,\n lineHeight: 'normal',\n paddingLeft: 20,\n paddingRight: 20,\n marginTop: 41,\n marginBottom: 36\n }\n}))\n\nconst ConnectCard = styled(Box)(({ theme }) => ({\n width: '100%',\n padding: '32px 24px',\n background: '#fcfcfc',\n borderRadius: 20,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n boxSizing: 'border-box',\n position: 'relative',\n transition: 'transform 0.3s ease-in-out',\n cursor: 'pointer',\n ['@media (hover: hover)']: {\n ['&:hover']: {\n transform: 'scale(1.05)'\n }\n },\n [theme.breakpoints.down('sm')]: {\n padding: 24\n }\n}))\n\nconst ConnectCardDescription = styled(Typography)(({ theme }) => ({\n color: '#161518',\n fontSize: 16,\n lineHeight: '24px',\n fontWeight: 400,\n fontStyle: 'italic',\n [theme.breakpoints.down('sm')]: {\n fontSize: 20,\n lineHeight: '30px',\n textAlign: 'center'\n }\n}))\n\nconst ConnectCardUser = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'flex-start',\n marginTop: 16,\n [theme.breakpoints.down('sm')]: {\n alignItems: 'center',\n marginTop: 24\n }\n}))\n\nconst ConnectCardUserImage = styled(Box)({\n width: 40,\n minWidth: 40,\n height: 40,\n borderRadius: '50%',\n ['& img']: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: '50%'\n }\n})\n\nconst ConnectCardUserName = styled(Typography)({\n color: '#161518',\n fontSize: 18,\n fontWeight: 700,\n marginTop: 8,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n})\n\nconst DiscordContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 56,\n cursor: 'pointer',\n marginBottom: 32,\n [theme.breakpoints.down('sm')]: {\n marginTop: 43\n }\n}))\n\nconst DiscordTitle = styled(Typography)(({ theme }) => ({\n color: '#fff',\n textAlign: 'center',\n textShadow: '0px 4px 20px rgba(0, 0, 0, 0.55)',\n fontSize: 20,\n fontWeight: 600,\n [theme.breakpoints.down('sm')]: {\n fontSize: 18\n }\n}))\n\nconst DiscordIcon = styled(Box)(({ theme }) => ({\n ['& img']: {\n width: 93,\n height: 80,\n marginTop: 23\n },\n [theme.breakpoints.down('sm')]: {\n ['& img']: {\n width: 50,\n marginTop: 0\n }\n }\n}))\n\nexport {\n ConnectCard,\n ConnectCardDescription,\n ConnectCardUser,\n ConnectCardUserImage,\n ConnectCardUserName,\n ConnectSection,\n ConnectTitle,\n DiscordContainer,\n DiscordIcon,\n DiscordTitle\n}\n","import { memo, useCallback } from 'react'\nimport { useFormatMessage } from '../../../hooks/adapters/useFormatMessage'\nimport discordImage from '../../../images/discord.svg'\nimport { Carousel } from '../../Carousel'\nimport { AnimatedSection } from '../AnimatedSection'\nimport { connectCards } from '../data'\nimport type { ConnectCardData } from '../data'\nimport {\n ConnectCard,\n ConnectCardDescription,\n ConnectCardUser,\n ConnectCardUserImage,\n ConnectCardUserName,\n ConnectSection,\n ConnectTitle,\n DiscordContainer,\n DiscordIcon,\n DiscordTitle\n} from './Connect.styled'\n\nconst renderCard = (card: ConnectCardData) => (\n <ConnectCard\n onClick={() => {\n if (card.url) window.open(card.url, '_blank', 'noopener,noreferrer')\n }}\n sx={{ cursor: card.url ? 'pointer' : 'default' }}\n >\n <ConnectCardDescription>“{card.description}”</ConnectCardDescription>\n <ConnectCardUser>\n <ConnectCardUserImage>\n <img src={card.image} alt={card.name} />\n </ConnectCardUserImage>\n <ConnectCardUserName>{card.name}</ConnectCardUserName>\n </ConnectCardUser>\n </ConnectCard>\n)\n\nconst keyExtractor = (card: ConnectCardData) => card.id\n\nconst CreatorsConnect = memo(() => {\n const l = useFormatMessage()\n const handleDiscordClick = useCallback(() => window.open(l('general.discord_cta_target'), '_blank', 'noopener,noreferrer'), [l])\n\n return (\n <AnimatedSection>\n <ConnectSection>\n <ConnectTitle>\n <span>{l('component.creators_landing.connect.title_highlight')}</span> {l('component.creators_landing.connect.title')}\n </ConnectTitle>\n <Carousel\n items={connectCards}\n renderItem={renderCard}\n keyExtractor={keyExtractor}\n slideWidth={500}\n autoplayDelay={5000}\n alignItems=\"center\"\n />\n <DiscordContainer onClick={handleDiscordClick}>\n <DiscordTitle>{l('component.creators_landing.connect.join_the_community')}</DiscordTitle>\n <DiscordIcon>\n <img src={discordImage} alt=\"Discord\" />\n </DiscordIcon>\n </DiscordContainer>\n </ConnectSection>\n </AnimatedSection>\n )\n})\n\nexport { CreatorsConnect }\n"],"names":["discordImage","gridBg","ConnectSection","styled","ConnectTitle","Typography","theme","ConnectCard","Box","ConnectCardDescription","ConnectCardUser","ConnectCardUserImage","ConnectCardUserName","DiscordContainer","DiscordTitle","DiscordIcon","renderCard","card","jsxs","jsx","keyExtractor","CreatorsConnect","memo","l","useFormatMessage","handleDiscordClick","useCallback","AnimatedSection","Carousel","connectCards"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-C8cR2Ojr.js","sources":["../../src/images/discord.svg","../../src/images/section_connection_grid.webp","../../src/components/Create/Connect/Connect.styled.ts","../../src/components/Create/Connect/Connect.tsx"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='93'%20height='80'%20viewBox='0%200%2093%2080'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%204872'%20filter='url(%23filter0_d_233_28813)'%3e%3cpath%20id='Vector'%20d='M64.9015%2019.361C61.4299%2017.7559%2057.7563%2016.6254%2053.9804%2016C53.4501%2016.9106%2052.9768%2017.8529%2052.5632%2018.8216C48.5409%2018.2405%2044.4555%2018.2405%2040.4333%2018.8216C40.0197%2017.8529%2039.5463%2016.9106%2039.016%2016C35.2448%2016.6449%2031.5737%2017.7747%2028.0949%2019.361C21.1755%2029.5685%2019.2997%2039.4855%2020.2168%2049.278C24.2725%2052.265%2028.8121%2054.5386%2033.6388%2056C34.7238%2054.5319%2035.6857%2052.9776%2036.515%2051.3527C34.9439%2050.7746%2033.4241%2050.0667%2031.9715%2049.2365L33.097%2048.4066C37.2937%2050.3539%2041.8679%2051.363%2046.4982%2051.363C51.1285%2051.363%2055.7027%2050.3539%2059.8995%2048.4066L61.0249%2049.2365C59.5732%2050.0801%2058.0535%2050.8018%2056.4814%2051.3942C57.3205%2053.0003%2058.2821%2054.5401%2059.3576%2056C64.1877%2054.547%2068.7288%2052.2728%2072.7797%2049.278C73.8634%2037.9087%2070.9039%2028.0747%2064.9015%2019.361ZM37.7238%2043.2614C35.0978%2043.2614%2032.9302%2040.8963%2032.9302%2037.9917C32.9302%2035.0871%2035.0144%2032.722%2037.6821%2032.722C40.3499%2032.722%2042.5174%2035.0871%2042.4757%2037.9917C42.4341%2040.8963%2040.3499%2043.2614%2037.7238%2043.2614ZM55.3143%2043.2614C52.6882%2043.2614%2050.5207%2040.8963%2050.5207%2037.9917C50.5207%2035.0871%2052.6048%2032.722%2055.3143%2032.722C58.0237%2032.722%2060.1079%2035.0871%2060.0662%2037.9917C60.0245%2040.8963%2057.982%2043.2614%2055.3143%2043.2614Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_233_28813'%20x='0'%20y='0'%20width='93'%20height='80'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='4'/%3e%3cfeGaussianBlur%20stdDeviation='10'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.55%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_233_28813'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_233_28813'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\"","export default \"__VITE_ASSET__CSrHEWuF__\"","import { Box, Typography, styled } from 'decentraland-ui2'\nimport gridBg from '../../../images/section_connection_grid.webp'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nconst ConnectSection = styled('section')({\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n backgroundImage: `url(${gridBg})`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n paddingLeft: 0,\n paddingRight: 0,\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n width: '15%',\n height: '100%',\n zIndex: 1,\n pointerEvents: 'none'\n },\n '&::before': {\n left: 0,\n background: 'linear-gradient(90deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)'\n },\n '&::after': {\n right: 0,\n background: 'linear-gradient(270deg, rgba(24, 20, 26, 0.8) 0%, rgba(24, 20, 26, 0) 100%)'\n }\n})\n/* eslint-enable @typescript-eslint/naming-convention */\n\nconst ConnectTitle = styled(Typography)(({ theme }) => ({\n textAlign: 'center',\n fontSize: 48,\n fontWeight: 600,\n color: '#fcfcfc',\n marginTop: 56,\n marginBottom: 40,\n maxWidth: '80vw',\n marginLeft: 'auto',\n marginRight: 'auto',\n ['& span']: {\n background: 'linear-gradient(244deg, #ff2d55 -11.67%, #ffbc5b 88.23%)',\n backgroundClip: 'text',\n ['WebkitBackgroundClip' as string]: 'text',\n ['WebkitTextFillColor' as string]: 'transparent'\n },\n [theme.breakpoints.down('sm')]: {\n fontSize: 32,\n lineHeight: 'normal',\n paddingLeft: 20,\n paddingRight: 20,\n marginTop: 41,\n marginBottom: 36\n }\n}))\n\nconst ConnectCard = styled(Box)(({ theme }) => ({\n width: '100%',\n padding: '32px 24px',\n background: '#fcfcfc',\n borderRadius: 20,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n boxSizing: 'border-box',\n position: 'relative',\n transition: 'transform 0.3s ease-in-out',\n cursor: 'pointer',\n ['@media (hover: hover)']: {\n ['&:hover']: {\n transform: 'scale(1.05)'\n }\n },\n [theme.breakpoints.down('sm')]: {\n padding: 24\n }\n}))\n\nconst ConnectCardDescription = styled(Typography)(({ theme }) => ({\n color: '#161518',\n fontSize: 16,\n lineHeight: '24px',\n fontWeight: 400,\n fontStyle: 'italic',\n [theme.breakpoints.down('sm')]: {\n fontSize: 20,\n lineHeight: '30px',\n textAlign: 'center'\n }\n}))\n\nconst ConnectCardUser = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'flex-start',\n marginTop: 16,\n [theme.breakpoints.down('sm')]: {\n alignItems: 'center',\n marginTop: 24\n }\n}))\n\nconst ConnectCardUserImage = styled(Box)({\n width: 40,\n minWidth: 40,\n height: 40,\n borderRadius: '50%',\n ['& img']: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: '50%'\n }\n})\n\nconst ConnectCardUserName = styled(Typography)({\n color: '#161518',\n fontSize: 18,\n fontWeight: 700,\n marginTop: 8,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n})\n\nconst DiscordContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 56,\n cursor: 'pointer',\n marginBottom: 32,\n [theme.breakpoints.down('sm')]: {\n marginTop: 43\n }\n}))\n\nconst DiscordTitle = styled(Typography)(({ theme }) => ({\n color: '#fff',\n textAlign: 'center',\n textShadow: '0px 4px 20px rgba(0, 0, 0, 0.55)',\n fontSize: 20,\n fontWeight: 600,\n [theme.breakpoints.down('sm')]: {\n fontSize: 18\n }\n}))\n\nconst DiscordIcon = styled(Box)(({ theme }) => ({\n ['& img']: {\n width: 93,\n height: 80,\n marginTop: 23\n },\n [theme.breakpoints.down('sm')]: {\n ['& img']: {\n width: 50,\n marginTop: 0\n }\n }\n}))\n\nexport {\n ConnectCard,\n ConnectCardDescription,\n ConnectCardUser,\n ConnectCardUserImage,\n ConnectCardUserName,\n ConnectSection,\n ConnectTitle,\n DiscordContainer,\n DiscordIcon,\n DiscordTitle\n}\n","import { memo, useCallback } from 'react'\nimport { useFormatMessage } from '../../../hooks/adapters/useFormatMessage'\nimport discordImage from '../../../images/discord.svg'\nimport { Carousel } from '../../Carousel'\nimport { AnimatedSection } from '../AnimatedSection'\nimport { connectCards } from '../data'\nimport type { ConnectCardData } from '../data'\nimport {\n ConnectCard,\n ConnectCardDescription,\n ConnectCardUser,\n ConnectCardUserImage,\n ConnectCardUserName,\n ConnectSection,\n ConnectTitle,\n DiscordContainer,\n DiscordIcon,\n DiscordTitle\n} from './Connect.styled'\n\nconst renderCard = (card: ConnectCardData) => (\n <ConnectCard\n onClick={() => {\n if (card.url) window.open(card.url, '_blank', 'noopener,noreferrer')\n }}\n sx={{ cursor: card.url ? 'pointer' : 'default' }}\n >\n <ConnectCardDescription>“{card.description}”</ConnectCardDescription>\n <ConnectCardUser>\n <ConnectCardUserImage>\n <img src={card.image} alt={card.name} />\n </ConnectCardUserImage>\n <ConnectCardUserName>{card.name}</ConnectCardUserName>\n </ConnectCardUser>\n </ConnectCard>\n)\n\nconst keyExtractor = (card: ConnectCardData) => card.id\n\nconst CreatorsConnect = memo(() => {\n const l = useFormatMessage()\n const handleDiscordClick = useCallback(() => window.open(l('general.discord_cta_target'), '_blank', 'noopener,noreferrer'), [l])\n\n return (\n <AnimatedSection>\n <ConnectSection>\n <ConnectTitle>\n <span>{l('component.creators_landing.connect.title_highlight')}</span> {l('component.creators_landing.connect.title')}\n </ConnectTitle>\n <Carousel\n items={connectCards}\n renderItem={renderCard}\n keyExtractor={keyExtractor}\n slideWidth={500}\n autoplayDelay={5000}\n alignItems=\"center\"\n />\n <DiscordContainer onClick={handleDiscordClick}>\n <DiscordTitle>{l('component.creators_landing.connect.join_the_community')}</DiscordTitle>\n <DiscordIcon>\n <img src={discordImage} alt=\"Discord\" />\n </DiscordIcon>\n </DiscordContainer>\n </ConnectSection>\n </AnimatedSection>\n )\n})\n\nexport { CreatorsConnect }\n"],"names":["discordImage","gridBg","ConnectSection","styled","ConnectTitle","Typography","theme","ConnectCard","Box","ConnectCardDescription","ConnectCardUser","ConnectCardUserImage","ConnectCardUserName","DiscordContainer","DiscordTitle","DiscordIcon","renderCard","card","jsxs","jsx","keyExtractor","CreatorsConnect","memo","l","useFormatMessage","handleDiscordClick","useCallback","AnimatedSection","Carousel","connectCards"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as k,b as O}from"./index-
|
|
1
|
+
import{a as k,b as O}from"./index-cnaXlDby.js";import"./index-D0nE3AYE.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-
|
|
1
|
+
{"version":3,"file":"index-CALzixlI.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 +1 @@
|
|
|
1
|
-
import{j as e,B as r}from"./index-
|
|
1
|
+
import{j as e,B as r}from"./index-D0nE3AYE.js";import{r as t}from"./vendor-router-D_36sTKu.js";import{L as o,P as a}from"./LegalPageLayout-BPmxsGkt.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 i=[],n=t.memo(()=>e.jsxs(o,{title:"Vulnerability Disclosure Procedure",activeSlug:"/security",tableOfContents:i,children:[e.jsx(a,{children:"At Decentraland, we take every measure necessary to ensure the security of the platform. If you are a security researcher and took a look at some of our code, contracts, or websites and found a vulnerability, you're eligible for a bounty for doing a responsible disclosure of that bug."}),e.jsx(r,{component:"a",href:"https://immunefi.com/bounty/decentraland/",target:"_blank",rel:"noopener noreferrer",variant:"contained",children:"Submit a report on Immunefi"})]}));n.displayName="SecurityPage";export{n as SecurityPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CAq1HW41.js","sources":["../../src/pages/security/SecurityPage.tsx"],"sourcesContent":["import { memo } from 'react'\nimport { Button } from 'decentraland-ui2'\nimport { LegalPageLayout, Paragraph } from '../../components/LegalPage'\nimport type { TOCEntry } from '../../components/LegalPage'\n\nconst TABLE_OF_CONTENTS: TOCEntry[] = []\n\nconst SecurityPage = memo(() => (\n <LegalPageLayout title=\"Vulnerability Disclosure Procedure\" activeSlug=\"/security\" tableOfContents={TABLE_OF_CONTENTS}>\n <Paragraph>\n At Decentraland, we take every measure necessary to ensure the security of the platform. If you are a security researcher and took a\n look at some of our code, contracts, or websites and found a vulnerability, you're eligible for a bounty for doing a responsible\n disclosure of that bug.\n </Paragraph>\n <Button component=\"a\" href=\"https://immunefi.com/bounty/decentraland/\" target=\"_blank\" rel=\"noopener noreferrer\" variant=\"contained\">\n Submit a report on Immunefi\n </Button>\n </LegalPageLayout>\n))\n\nSecurityPage.displayName = 'SecurityPage'\n\nexport { SecurityPage }\n"],"names":["TABLE_OF_CONTENTS","SecurityPage","memo","jsxs","LegalPageLayout","jsx","Paragraph","Button"],"mappings":"uUAKA,MAAMA,EAAgC,CAAA,EAEhCC,EAAeC,EAAAA,KAAK,IACxBC,EAAAA,KAACC,EAAA,CAAgB,MAAM,qCAAqC,WAAW,YAAY,gBAAiBJ,EAClG,SAAA,CAAAK,EAAAA,IAACC,GAAU,SAAA,+RAAA,CAIX,EACAD,EAAAA,IAACE,EAAA,CAAO,UAAU,IAAI,KAAK,4CAA4C,OAAO,SAAS,IAAI,sBAAsB,QAAQ,YAAY,SAAA,6BAAA,CAErI,CAAA,EACF,CACD,EAEDN,EAAa,YAAc"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{j as t,s as r,a as p,v as k,X as I,W as C,M as E,w as A,U as f,ad as b,o as d}from"./index-DaRevScO.js";import{r as a}from"./vendor-router-D_36sTKu.js";import{u as T,D as L,A as P,a as W,b as _,c as S}from"./useCreatorHubDownload-CQ5sircD.js";import{C as w}from"./CTAButton-DIvER7jP.js";import{V as v}from"./Video-DF4ljNzn.js";const D=100,N=D*10;function j(e,{wordLength:n,listLength:i}){return e.action==="write"?e.letterPos===n-1?{...e,action:"erase"}:{...e,letterPos:e.letterPos+1}:e.letterPos===0?{letterPos:0,wordIndex:(e.wordIndex+1)%i,action:"write"}:{...e,letterPos:e.letterPos-1}}function M(e){const[n,i]=a.useReducer(j,{letterPos:0,wordIndex:0,action:"write"}),l=a.useRef(),c=e[n.wordIndex].length,u=n.letterPos===c-1;return a.useEffect(()=>(clearTimeout(l.current),l.current=setTimeout(()=>i({type:"tick",wordLength:c,listLength:e.length}),u?N:D),()=>clearTimeout(l.current)),[n,c,e.length,u]),a.useMemo(()=>e[n.wordIndex].slice(0,n.letterPos+1),[n.letterPos,n.wordIndex,e])}const o={titleFirstLine:"Create your own",changingWords:["Wearables","Emotes","Worlds","Experiences","Scenes","Games"],titleLastLine:"in Decentraland",subtitle:"Download the Creator Hub to start building immersive scenes and interactive experiences in Decentraland.",imageLandscape:{url:"https://images.ctfassets.net/ea2ybdmmn1kv/3fZB29mbYNJdp7sv1y2SJ2/108e55d6d3e23cd11e7d75563d81caf5/hero.webp"},videoLandscape:{url:"https://videos.ctfassets.net/ea2ybdmmn1kv/5ELJfyKfvgJMlWi3QXzyt7/28d4d5202e965c08eabc3f9efcf329ea/hero-desktop.mp4",width:960,height:540},imagePortrait:{url:"https://images.ctfassets.net/ea2ybdmmn1kv/1nUkaxckVENfmyQduvC9Rm/9304ddbd82bba15c44ea698be0fadfa8/hero-mobile.webp"},videoPortrait:{url:"https://videos.ctfassets.net/ea2ybdmmn1kv/35QAhVRDvfhcDjRbCquYKT/459f381b4445fb5b44b140b2fc4ff80a/hero_mobile.mp4",width:195,height:330}},re=[{id:"join",title:"Join a Community of Creators",description:"Share knowledge, collaborate, and build relationships in a community of artists, designers, and developers where you can see your work appreciated everyday.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/2l0VUCaHXFG7NwltyZ1nWA/a6e18252e09a9916e8d735f098ef452a/Image_1.png"},{id:"create",title:"Create in an Open, Decentralized Ecosystem",description:"Retain full control over your content on a platform that's governed by its users and build side-by-side with other creators in an open virtual world ready to be explored.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/77yzgLkg2oQ7GAZLPtEAwY/64a8d2741a6e3f1f90b15636c4d37638/Image_2.png"},{id:"benefit",title:"Benefit from a Creator-Centric Economy",description:"Decentraland is owned by its users, so you keep 97.5% of Marketplace sales while the rest funds community grants for creators like you. Plus, you'll get 2.5% royalties on resales.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3iCBvRrzEtgD7LT8PYxMZn/2f5fba37f044d426d24e25ce33dc1f9c/Image_3.png"}],ie=[{id:"design-unique-wearables",title:"Design Unique Wearables",description:"In Decentraland, Wearables go beyond clothing. Think floating elements, glowing fabrics, robot prosthetics, alien bodies—anything is possible!",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3Cu7b7wDmHMxdlnV1kPIHK/af575947c309275575ee1f456042596a/PNG_1.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/5tQ56AeW3FWfsnDIgIr1ix/1ff51b5358a8ddf13a4bb4bddaf36601/BG_1.png",tab1:{title:"Regular",descriptionTitle:"Shape Your Digital Identity",descriptionSubTitle:"Craft the skins, clothes, accessories, and bodies that provide the Decentraland community with endless options to customize their digital identities.",skills:["3D MODELING","IMAGINATIVE FASHION SENSE"],links:[{label:"Creating Wearables",url:"https://docs.decentraland.org/creator/wearables/creating-wearables/"},{label:"Wearables in the Marketplace",url:"https://decentraland.org/marketplace/browse?section=wearables&vendor=decentraland&page=1&sortBy=newest&status=on_sale"},{label:"Publishing Wearables",url:"https://docs.decentraland.org/creator/wearables/publishing-collections/"},{label:"Wearable Tutorials",url:"https://www.youtube.com/watch?v=zl43Fw7zROQ&list=PLEl6fe1igtKBFDcxaC64Uxamo7kQUi5mf&pp=iAQB"}]},tab2:{title:"Smart Wearables",descriptionTitle:"Experiences & Fashion Combined",descriptionSubTitle:"Want to create a jet pack that lets you fly or glasses that reveal a secret world? Tie Portable Experiences to Wearables, for a whole new realm of possibilities.",skills:["ANIMATION","IMAGINATIVE FASHION SENSE","3D MODELING","TYPESCRIPT"],links:[{label:"Portable Experience Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/portable-experiences/"},{label:"SDK 7 Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/sdk-101/"},{label:"Smart Wearables Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/smart-wearables/"},{label:"Smart Wearables in the Marketplace",url:"https://decentraland.org/marketplace/browse?assetType=item§ion=wearables&vendor=decentraland&page=1&sortBy=newest&status=on_sale&onlySmart=true"}]}},{id:"animate-expressive-emotes",title:"Animate Expressive Emotes",description:"Create the avatar animations that allow Decentraland's community to form connections, share emotions, and participate in endless fun activities.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5TILWmR3rrA6K2DMTrPwXx/aeafb6cfc8fd3ef829833c41fb4cda16/PNG_2.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/26Oa8X59NGyCSnL2j2Tvrw/091c890f8a5bfcdf8878a3c09c1268ae/BG_2.png",tab1:{title:"More than Motion",descriptionTitle:"More than Motion",descriptionSubTitle:"Surpassing simple animations, in Decentraland, Emotes take expression to the next level with the option of adding props and sounds!",skills:["TYPESCRIPT","3D MODELING","ANIMATION"],links:[{label:"Creating Emotes",url:"https://docs.decentraland.org/creator/emotes/creating-and-exporting-emotes/"},{label:"Emote Tutorials",url:"https://www.youtube.com/watch?v=-iWslh4uQIk&list=PLAcRraQmr_GN8LcnnQk2BByo9L2Orvp9c&pp=iAQB"},{label:"Publishing Emotes",url:"https://docs.decentraland.org/creator/wearables/publishing-collections/"},{label:"Emotes in the Marketplace",url:"https://decentraland.org/marketplace/browse?assetType=item§ion=emotes&vendor=decentraland&page=1&sortBy=newest&status=on_sale"}]}},{id:"craft-immersive-experiences",title:"Craft Immersive Experiences",description:"Construct captivating scenes, interactive experiences, and games in an open-world ecosystem. Claim your own World or rent/buy LAND to start building.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3JXtpqW33ILyBYzrpzykKl/f246d9529cbbc4d033c271cd02d4376b/PNG_3.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/5E9WJJcBi3qeuqqetuleeT/6308247b5ca650adf34aaec41d7e7182/BG_3.png",tab1:{title:"Basic",descriptionTitle:"Ideal for Beginners",descriptionSubTitle:"Drag and drop pre-made elements into place to create your dream scene or start with a scene template and customize the details to make it your own.",skills:["ABILITY TO CLICK A MOUSE","OVERACTIVE IMAGINATION"],links:[{label:"Explore Places",url:"https://decentraland.org/places/"},{label:"Download Creator Hub",url:"https://decentraland.org/download/creator-hub"},{label:"Building Tutorials",url:"https://www.youtube.com/watch?v=wm8ZD2kSyKA&list=PLAcRraQmr_GPrMmQekqbMWhyBxo3lXs8p&pp=iAQB"},{label:"Worlds Essential Guide",url:"https://decentraland.org/blog/about-decentraland/decentraland-worlds-your-own-virtual-space"}]},tab2:{title:"Advanced",descriptionTitle:"Complete Control Over Your Creations",descriptionSubTitle:"Transform your ideas to reality with Decentraland's SDK 7. Craft anything you can imagine, from complex scenes and interactive experiences to fully fledged games.",skills:["TYPESCRIPT","3D MODELING","ANIMATION"],links:[{label:"Open Source Resources & Templates",url:"https://studios.decentraland.org/resources"},{label:"Download Creator Hub",url:"https://decentraland.org/download/creator-hub"},{label:"Building Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/sdk-101/"},{label:"Building Tutorials",url:"https://www.youtube.com/watch?v=wm8ZD2kSyKA&list=PLAcRraQmr_GPrMmQekqbMWhyBxo3lXs8p&pp=iAQB"}]}}],le=[{id:"mrdhingia",name:"MrDhingia",description:"I love being a DCL creator because it lets me freely create cool 3D spaces. It's great to work with others, learn new things, and monetize my content, reaching people worldwide.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/7w2syTuMGjA3VCJZ78YK8q/1a37abd7658ba66e16f1c8d7d4a28333/dhingia.png",url:"https://x.com/MrDhingia"},{id:"canessa",name:"Canessa",description:"I think having unique Emotes is a way of making your avatar another form of yourself. I made myself a unique Emote so I could always have a special greeting [distinct from the standard animations everyone uses] for my friends.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3ugHhjVpg2TJRKpGrE5HJO/2c267463b5cab7923fedcd2a8912c17e/anessa.png"},{id:"polygonal-mind",name:"Polygonal Mind",description:"Decentraland evolves almost every day on a technical level, but also on a community level. Newcomers come into the platform with new ideas that make the whole platform spin to accommodate them. It is very exciting to see the change in real time.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/2A10uagc69WkV4Put4Je8K/b5f7d12193e3e7bc6c126c8b1cf574b9/polygonal.png"},{id:"tangpoko",name:"TangPoko",description:"There is a lot of gratification in creating Wearables and Emotes in Decentraland when you see everyone around you wearing and using them!",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3VUTEOy199FdbePR0n4v9h/2011425bade058c0b6ceeda046bbc71c/tang.png"},{id:"nikki-fuego",name:"Nikki Fuego",description:"My whole life I've been a gamer and the one thing I've always wanted from games was ultimate customization with my character's wearables. [In Decentraland,] that fantasy became a reality.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/1qNFtMuqQ6NUgVFZxqIMWO/53a6bd692059f897f8df5a99c9570ecf/Nikki.png"}],ce=[{id:"isamazing",title:"Emote Workshop | Create Great Animations",name:"Isamazing",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/1JsJlPSMTiDHxWvNbLcTUb/c3ae0654ff66da80a99a52334a3caf01/isa.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/6b8IV5K8BUFIi6AyA1h6uI/e2dd6add08d9b0a77c12d65131f0b42c/5PEF2pwZxtY-HQ.jpg",url:"https://youtu.be/5PEF2pwZxtY?list=PLAcRraQmr_GN8LcnnQk2BByo9L2Orvp9c",date:"January 30, 2024"},{id:"kjwalker",title:"Making Skins | Creating Wearables",name:"KJWalker",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/6pjOW45mmmYy5DkaoOsYLB/02b30670a4d63e32845d89d6ad063fe5/kj.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3BYsoFQ1UEbmjVPIDNMdIU/f9a89d99a91741da24010d68030d323e/zx2CBy3pPfo-HQ.jpg",url:"https://www.youtube.com/watch?v=zx2CBy3pPfo",date:"January 31, 2024"},{id:"nicoe",title:"Creating Scenes | SDK 7 and Smart Items",name:"NicoE",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/1HxP6difHgjUlzACC0Nha2/7c75d6c74da5171584072eadefd3b961/nico.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/6gjVuKeWBh76Pe6UyiAZzt/29ffb9ad320ca075e2c04ad34464f9c4/J_EO1LZkaiA-HQ.jpg",url:"https://www.youtube.com/watch?v=J_EO1LZkaiA&list=PLAcRraQmr_GP_K8WN7csnKnImK4R2TgMA&index=6&ab_channel=Decentraland",date:"January 31, 2024"},{id:"sango",title:"How to Make a Wearable | Workshop Series",name:"Sango",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/4AVvwN5SFyRJu9zEFt2qJF/fd883eb27e429351a619d6fef963f9cb/sango.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5ky9e2oglx9xmfLRC6uhzY/c04eee263099cccb99245c3d9b7808c3/zl43Fw7zROQ-SD.jpg",url:"https://youtu.be/zl43Fw7zROQ?list=PLEl6fe1igtKBFDcxaC64Uxamo7kQUi5mf",date:"January 24, 2024"},{id:"sinful",title:"Publishing Wearables & Emotes",name:"Sinful",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/16eJcvU74UY7k3KXZoI5AD/a8578a20da16d755c95815f6daed072a/Screenshot_2024-01-31_130003.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5EI8frG7fYxMRGbgm92TPC/a69b8d39cb44e88640c44b0cdaa8373f/vY7IYksmC2M-HQ.jpg",url:"https://www.youtube.com/watch?v=vY7IYksmC2M",date:"January 31, 2024"}],de=[{question:"What is Decentraland?",answer:"Launched in 2020, Decentraland is a virtual social world, the first decentralized metaverse, and the only one that is open source. Within the Decentraland platform, which can run on a browser or desktop app, users can create, experience, and monetize content and applications as well as socialize and attend a wide range of daily, community-driven events. Decentraland is unique in that it is owned, created, and governed by the people who use it every day. Through Decentraland's decentralized autonomous organization (DAO) users can submit and vote on proposals and even apply for grants for the community to vote on."},{question:"What can I create in Decentraland?",answer:`It would be easier to ask what you can't create in Decentraland! As a virtual world created by its users, in Decentraland you can create just about everything.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CcVwIken.js","assets/index-D0nE3AYE.js","assets/vendor-router-D_36sTKu.js","assets/vendor-sentry-BSvWNK4f.js","assets/vendor-crypto-uuuQA3i5.js","assets/vendor-schemas-DJzTSxpO.js","assets/vendor-ua-D7qqAxdq.js","assets/vendor-intl-D2lXWsDp.js","assets/AnimatedSection-4VTaj_2R.js","assets/useCreatorHubDownload-TIbrehIm.js","assets/file-Cr_gl9BS.js","assets/url-B6S3bwqB.js","assets/index-BxZNYwr3.js","assets/useLatestGithubRelease-lPlpQBOj.js","assets/CTAButton-DiWefRTF.js","assets/CircularProgress-CpGrVwOe.js","assets/Video-DnCE7TZC.js","assets/index-BgUWva8u.js","assets/Carousel-pw-zJClB.js","assets/index-C8cR2Ojr.js","assets/index-CnliSg2U.js","assets/index-C1q8L88E.js","assets/index--KeAUoz4.js","assets/CircleAndArrow-DjRydx_v.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{j as t,s as r,a as p,v as k,X as I,W as C,M as E,w as A,U as f,ad as b,o as d}from"./index-D0nE3AYE.js";import{r as a}from"./vendor-router-D_36sTKu.js";import{u as T,D as L,A as P,a as W,b as _,c as S}from"./useCreatorHubDownload-TIbrehIm.js";import{C as w}from"./CTAButton-DiWefRTF.js";import{V as v}from"./Video-DnCE7TZC.js";const D=100,N=D*10;function j(e,{wordLength:n,listLength:i}){return e.action==="write"?e.letterPos===n-1?{...e,action:"erase"}:{...e,letterPos:e.letterPos+1}:e.letterPos===0?{letterPos:0,wordIndex:(e.wordIndex+1)%i,action:"write"}:{...e,letterPos:e.letterPos-1}}function M(e){const[n,i]=a.useReducer(j,{letterPos:0,wordIndex:0,action:"write"}),l=a.useRef(),c=e[n.wordIndex].length,u=n.letterPos===c-1;return a.useEffect(()=>(clearTimeout(l.current),l.current=setTimeout(()=>i({type:"tick",wordLength:c,listLength:e.length}),u?N:D),()=>clearTimeout(l.current)),[n,c,e.length,u]),a.useMemo(()=>e[n.wordIndex].slice(0,n.letterPos+1),[n.letterPos,n.wordIndex,e])}const o={titleFirstLine:"Create your own",changingWords:["Wearables","Emotes","Worlds","Experiences","Scenes","Games"],titleLastLine:"in Decentraland",subtitle:"Download the Creator Hub to start building immersive scenes and interactive experiences in Decentraland.",imageLandscape:{url:"https://images.ctfassets.net/ea2ybdmmn1kv/3fZB29mbYNJdp7sv1y2SJ2/108e55d6d3e23cd11e7d75563d81caf5/hero.webp"},videoLandscape:{url:"https://videos.ctfassets.net/ea2ybdmmn1kv/5ELJfyKfvgJMlWi3QXzyt7/28d4d5202e965c08eabc3f9efcf329ea/hero-desktop.mp4",width:960,height:540},imagePortrait:{url:"https://images.ctfassets.net/ea2ybdmmn1kv/1nUkaxckVENfmyQduvC9Rm/9304ddbd82bba15c44ea698be0fadfa8/hero-mobile.webp"},videoPortrait:{url:"https://videos.ctfassets.net/ea2ybdmmn1kv/35QAhVRDvfhcDjRbCquYKT/459f381b4445fb5b44b140b2fc4ff80a/hero_mobile.mp4",width:195,height:330}},re=[{id:"join",title:"Join a Community of Creators",description:"Share knowledge, collaborate, and build relationships in a community of artists, designers, and developers where you can see your work appreciated everyday.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/2l0VUCaHXFG7NwltyZ1nWA/a6e18252e09a9916e8d735f098ef452a/Image_1.png"},{id:"create",title:"Create in an Open, Decentralized Ecosystem",description:"Retain full control over your content on a platform that's governed by its users and build side-by-side with other creators in an open virtual world ready to be explored.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/77yzgLkg2oQ7GAZLPtEAwY/64a8d2741a6e3f1f90b15636c4d37638/Image_2.png"},{id:"benefit",title:"Benefit from a Creator-Centric Economy",description:"Decentraland is owned by its users, so you keep 97.5% of Marketplace sales while the rest funds community grants for creators like you. Plus, you'll get 2.5% royalties on resales.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3iCBvRrzEtgD7LT8PYxMZn/2f5fba37f044d426d24e25ce33dc1f9c/Image_3.png"}],ie=[{id:"design-unique-wearables",title:"Design Unique Wearables",description:"In Decentraland, Wearables go beyond clothing. Think floating elements, glowing fabrics, robot prosthetics, alien bodies—anything is possible!",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3Cu7b7wDmHMxdlnV1kPIHK/af575947c309275575ee1f456042596a/PNG_1.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/5tQ56AeW3FWfsnDIgIr1ix/1ff51b5358a8ddf13a4bb4bddaf36601/BG_1.png",tab1:{title:"Regular",descriptionTitle:"Shape Your Digital Identity",descriptionSubTitle:"Craft the skins, clothes, accessories, and bodies that provide the Decentraland community with endless options to customize their digital identities.",skills:["3D MODELING","IMAGINATIVE FASHION SENSE"],links:[{label:"Creating Wearables",url:"https://docs.decentraland.org/creator/wearables/creating-wearables/"},{label:"Wearables in the Marketplace",url:"https://decentraland.org/marketplace/browse?section=wearables&vendor=decentraland&page=1&sortBy=newest&status=on_sale"},{label:"Publishing Wearables",url:"https://docs.decentraland.org/creator/wearables/publishing-collections/"},{label:"Wearable Tutorials",url:"https://www.youtube.com/watch?v=zl43Fw7zROQ&list=PLEl6fe1igtKBFDcxaC64Uxamo7kQUi5mf&pp=iAQB"}]},tab2:{title:"Smart Wearables",descriptionTitle:"Experiences & Fashion Combined",descriptionSubTitle:"Want to create a jet pack that lets you fly or glasses that reveal a secret world? Tie Portable Experiences to Wearables, for a whole new realm of possibilities.",skills:["ANIMATION","IMAGINATIVE FASHION SENSE","3D MODELING","TYPESCRIPT"],links:[{label:"Portable Experience Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/portable-experiences/"},{label:"SDK 7 Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/sdk-101/"},{label:"Smart Wearables Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/smart-wearables/"},{label:"Smart Wearables in the Marketplace",url:"https://decentraland.org/marketplace/browse?assetType=item§ion=wearables&vendor=decentraland&page=1&sortBy=newest&status=on_sale&onlySmart=true"}]}},{id:"animate-expressive-emotes",title:"Animate Expressive Emotes",description:"Create the avatar animations that allow Decentraland's community to form connections, share emotions, and participate in endless fun activities.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5TILWmR3rrA6K2DMTrPwXx/aeafb6cfc8fd3ef829833c41fb4cda16/PNG_2.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/26Oa8X59NGyCSnL2j2Tvrw/091c890f8a5bfcdf8878a3c09c1268ae/BG_2.png",tab1:{title:"More than Motion",descriptionTitle:"More than Motion",descriptionSubTitle:"Surpassing simple animations, in Decentraland, Emotes take expression to the next level with the option of adding props and sounds!",skills:["TYPESCRIPT","3D MODELING","ANIMATION"],links:[{label:"Creating Emotes",url:"https://docs.decentraland.org/creator/emotes/creating-and-exporting-emotes/"},{label:"Emote Tutorials",url:"https://www.youtube.com/watch?v=-iWslh4uQIk&list=PLAcRraQmr_GN8LcnnQk2BByo9L2Orvp9c&pp=iAQB"},{label:"Publishing Emotes",url:"https://docs.decentraland.org/creator/wearables/publishing-collections/"},{label:"Emotes in the Marketplace",url:"https://decentraland.org/marketplace/browse?assetType=item§ion=emotes&vendor=decentraland&page=1&sortBy=newest&status=on_sale"}]}},{id:"craft-immersive-experiences",title:"Craft Immersive Experiences",description:"Construct captivating scenes, interactive experiences, and games in an open-world ecosystem. Claim your own World or rent/buy LAND to start building.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3JXtpqW33ILyBYzrpzykKl/f246d9529cbbc4d033c271cd02d4376b/PNG_3.png",imageBackground:"https://images.ctfassets.net/ea2ybdmmn1kv/5E9WJJcBi3qeuqqetuleeT/6308247b5ca650adf34aaec41d7e7182/BG_3.png",tab1:{title:"Basic",descriptionTitle:"Ideal for Beginners",descriptionSubTitle:"Drag and drop pre-made elements into place to create your dream scene or start with a scene template and customize the details to make it your own.",skills:["ABILITY TO CLICK A MOUSE","OVERACTIVE IMAGINATION"],links:[{label:"Explore Places",url:"https://decentraland.org/places/"},{label:"Download Creator Hub",url:"https://decentraland.org/download/creator-hub"},{label:"Building Tutorials",url:"https://www.youtube.com/watch?v=wm8ZD2kSyKA&list=PLAcRraQmr_GPrMmQekqbMWhyBxo3lXs8p&pp=iAQB"},{label:"Worlds Essential Guide",url:"https://decentraland.org/blog/about-decentraland/decentraland-worlds-your-own-virtual-space"}]},tab2:{title:"Advanced",descriptionTitle:"Complete Control Over Your Creations",descriptionSubTitle:"Transform your ideas to reality with Decentraland's SDK 7. Craft anything you can imagine, from complex scenes and interactive experiences to fully fledged games.",skills:["TYPESCRIPT","3D MODELING","ANIMATION"],links:[{label:"Open Source Resources & Templates",url:"https://studios.decentraland.org/resources"},{label:"Download Creator Hub",url:"https://decentraland.org/download/creator-hub"},{label:"Building Docs",url:"https://docs.decentraland.org/creator/development-guide/sdk7/sdk-101/"},{label:"Building Tutorials",url:"https://www.youtube.com/watch?v=wm8ZD2kSyKA&list=PLAcRraQmr_GPrMmQekqbMWhyBxo3lXs8p&pp=iAQB"}]}}],le=[{id:"mrdhingia",name:"MrDhingia",description:"I love being a DCL creator because it lets me freely create cool 3D spaces. It's great to work with others, learn new things, and monetize my content, reaching people worldwide.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/7w2syTuMGjA3VCJZ78YK8q/1a37abd7658ba66e16f1c8d7d4a28333/dhingia.png",url:"https://x.com/MrDhingia"},{id:"canessa",name:"Canessa",description:"I think having unique Emotes is a way of making your avatar another form of yourself. I made myself a unique Emote so I could always have a special greeting [distinct from the standard animations everyone uses] for my friends.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3ugHhjVpg2TJRKpGrE5HJO/2c267463b5cab7923fedcd2a8912c17e/anessa.png"},{id:"polygonal-mind",name:"Polygonal Mind",description:"Decentraland evolves almost every day on a technical level, but also on a community level. Newcomers come into the platform with new ideas that make the whole platform spin to accommodate them. It is very exciting to see the change in real time.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/2A10uagc69WkV4Put4Je8K/b5f7d12193e3e7bc6c126c8b1cf574b9/polygonal.png"},{id:"tangpoko",name:"TangPoko",description:"There is a lot of gratification in creating Wearables and Emotes in Decentraland when you see everyone around you wearing and using them!",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3VUTEOy199FdbePR0n4v9h/2011425bade058c0b6ceeda046bbc71c/tang.png"},{id:"nikki-fuego",name:"Nikki Fuego",description:"My whole life I've been a gamer and the one thing I've always wanted from games was ultimate customization with my character's wearables. [In Decentraland,] that fantasy became a reality.",image:"https://images.ctfassets.net/ea2ybdmmn1kv/1qNFtMuqQ6NUgVFZxqIMWO/53a6bd692059f897f8df5a99c9570ecf/Nikki.png"}],ce=[{id:"isamazing",title:"Emote Workshop | Create Great Animations",name:"Isamazing",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/1JsJlPSMTiDHxWvNbLcTUb/c3ae0654ff66da80a99a52334a3caf01/isa.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/6b8IV5K8BUFIi6AyA1h6uI/e2dd6add08d9b0a77c12d65131f0b42c/5PEF2pwZxtY-HQ.jpg",url:"https://youtu.be/5PEF2pwZxtY?list=PLAcRraQmr_GN8LcnnQk2BByo9L2Orvp9c",date:"January 30, 2024"},{id:"kjwalker",title:"Making Skins | Creating Wearables",name:"KJWalker",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/6pjOW45mmmYy5DkaoOsYLB/02b30670a4d63e32845d89d6ad063fe5/kj.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/3BYsoFQ1UEbmjVPIDNMdIU/f9a89d99a91741da24010d68030d323e/zx2CBy3pPfo-HQ.jpg",url:"https://www.youtube.com/watch?v=zx2CBy3pPfo",date:"January 31, 2024"},{id:"nicoe",title:"Creating Scenes | SDK 7 and Smart Items",name:"NicoE",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/1HxP6difHgjUlzACC0Nha2/7c75d6c74da5171584072eadefd3b961/nico.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/6gjVuKeWBh76Pe6UyiAZzt/29ffb9ad320ca075e2c04ad34464f9c4/J_EO1LZkaiA-HQ.jpg",url:"https://www.youtube.com/watch?v=J_EO1LZkaiA&list=PLAcRraQmr_GP_K8WN7csnKnImK4R2TgMA&index=6&ab_channel=Decentraland",date:"January 31, 2024"},{id:"sango",title:"How to Make a Wearable | Workshop Series",name:"Sango",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/4AVvwN5SFyRJu9zEFt2qJF/fd883eb27e429351a619d6fef963f9cb/sango.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5ky9e2oglx9xmfLRC6uhzY/c04eee263099cccb99245c3d9b7808c3/zl43Fw7zROQ-SD.jpg",url:"https://youtu.be/zl43Fw7zROQ?list=PLEl6fe1igtKBFDcxaC64Uxamo7kQUi5mf",date:"January 24, 2024"},{id:"sinful",title:"Publishing Wearables & Emotes",name:"Sinful",userImage:"https://images.ctfassets.net/ea2ybdmmn1kv/16eJcvU74UY7k3KXZoI5AD/a8578a20da16d755c95815f6daed072a/Screenshot_2024-01-31_130003.png",image:"https://images.ctfassets.net/ea2ybdmmn1kv/5EI8frG7fYxMRGbgm92TPC/a69b8d39cb44e88640c44b0cdaa8373f/vY7IYksmC2M-HQ.jpg",url:"https://www.youtube.com/watch?v=vY7IYksmC2M",date:"January 31, 2024"}],de=[{question:"What is Decentraland?",answer:"Launched in 2020, Decentraland is a virtual social world, the first decentralized metaverse, and the only one that is open source. Within the Decentraland platform, which can run on a browser or desktop app, users can create, experience, and monetize content and applications as well as socialize and attend a wide range of daily, community-driven events. Decentraland is unique in that it is owned, created, and governed by the people who use it every day. Through Decentraland's decentralized autonomous organization (DAO) users can submit and vote on proposals and even apply for grants for the community to vote on."},{question:"What can I create in Decentraland?",answer:`It would be easier to ask what you can't create in Decentraland! As a virtual world created by its users, in Decentraland you can create just about everything.
|
|
3
3
|
Decentraland Creators make all the components that go into crafting a digital identity, such as Wearables (this can include whole skins, body parts, articles of clothing, hair styles, accessories, etc.) as well as Emotes, animations for your avatar which can include props and sounds in addition to movement.
|
|
4
4
|
The landscape and activities of Decentraland are also all shaped by creators. Walking through Decentraland's Genesis City, you can explore a variety of content from different creators, built side-by-side: art galleries, theaters, gardens, night clubs, racetracks, casinos, entire game experiences, and more can be explored and created by everyone! To start building, download Decentraland's Creator Hub.`},{question:"How do I become a Decentraland creator?",answer:`Anyone can be a Decentraland creator, all it takes is a little knowhow and endless creative ideas! Depending on what you want to create, the knowledge you need to know differs. If you just want to create cool virtual scenes for yourself or to host events, and learning programming and 3D modeling isn't in your plans, then you can get started creating scenes right away by downloading Decentraland's Creator Hub.
|
|
5
5
|
|
|
@@ -25,4 +25,4 @@ If you want to build an experience that benefits the community, but need the res
|
|
|
25
25
|
|
|
26
26
|
As for owning a digital wallet, if you don't already have one, you don't need to get one yourself if you don't want to. When you sign-in to Decentraland for the first time-creating your account-a digital wallet will be created for you behind the scenes, it's as simple as that!
|
|
27
27
|
|
|
28
|
-
This digital wallet is part of your Decentraland account and is used to store any digital assets you acquire, such as free Wearables you might claim in-world or a fun Emote you purchase in the Marketplace.`}],ue=["3D MODELING","CREATIVE DIRECTION","LAND RENTAL","LINKED WEARABLES","VENUE RENTAL","ADVERTISING","EMOTE DESIGN","ENTERTAINMENT","PROGRAMMING","WEARABLE DESIGN"],O=r("svg",{shouldForwardProp:e=>e!=="dark"})(({dark:e})=>({fill:e?"#a09ba8":"#fff",cursor:"pointer"})),R=a.memo(e=>{const{dark:n,...i}=e;return t.jsx(O,{...i,dark:n,xmlns:"http://www.w3.org/2000/svg",width:"21",height:"14",viewBox:"0 0 21 14",fill:"none",children:t.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.585815 3.41424L3.41424 0.585815L10.5 7.6716L17.5858 0.585815L20.4142 3.41424L10.5 13.3285L0.585815 3.41424Z"})})}),B=r("section")({height:"calc(90vh - 96px)",width:"100%",position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",marginTop:92,overflow:"hidden"}),z=r(p)({position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:0,"& video, & .hero-bg-image":{width:"100%",height:"100%",objectFit:"cover",objectPosition:"center"}}),G=r(p)(({theme:e})=>({position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",maxWidth:739,padding:`0 ${e.spacing(4)}`,[e.breakpoints.down("sm")]:{maxWidth:"100%"}})),F=r(k)(({theme:e})=>({fontSize:64,fontWeight:700,letterSpacing:"-1.28px",lineHeight:"normal",marginBottom:e.spacing(5.5),color:"#fff","& span":{background:"linear-gradient(287deg, #ff2d55 5.21%, #ffbc5b 56.5%)",backgroundClip:"text",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},[e.breakpoints.down("sm")]:{fontSize:48,letterSpacing:"-0.8px",marginBottom:e.spacing(4)}})),H=r(k)(({theme:e})=>({fontSize:24,fontWeight:500,lineHeight:"32px",marginBottom:e.spacing(8.5),color:"#fff",[e.breakpoints.down("sm")]:{fontSize:20,lineHeight:"30px",fontWeight:400,marginBottom:e.spacing(8)}})),Y=r(p)({display:"flex",flexDirection:"column",alignItems:"center"}),Q=r(p)({display:"flex",alignItems:"center",justifyContent:"center",paddingTop:40,paddingBottom:32,"&:hover svg":{animation:"moveUpDown 1s linear infinite"},"@keyframes moveUpDown":{"0%":{transform:"translateY(0)"},"50%":{transform:"translateY(-10px)"},"100%":{transform:"translateY(0)"}}}),V="/download/creator-hub",q=a.memo(()=>{const e=I("(max-width: 767px)"),n=C(),i=M(o.changingWords),l=E(),c=A(),{isReady:u,primaryOption:m,secondaryOptions:h,handleDownload:g}=T(),x=n&&u;return t.jsxs(t.Fragment,{children:[t.jsxs(B,{children:[t.jsxs(z,{children:[!e&&t.jsx(v,{loop:!0,muted:!0,autoPlay:!0,playsInline:!0,width:o.videoLandscape.width,height:o.videoLandscape.height,poster:o.imageLandscape.url,source:o.videoLandscape.url}),e&&t.jsx(v,{loop:!0,muted:!0,autoPlay:!0,playsInline:!0,width:o.videoPortrait.width,height:o.videoPortrait.height,poster:o.imagePortrait.url,source:o.videoPortrait.url})]}),t.jsxs(G,{children:[t.jsxs(F,{children:[o.titleFirstLine,t.jsx("br",{}),t.jsx("span",{children:i}),t.jsx("br",{}),o.titleLastLine]}),t.jsx(H,{children:o.subtitle}),t.jsx(Y,{children:x&&m?.link?t.jsxs(t.Fragment,{children:[t.jsx(w,{href:m.link,onClick:s=>{s.preventDefault(),l(s),g(m)},event:b.DOWNLOAD,place:f.CREATORS_HERO,endIcon:t.jsx(L,{src:m.image,alt:""}),label:c("page.download.download_creator_hub"),isFullWidth:!1}),h.length>0&&t.jsxs(P,{children:[t.jsx(W,{children:c("page.creator-hub.download.also_available")}),h.map(s=>t.jsx(_,{onClick:y=>{y.preventDefault(),l(y),g(s)},children:t.jsx(S,{src:s.image,alt:s.text})},s.text))]})]}):t.jsx(w,{href:V,onClick:s=>{l(s)},event:b.DOWNLOAD,place:f.CREATORS_HERO,label:c("page.download.download_creator_hub"),isFullWidth:!1})})]})]}),t.jsx(Q,{children:t.jsx(R,{dark:!0})})]})}),U=a.lazy(()=>d(()=>import("./index-
|
|
28
|
+
This digital wallet is part of your Decentraland account and is used to store any digital assets you acquire, such as free Wearables you might claim in-world or a fun Emote you purchase in the Marketplace.`}],ue=["3D MODELING","CREATIVE DIRECTION","LAND RENTAL","LINKED WEARABLES","VENUE RENTAL","ADVERTISING","EMOTE DESIGN","ENTERTAINMENT","PROGRAMMING","WEARABLE DESIGN"],O=r("svg",{shouldForwardProp:e=>e!=="dark"})(({dark:e})=>({fill:e?"#a09ba8":"#fff",cursor:"pointer"})),R=a.memo(e=>{const{dark:n,...i}=e;return t.jsx(O,{...i,dark:n,xmlns:"http://www.w3.org/2000/svg",width:"21",height:"14",viewBox:"0 0 21 14",fill:"none",children:t.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.585815 3.41424L3.41424 0.585815L10.5 7.6716L17.5858 0.585815L20.4142 3.41424L10.5 13.3285L0.585815 3.41424Z"})})}),B=r("section")({height:"calc(90vh - 96px)",width:"100%",position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",marginTop:92,overflow:"hidden"}),z=r(p)({position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:0,"& video, & .hero-bg-image":{width:"100%",height:"100%",objectFit:"cover",objectPosition:"center"}}),G=r(p)(({theme:e})=>({position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",maxWidth:739,padding:`0 ${e.spacing(4)}`,[e.breakpoints.down("sm")]:{maxWidth:"100%"}})),F=r(k)(({theme:e})=>({fontSize:64,fontWeight:700,letterSpacing:"-1.28px",lineHeight:"normal",marginBottom:e.spacing(5.5),color:"#fff","& span":{background:"linear-gradient(287deg, #ff2d55 5.21%, #ffbc5b 56.5%)",backgroundClip:"text",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},[e.breakpoints.down("sm")]:{fontSize:48,letterSpacing:"-0.8px",marginBottom:e.spacing(4)}})),H=r(k)(({theme:e})=>({fontSize:24,fontWeight:500,lineHeight:"32px",marginBottom:e.spacing(8.5),color:"#fff",[e.breakpoints.down("sm")]:{fontSize:20,lineHeight:"30px",fontWeight:400,marginBottom:e.spacing(8)}})),Y=r(p)({display:"flex",flexDirection:"column",alignItems:"center"}),Q=r(p)({display:"flex",alignItems:"center",justifyContent:"center",paddingTop:40,paddingBottom:32,"&:hover svg":{animation:"moveUpDown 1s linear infinite"},"@keyframes moveUpDown":{"0%":{transform:"translateY(0)"},"50%":{transform:"translateY(-10px)"},"100%":{transform:"translateY(0)"}}}),V="/download/creator-hub",q=a.memo(()=>{const e=I("(max-width: 767px)"),n=C(),i=M(o.changingWords),l=E(),c=A(),{isReady:u,primaryOption:m,secondaryOptions:h,handleDownload:g}=T(),x=n&&u;return t.jsxs(t.Fragment,{children:[t.jsxs(B,{children:[t.jsxs(z,{children:[!e&&t.jsx(v,{loop:!0,muted:!0,autoPlay:!0,playsInline:!0,width:o.videoLandscape.width,height:o.videoLandscape.height,poster:o.imageLandscape.url,source:o.videoLandscape.url}),e&&t.jsx(v,{loop:!0,muted:!0,autoPlay:!0,playsInline:!0,width:o.videoPortrait.width,height:o.videoPortrait.height,poster:o.imagePortrait.url,source:o.videoPortrait.url})]}),t.jsxs(G,{children:[t.jsxs(F,{children:[o.titleFirstLine,t.jsx("br",{}),t.jsx("span",{children:i}),t.jsx("br",{}),o.titleLastLine]}),t.jsx(H,{children:o.subtitle}),t.jsx(Y,{children:x&&m?.link?t.jsxs(t.Fragment,{children:[t.jsx(w,{href:m.link,onClick:s=>{s.preventDefault(),l(s),g(m)},event:b.DOWNLOAD,place:f.CREATORS_HERO,endIcon:t.jsx(L,{src:m.image,alt:""}),label:c("page.download.download_creator_hub"),isFullWidth:!1}),h.length>0&&t.jsxs(P,{children:[t.jsx(W,{children:c("page.creator-hub.download.also_available")}),h.map(s=>t.jsx(_,{onClick:y=>{y.preventDefault(),l(y),g(s)},children:t.jsx(S,{src:s.image,alt:s.text})},s.text))]})]}):t.jsx(w,{href:V,onClick:s=>{l(s)},event:b.DOWNLOAD,place:f.CREATORS_HERO,label:c("page.download.download_creator_hub"),isFullWidth:!1})})]})]}),t.jsx(Q,{children:t.jsx(R,{dark:!0})})]})}),U=a.lazy(()=>d(()=>import("./index-CcVwIken.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(e=>({default:e.CreatorsWhy}))),J=a.lazy(()=>d(()=>import("./index-BgUWva8u.js"),__vite__mapDeps([17,1,2,3,4,5,6,7,18,8,9,10,11,12,13,14,15,16])).then(e=>({default:e.CreatorsCreate}))),K=a.lazy(()=>d(()=>import("./index-C8cR2Ojr.js"),__vite__mapDeps([19,1,2,3,4,5,6,7,18,8,9,10,11,12,13,14,15,16])).then(e=>({default:e.CreatorsConnect}))),Z=a.lazy(()=>d(()=>import("./index-CnliSg2U.js"),__vite__mapDeps([20,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])).then(e=>({default:e.CreatorsLearn}))),X=a.lazy(()=>d(()=>import("./index-C1q8L88E.js"),__vite__mapDeps([21,1,2,3,4,5,6,7,16,8,9,10,11,12,13,14,15])).then(e=>({default:e.CreatorsEarn}))),$=a.lazy(()=>d(()=>import("./index--KeAUoz4.js"),__vite__mapDeps([22,1,2,3,4,5,6,7,23,9,10,11,12,13,14,15,16])).then(e=>({default:e.CreatorsFaqs}))),ee=a.memo(()=>t.jsxs(t.Fragment,{children:[t.jsx(q,{}),t.jsxs(a.Suspense,{fallback:null,children:[t.jsx(U,{}),t.jsx(J,{}),t.jsx(K,{}),t.jsx(Z,{}),t.jsx(X,{}),t.jsx($,{})]})]})),me=Object.freeze(Object.defineProperty({__proto__:null,CreatePage:ee},Symbol.toStringTag,{value:"Module"}));export{le as a,ie as c,ue as e,de as f,me as i,ce as l,re as w};
|