@dcl/landing-site 0.5.1-24660338506.commit-fe4c78a → 0.5.1-24667963662.commit-e7db321
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-B09bHNw7.js → AnimatedBackground-DBObVbM7.js} +2 -2
- package/assets/{AnimatedBackground-B09bHNw7.js.map → AnimatedBackground-DBObVbM7.js.map} +1 -1
- package/assets/{AnimatedSection-CwU06_h9.js → AnimatedSection-Dy2CqHWv.js} +1 -1
- package/assets/{AnimatedSection-CwU06_h9.js.map → AnimatedSection-Dy2CqHWv.js.map} +1 -1
- package/assets/{ArrowBackIosNew-bTjSJvq4.js → ArrowBackIosNew-ClpqCBiA.js} +1 -1
- package/assets/{ArrowBackIosNew-bTjSJvq4.js.map → ArrowBackIosNew-ClpqCBiA.js.map} +1 -1
- package/assets/{AuthorPage-8lF83Fgr.js → AuthorPage-pJ7qR6DU.js} +1 -1
- package/assets/{AuthorPage-8lF83Fgr.js.map → AuthorPage-pJ7qR6DU.js.map} +1 -1
- package/assets/{Badges-Cigpqw3R.js → Badges-DLM7WLac.js} +1 -1
- package/assets/{Badges-Cigpqw3R.js.map → Badges-DLM7WLac.js.map} +1 -1
- package/assets/{BlogLayout-DuCmnNGx.js → BlogLayout-DdVPRVwT.js} +1 -1
- package/assets/{BlogLayout-DuCmnNGx.js.map → BlogLayout-DdVPRVwT.js.map} +1 -1
- package/assets/{BlogPage-HUCfIfyc.js → BlogPage-DJ5seXTi.js} +1 -1
- package/assets/{BlogPage-HUCfIfyc.js.map → BlogPage-DJ5seXTi.js.map} +1 -1
- package/assets/{CTAButton-CpLJ-wTt.js → CTAButton-G_F6A2kc.js} +1 -1
- package/assets/{CTAButton-CpLJ-wTt.js.map → CTAButton-G_F6A2kc.js.map} +1 -1
- package/assets/{CardContent-C7IfZDwW.js → CardContent--XD8e3JI.js} +1 -1
- package/assets/{CardContent-C7IfZDwW.js.map → CardContent--XD8e3JI.js.map} +1 -1
- package/assets/{CardMedia-P4wmRtZW.js → CardMedia-DlGw2npC.js} +1 -1
- package/assets/{CardMedia-P4wmRtZW.js.map → CardMedia-DlGw2npC.js.map} +1 -1
- package/assets/{Carousel-Cv_HONCS.js → Carousel-GdhNbXzm.js} +1 -1
- package/assets/{Carousel-Cv_HONCS.js.map → Carousel-GdhNbXzm.js.map} +1 -1
- package/assets/{CategoryPage-BFAkIHLs.js → CategoryPage-DahoLfHy.js} +1 -1
- package/assets/{CategoryPage-BFAkIHLs.js.map → CategoryPage-DahoLfHy.js.map} +1 -1
- package/assets/{CircleAndArrow-P265gsru.js → CircleAndArrow-C6RrImNk.js} +1 -1
- package/assets/{CircleAndArrow-P265gsru.js.map → CircleAndArrow-C6RrImNk.js.map} +1 -1
- package/assets/{CircularProgress-CvK1f9vd.js → CircularProgress-DcmGIHDk.js} +1 -1
- package/assets/{CircularProgress-CvK1f9vd.js.map → CircularProgress-DcmGIHDk.js.map} +1 -1
- package/assets/{ContentCopy-B6SB9OFi.js → ContentCopy-DZXGXqqg.js} +1 -1
- package/assets/{ContentCopy-B6SB9OFi.js.map → ContentCopy-DZXGXqqg.js.map} +1 -1
- package/assets/{CreateEventPage-DlTilAqM.js → CreateEventPage-CLt56AWQ.js} +1 -1
- package/assets/{CreateEventPage-DlTilAqM.js.map → CreateEventPage-CLt56AWQ.js.map} +1 -1
- package/assets/{CreatorHubDownload-BP4xqPas.js → CreatorHubDownload-C7cTzZ_n.js} +1 -1
- package/assets/{CreatorHubDownload-BP4xqPas.js.map → CreatorHubDownload-C7cTzZ_n.js.map} +1 -1
- package/assets/{CreatorHubDownloadSuccess-DM_gttLo.js → CreatorHubDownloadSuccess-DipAyW_h.js} +1 -1
- package/assets/{CreatorHubDownloadSuccess-DM_gttLo.js.map → CreatorHubDownloadSuccess-DipAyW_h.js.map} +1 -1
- package/assets/{DappsShell-rcUj-X7z.js → DappsShell-Bq4UFy3b.js} +1 -1
- package/assets/{DappsShell-rcUj-X7z.js.map → DappsShell-Bq4UFy3b.js.map} +1 -1
- package/assets/{DownloadSuccessLayout-CUBSCk1w.js → DownloadSuccessLayout-Di5Qa-ZM.js} +1 -1
- package/assets/{DownloadSuccessLayout-CUBSCk1w.js.map → DownloadSuccessLayout-Di5Qa-ZM.js.map} +1 -1
- package/assets/{Grow-D2-ZFIND.js → Grow-BmtKtm1i.js} +1 -1
- package/assets/{Grow-D2-ZFIND.js.map → Grow-BmtKtm1i.js.map} +1 -1
- package/assets/{HomePage-CrWmM-6-.js → HomePage-BWbNRRBq.js} +2 -2
- package/assets/{HomePage-CrWmM-6-.js.map → HomePage-BWbNRRBq.js.map} +1 -1
- package/assets/{InviteFaqs-CB90_qjd.js → InviteFaqs-4RRixgP-.js} +1 -1
- package/assets/{InviteFaqs-CB90_qjd.js.map → InviteFaqs-4RRixgP-.js.map} +1 -1
- package/assets/{InvitePage-D4xPN0dT.js → InvitePage-CtNmz2y6.js} +2 -2
- package/assets/{InvitePage-D4xPN0dT.js.map → InvitePage-CtNmz2y6.js.map} +1 -1
- package/assets/{JumpInIcon-FCw9puqx.js → JumpInIcon-DGqWIU4o.js} +1 -1
- package/assets/{JumpInIcon-FCw9puqx.js.map → JumpInIcon-DGqWIU4o.js.map} +1 -1
- package/assets/{LegalPageLayout-D_SgCIWL.js → LegalPageLayout-l-OS4ZYa.js} +1 -1
- package/assets/{LegalPageLayout-D_SgCIWL.js.map → LegalPageLayout-l-OS4ZYa.js.map} +1 -1
- package/assets/{Link-CzdNiZnk.js → Link-B-065zLP.js} +1 -1
- package/assets/{Link-CzdNiZnk.js.map → Link-B-065zLP.js.map} +1 -1
- package/assets/{MenuItem-ChWU5VwW.js → MenuItem-ChXNXZTb.js} +1 -1
- package/assets/{MenuItem-ChWU5VwW.js.map → MenuItem-ChXNXZTb.js.map} +1 -1
- package/assets/{Paper-tOAe73QA.js → Paper-BJ-Nl60w.js} +1 -1
- package/assets/{Paper-tOAe73QA.js.map → Paper-BJ-Nl60w.js.map} +1 -1
- package/assets/{PostCard-Qo62at_b.js → PostCard-DajPpr0c.js} +1 -1
- package/assets/{PostCard-Qo62at_b.js.map → PostCard-DajPpr0c.js.map} +1 -1
- package/assets/{PostPage-B36rJBTl.js → PostPage-DIcWHUae.js} +1 -1
- package/assets/{PostPage-B36rJBTl.js.map → PostPage-DIcWHUae.js.map} +1 -1
- package/assets/{PostPage.styled-DfBJcA0U.js → PostPage.styled-COnewpe7.js} +3 -3
- package/assets/{PostPage.styled-DfBJcA0U.js.map → PostPage.styled-COnewpe7.js.map} +1 -1
- package/assets/{PreviewPage-CEMvbvp3.js → PreviewPage-Cn2WEC12.js} +1 -1
- package/assets/{PreviewPage-CEMvbvp3.js.map → PreviewPage-Cn2WEC12.js.map} +1 -1
- package/assets/{SEO-Dig31tBC.js → SEO-DlSMNiIG.js} +1 -1
- package/assets/{SEO-Dig31tBC.js.map → SEO-DlSMNiIG.js.map} +1 -1
- package/assets/{SearchPage-qlpesgCZ.js → SearchPage-BsXG81Nf.js} +1 -1
- package/assets/{SearchPage-qlpesgCZ.js.map → SearchPage-BsXG81Nf.js.map} +1 -1
- package/assets/{SignInRedirect-BjFPY8Tq.js → SignInRedirect-D3cos3JN.js} +1 -1
- package/assets/{SignInRedirect-BjFPY8Tq.js.map → SignInRedirect-D3cos3JN.js.map} +1 -1
- package/assets/{SignInRedirect-CxfMkmVP.js → SignInRedirect-Q4rx62U6.js} +1 -1
- package/assets/{SignInRedirect-CxfMkmVP.js.map → SignInRedirect-Q4rx62U6.js.map} +1 -1
- package/assets/{Skeleton-Dotyy_e4.js → Skeleton-D8JfGaaX.js} +1 -1
- package/assets/{Skeleton-Dotyy_e4.js.map → Skeleton-D8JfGaaX.js.map} +1 -1
- package/assets/{TwitterEmbed-E_awEL8W.js → TwitterEmbed-DeMZkX3S.js} +1 -1
- package/assets/{TwitterEmbed-E_awEL8W.js.map → TwitterEmbed-DeMZkX3S.js.map} +1 -1
- package/assets/{Video-b02pRqO0.js → Video-CiAQnrOo.js} +1 -1
- package/assets/{Video-b02pRqO0.js.map → Video-CiAQnrOo.js.map} +1 -1
- package/assets/WearablePreview-CFkTJn9i.js +4 -0
- package/assets/{WearablePreview-DJwCjEwc.js.map → WearablePreview-CFkTJn9i.js.map} +1 -1
- package/assets/{auto-track-aZSNrPjS.js → auto-track-_HUtnguT.js} +1 -1
- package/assets/{auto-track-aZSNrPjS.js.map → auto-track-_HUtnguT.js.map} +1 -1
- package/assets/{ccip-BtjlVcCe.js → ccip-DNbAsZz-.js} +1 -1
- package/assets/{ccip-BtjlVcCe.js.map → ccip-DNbAsZz-.js.map} +1 -1
- package/assets/{createSvgIcon-B_ymGsAU.js → createSvgIcon-BLdKozgH.js} +1 -1
- package/assets/{createSvgIcon-B_ymGsAU.js.map → createSvgIcon-BLdKozgH.js.map} +1 -1
- package/assets/{download-BxEzAiam.js → download-oFyIG5OP.js} +2 -2
- package/assets/{download-BxEzAiam.js.map → download-oFyIG5OP.js.map} +1 -1
- package/assets/{downloadWithIdentity-CGSwxl97.js → downloadWithIdentity-BYnQvFTU.js} +1 -1
- package/assets/{downloadWithIdentity-CGSwxl97.js.map → downloadWithIdentity-BYnQvFTU.js.map} +1 -1
- package/assets/{events.client-CK_gKfuh.js → events.client-LWw5jd-t.js} +1 -1
- package/assets/{events.client-CK_gKfuh.js.map → events.client-LWw5jd-t.js.map} +1 -1
- package/assets/{index-xJSHjmJA.js → index-58xN71Vu.js} +1 -1
- package/assets/{index-xJSHjmJA.js.map → index-58xN71Vu.js.map} +1 -1
- package/assets/{index-D-i0tvp5.js → index-8P9wWk_Z.js} +1 -1
- package/assets/{index-D-i0tvp5.js.map → index-8P9wWk_Z.js.map} +1 -1
- package/assets/{index-DyGt_txI.js → index-B5OoPTnM.js} +1 -1
- package/assets/{index-DyGt_txI.js.map → index-B5OoPTnM.js.map} +1 -1
- package/assets/{index-BjPDLCKE.js → index-B7Bs_7eg.js} +1 -1
- package/assets/{index-BjPDLCKE.js.map → index-B7Bs_7eg.js.map} +1 -1
- package/assets/{index-PhDhTcl9.js → index-B9J5C5eN.js} +1 -1
- package/assets/{index-PhDhTcl9.js.map → index-B9J5C5eN.js.map} +1 -1
- package/assets/{index-Bp24EZfi.js → index-BCgaMgYt.js} +1 -1
- package/assets/{index-Bp24EZfi.js.map → index-BCgaMgYt.js.map} +1 -1
- package/assets/{index-BFTxG62_.js → index-BLczpcuT.js} +1 -1
- package/assets/{index-BFTxG62_.js.map → index-BLczpcuT.js.map} +1 -1
- package/assets/{index-fIan8i28.js → index-BQ4lI5xX.js} +4 -4
- package/assets/index-BQ4lI5xX.js.map +1 -0
- package/assets/{index-DZwy9PdC.js → index-BeEdEvw9.js} +1 -1
- package/assets/{index-DZwy9PdC.js.map → index-BeEdEvw9.js.map} +1 -1
- package/assets/{index-2ZmUxcZJ.js → index-BqLCay_i.js} +1 -1
- package/assets/{index-2ZmUxcZJ.js.map → index-BqLCay_i.js.map} +1 -1
- package/assets/{index-tlvotVow.js → index-BqTu8LQP.js} +1 -1
- package/assets/{index-tlvotVow.js.map → index-BqTu8LQP.js.map} +1 -1
- package/assets/{index-BSWwjpwJ.js → index-BrJrrR0-.js} +1 -1
- package/assets/{index-BSWwjpwJ.js.map → index-BrJrrR0-.js.map} +1 -1
- package/assets/{index-BVHg-kY4.js → index-Bs8_TMuc.js} +1 -1
- package/assets/{index-BVHg-kY4.js.map → index-Bs8_TMuc.js.map} +1 -1
- package/assets/{index-CDvFmrwP.js → index-C1oFIVjZ.js} +1 -1
- package/assets/{index-CDvFmrwP.js.map → index-C1oFIVjZ.js.map} +1 -1
- package/assets/{index-BvWsmjfu.js → index-C5I7_h2M.js} +1 -1
- package/assets/{index-BvWsmjfu.js.map → index-C5I7_h2M.js.map} +1 -1
- package/assets/{index-DyWVq2sB.js → index-C6h0Y6Bf.js} +1 -1
- package/assets/{index-DyWVq2sB.js.map → index-C6h0Y6Bf.js.map} +1 -1
- package/assets/{index-C0kfvOjD.js → index-C8kkckun.js} +1 -1
- package/assets/{index-C0kfvOjD.js.map → index-C8kkckun.js.map} +1 -1
- package/assets/{index-B7-BSqCh.js → index-CM5Uohwh.js} +1 -1
- package/assets/{index-B7-BSqCh.js.map → index-CM5Uohwh.js.map} +1 -1
- package/assets/{index-CoxW051P.js → index-CREsCA81.js} +1 -1
- package/assets/{index-CoxW051P.js.map → index-CREsCA81.js.map} +1 -1
- package/assets/{index-CX18mW27.js → index-CXRPJhvA.js} +1 -1
- package/assets/{index-CX18mW27.js.map → index-CXRPJhvA.js.map} +1 -1
- package/assets/{index-oeaYnW8L.js → index-Ct6j5i60.js} +1 -1
- package/assets/{index-oeaYnW8L.js.map → index-Ct6j5i60.js.map} +1 -1
- package/assets/{index-D9F_wtmV.js → index-Czi9R2pR.js} +2 -2
- package/assets/{index-D9F_wtmV.js.map → index-Czi9R2pR.js.map} +1 -1
- package/assets/{index-CTiJjzki.js → index-DVTinPKV.js} +1 -1
- package/assets/{index-CTiJjzki.js.map → index-DVTinPKV.js.map} +1 -1
- package/assets/{index-BAxNEz4J.js → index-DbaTk9pY.js} +1 -1
- package/assets/{index-BAxNEz4J.js.map → index-DbaTk9pY.js.map} +1 -1
- package/assets/{index-3kCGTR4G.js → index-DfT-Sjnk.js} +1 -1
- package/assets/{index-3kCGTR4G.js.map → index-DfT-Sjnk.js.map} +1 -1
- package/assets/{index-Z7czU3qI.js → index-Dpp1tkiC.js} +1 -1
- package/assets/{index-Z7czU3qI.js.map → index-Dpp1tkiC.js.map} +1 -1
- package/assets/{index-DO3UI7YQ.js → index-HZ_h_54S.js} +3 -3
- package/assets/{index-DO3UI7YQ.js.map → index-HZ_h_54S.js.map} +1 -1
- package/assets/{index-DIl3VdDV.js → index-TaLrFo1W.js} +4 -4
- package/assets/{index-DIl3VdDV.js.map → index-TaLrFo1W.js.map} +1 -1
- package/assets/{index-pGj7jnSh.js → index-ZDIYW364.js} +1 -1
- package/assets/{index-pGj7jnSh.js.map → index-ZDIYW364.js.map} +1 -1
- package/assets/{index-C1sJrjMX.js → index-g0lykA2w.js} +1 -1
- package/assets/{index-C1sJrjMX.js.map → index-g0lykA2w.js.map} +1 -1
- package/assets/{index-8ElJnkzp.js → index-lCIXH0YF.js} +1 -1
- package/assets/{index-8ElJnkzp.js.map → index-lCIXH0YF.js.map} +1 -1
- package/assets/{index-BJFQEErs.js → index-u4hJejM4.js} +1 -1
- package/assets/{index-BJFQEErs.js.map → index-u4hJejM4.js.map} +1 -1
- package/assets/{profile.client-CKkfJVZT.js → profile.client-Dv7yHizc.js} +1 -1
- package/assets/{profile.client-CKkfJVZT.js.map → profile.client-Dv7yHizc.js.map} +1 -1
- package/assets/{shared.styled-C7QyyZm1.js → shared.styled-DZDSiscg.js} +1 -1
- package/assets/{shared.styled-C7QyyZm1.js.map → shared.styled-DZDSiscg.js.map} +1 -1
- package/assets/{store-2xYeQtZY.js → store-DytzPwIW.js} +1 -1
- package/assets/{store-2xYeQtZY.js.map → store-DytzPwIW.js.map} +1 -1
- package/assets/{url-C-4-YWqJ.js → url-CwO7t7Da.js} +1 -1
- package/assets/{url-C-4-YWqJ.js.map → url-CwO7t7Da.js.map} +1 -1
- package/assets/{useAuthIdentity-Dh9_4Afk.js → useAuthIdentity-BJka2D_h.js} +1 -1
- package/assets/{useAuthIdentity-Dh9_4Afk.js.map → useAuthIdentity-BJka2D_h.js.map} +1 -1
- package/assets/{useCreatorHubDownload-ipBatbNE.js → useCreatorHubDownload-htSWq2gm.js} +1 -1
- package/assets/{useCreatorHubDownload-ipBatbNE.js.map → useCreatorHubDownload-htSWq2gm.js.map} +1 -1
- package/assets/{useInfiniteBlogPosts-FATRZ2lM.js → useInfiniteBlogPosts-b1i6T88U.js} +1 -1
- package/assets/{useInfiniteBlogPosts-FATRZ2lM.js.map → useInfiniteBlogPosts-b1i6T88U.js.map} +1 -1
- package/assets/{useSlot-C8ic9-Tl.js → useSlot-DcCKMoK9.js} +1 -1
- package/assets/{useSlot-C8ic9-Tl.js.map → useSlot-DcCKMoK9.js.map} +1 -1
- package/assets/{utils-IcqtAe_N.js → utils-DyplVMyL.js} +1 -1
- package/assets/{utils-IcqtAe_N.js.map → utils-DyplVMyL.js.map} +1 -1
- package/index.html +15 -15
- package/package.json +3 -3
- package/assets/WearablePreview-DJwCjEwc.js +0 -4
- package/assets/index-fIan8i28.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-BJFQEErs.js","sources":["../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/loader.js","../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/utils.js","../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/index.js"],"sourcesContent":["import { __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { getNextIntegrationsURL } from '../../lib/parse-cdn';\nimport { loadScript, unloadScript } from '../../lib/load-script';\nfunction normalizeName(name) {\n return name.toLowerCase().replace('.', '').replace(/\\s+/g, '-');\n}\nfunction obfuscatePathName(pathName, obfuscate) {\n if (obfuscate === void 0) { obfuscate = false; }\n return obfuscate ? btoa(pathName).replace(/=/g, '') : undefined;\n}\nexport function resolveIntegrationNameFromSource(integrationSource) {\n return ('Integration' in integrationSource\n ? integrationSource.Integration\n : integrationSource).prototype.name;\n}\nfunction recordLoadMetrics(fullPath, ctx, name) {\n var _a, _b;\n try {\n var metric = ((_b = (_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.getEntriesByName(fullPath, 'resource')) !== null && _b !== void 0 ? _b : [])[0];\n // we assume everything that took under 100ms is cached\n metric &&\n ctx.stats.gauge('legacy_destination_time', Math.round(metric.duration), __spreadArray([\n name\n ], (metric.duration < 100 ? ['cached'] : []), true));\n }\n catch (_) {\n // not available\n }\n}\nexport function buildIntegration(integrationSource, integrationSettings, analyticsInstance) {\n var integrationCtr;\n // GA and Appcues use a different interface to instantiating integrations\n if ('Integration' in integrationSource) {\n var analyticsStub = {\n user: function () { return analyticsInstance.user(); },\n addIntegration: function () { },\n };\n integrationSource(analyticsStub);\n integrationCtr = integrationSource.Integration;\n }\n else {\n integrationCtr = integrationSource;\n }\n var integration = new integrationCtr(integrationSettings);\n integration.analytics = analyticsInstance;\n return integration;\n}\nexport function loadIntegration(ctx, name, version, obfuscate) {\n return __awaiter(this, void 0, void 0, function () {\n var pathName, obfuscatedPathName, path, fullPath, err_1, deps;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n pathName = normalizeName(name);\n obfuscatedPathName = obfuscatePathName(pathName, obfuscate);\n path = getNextIntegrationsURL();\n fullPath = \"\".concat(path, \"/integrations/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \"/\").concat(version, \"/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \".dynamic.js.gz\");\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, loadScript(fullPath)];\n case 2:\n _a.sent();\n recordLoadMetrics(fullPath, ctx, name);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n ctx.stats.gauge('legacy_destination_time', -1, [\"plugin:\".concat(name), \"failed\"]);\n throw err_1;\n case 4:\n deps = window[\"\".concat(pathName, \"Deps\")];\n return [4 /*yield*/, Promise.all(deps.map(function (dep) { return loadScript(path + dep + '.gz'); }))\n // @ts-ignore\n ];\n case 5:\n _a.sent();\n // @ts-ignore\n window[\"\".concat(pathName, \"Loader\")]();\n return [2 /*return*/, window[\n // @ts-ignore\n \"\".concat(pathName, \"Integration\")]];\n }\n });\n });\n}\nexport function unloadIntegration(name, version, obfuscate) {\n return __awaiter(this, void 0, void 0, function () {\n var path, pathName, obfuscatedPathName, fullPath;\n return __generator(this, function (_a) {\n path = getNextIntegrationsURL();\n pathName = normalizeName(name);\n obfuscatedPathName = obfuscatePathName(name, obfuscate);\n fullPath = \"\".concat(path, \"/integrations/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \"/\").concat(version, \"/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \".dynamic.js.gz\");\n return [2 /*return*/, unloadScript(fullPath)];\n });\n });\n}\nexport function resolveVersion(integrationConfig) {\n var _a, _b, _c, _d;\n return ((_d = (_b = (_a = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.versionSettings) === null || _a === void 0 ? void 0 : _a.override) !== null && _b !== void 0 ? _b : (_c = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.versionSettings) === null || _c === void 0 ? void 0 : _c.version) !== null && _d !== void 0 ? _d : 'latest');\n}\n//# sourceMappingURL=loader.js.map","export var isInstallableIntegration = function (name, integrationSettings) {\n var _a;\n var type = integrationSettings.type, bundlingStatus = integrationSettings.bundlingStatus, versionSettings = integrationSettings.versionSettings;\n // We use `!== 'unbundled'` (versus `=== 'bundled'`) to be inclusive of\n // destinations without a defined value for `bundlingStatus`\n var deviceMode = bundlingStatus !== 'unbundled' &&\n (type === 'browser' || ((_a = versionSettings === null || versionSettings === void 0 ? void 0 : versionSettings.componentTypes) === null || _a === void 0 ? void 0 : _a.includes('browser')));\n // checking for iterable is a quick fix we need in place to prevent\n // errors showing Iterable as a failed destiantion. Ideally, we should\n // fix the Iterable metadata instead, but that's a longer process.\n return !name.startsWith('Segment') && name !== 'Iterable' && deviceMode;\n};\nexport var isDisabledIntegration = function (integrationName, integrations) {\n var allDisableAndNotDefined = integrations.All === false && integrations[integrationName] === undefined;\n return integrations[integrationName] === false || allDisableAndNotDefined;\n};\n//# sourceMappingURL=utils.js.map","import { __assign, __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { Alias, Group, Identify, Page, Track } from '@segment/facade';\nimport { isOffline, isOnline } from '../../core/connection';\nimport { Context, ContextCancelation } from '../../core/context';\nimport { isServer } from '../../core/environment';\nimport { attempt } from '@segment/analytics-core';\nimport { isPlanEventEnabled } from '../../lib/is-plan-event-enabled';\nimport { mergedOptions } from '../../lib/merged-options';\nimport { pWhile } from '../../lib/p-while';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { applyDestinationMiddleware, } from '../middleware';\nimport { buildIntegration, loadIntegration, resolveIntegrationNameFromSource, resolveVersion, unloadIntegration, } from './loader';\nimport { isPlainObject } from '@segment/analytics-core';\nimport { isDisabledIntegration as shouldSkipIntegration, isInstallableIntegration, } from './utils';\nimport { recordIntegrationMetric } from '../../core/stats/metric-helpers';\nimport { createDeferred } from '@segment/analytics-generic-utils';\nfunction flushQueue(xt, queue) {\n return __awaiter(this, void 0, void 0, function () {\n var failedQueue;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n failedQueue = [];\n if (isOffline()) {\n return [2 /*return*/, queue];\n }\n return [4 /*yield*/, pWhile(function () { return queue.length > 0 && isOnline(); }, function () { return __awaiter(_this, void 0, void 0, function () {\n var ctx, result, success;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = queue.pop();\n if (!ctx) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, attempt(ctx, xt)];\n case 1:\n result = _a.sent();\n success = result instanceof Context;\n if (!success) {\n failedQueue.push(ctx);\n }\n return [2 /*return*/];\n }\n });\n }); })\n // re-add failed tasks\n ];\n case 1:\n _a.sent();\n // re-add failed tasks\n failedQueue.map(function (failed) { return queue.pushWithBackoff(failed); });\n return [2 /*return*/, queue];\n }\n });\n });\n}\nvar LegacyDestination = /** @class */ (function () {\n function LegacyDestination(name, version, writeKey, settings, options, integrationSource) {\n if (settings === void 0) { settings = {}; }\n var _this = this;\n this.options = {};\n this.type = 'destination';\n this.middleware = [];\n this.initializePromise = createDeferred();\n this.flushing = false;\n this.name = name;\n this.version = version;\n this.settings = __assign({}, settings);\n this.disableAutoISOConversion = options.disableAutoISOConversion || false;\n this.integrationSource = integrationSource;\n // AJS-Renderer sets an extraneous `type` setting that clobbers\n // existing type defaults. We need to remove it if it's present\n if (this.settings['type'] && this.settings['type'] === 'browser') {\n delete this.settings['type'];\n }\n this.initializePromise.promise.then(function (isInitialized) { return (_this._initialized = isInitialized); }, function () { });\n this.options = options;\n this.buffer = options.disableClientPersistence\n ? new PriorityQueue(4, [])\n : new PersistedPriorityQueue(4, \"\".concat(writeKey, \":dest-\").concat(name));\n this.scheduleFlush();\n }\n LegacyDestination.prototype.isLoaded = function () {\n return !!this._ready;\n };\n LegacyDestination.prototype.ready = function () {\n var _this = this;\n return this.initializePromise.promise.then(function () { var _a; return (_a = _this.onReady) !== null && _a !== void 0 ? _a : Promise.resolve(); });\n };\n LegacyDestination.prototype.load = function (ctx, analyticsInstance) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var integrationSource, _b, error_1;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (this._ready || this.onReady !== undefined) {\n return [2 /*return*/];\n }\n _c.label = 1;\n case 1:\n _c.trys.push([1, 5, , 6]);\n if (!((_a = this.integrationSource) !== null && _a !== void 0)) return [3 /*break*/, 2];\n _b = _a;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, loadIntegration(ctx, this.name, this.version, this.options.obfuscate)];\n case 3:\n _b = (_c.sent());\n _c.label = 4;\n case 4:\n integrationSource = _b;\n this.integration = buildIntegration(integrationSource, this.settings, analyticsInstance);\n return [3 /*break*/, 6];\n case 5:\n error_1 = _c.sent();\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'load',\n type: 'classic',\n didError: true,\n });\n throw error_1;\n case 6:\n this.onReady = new Promise(function (resolve) {\n var onReadyFn = function () {\n _this._ready = true;\n resolve(true);\n };\n _this.integration.once('ready', onReadyFn);\n });\n this.integration.on('initialize', function () {\n _this.initializePromise.resolve(true);\n });\n try {\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'initialize',\n type: 'classic',\n });\n this.integration.initialize();\n }\n catch (error) {\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'initialize',\n type: 'classic',\n didError: true,\n });\n this.initializePromise.resolve(false);\n throw error;\n }\n return [2 /*return*/];\n }\n });\n });\n };\n LegacyDestination.prototype.unload = function (_ctx, _analyticsInstance) {\n return unloadIntegration(this.name, this.version, this.options.obfuscate);\n };\n LegacyDestination.prototype.addMiddleware = function () {\n var _a;\n var fn = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fn[_i] = arguments[_i];\n }\n this.middleware = (_a = this.middleware).concat.apply(_a, fn);\n };\n LegacyDestination.prototype.shouldBuffer = function (ctx) {\n return (\n // page events can't be buffered because of destinations that automatically add page views\n ctx.event.type !== 'page' &&\n (isOffline() || this._ready !== true || this._initialized !== true));\n };\n LegacyDestination.prototype.send = function (ctx, clz, eventType) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var plan, ev, planEvent, afterMiddleware, event, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (this.shouldBuffer(ctx)) {\n this.buffer.push(ctx);\n this.scheduleFlush();\n return [2 /*return*/, ctx];\n }\n plan = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.plan) === null || _b === void 0 ? void 0 : _b.track;\n ev = ctx.event.event;\n if (plan && ev && this.name !== 'Segment.io') {\n planEvent = plan[ev];\n if (!isPlanEventEnabled(plan, planEvent)) {\n ctx.updateEvent('integrations', __assign(__assign({}, ctx.event.integrations), { All: false, 'Segment.io': true }));\n ctx.cancel(new ContextCancelation({\n retry: false,\n reason: \"Event \".concat(ev, \" disabled for integration \").concat(this.name, \" in tracking plan\"),\n type: 'Dropped by plan',\n }));\n }\n else {\n ctx.updateEvent('integrations', __assign(__assign({}, ctx.event.integrations), planEvent === null || planEvent === void 0 ? void 0 : planEvent.integrations));\n }\n if ((planEvent === null || planEvent === void 0 ? void 0 : planEvent.enabled) && (planEvent === null || planEvent === void 0 ? void 0 : planEvent.integrations[this.name]) === false) {\n ctx.cancel(new ContextCancelation({\n retry: false,\n reason: \"Event \".concat(ev, \" disabled for integration \").concat(this.name, \" in tracking plan\"),\n type: 'Dropped by plan',\n }));\n }\n }\n return [4 /*yield*/, applyDestinationMiddleware(this.name, ctx.event, this.middleware)];\n case 1:\n afterMiddleware = _c.sent();\n if (afterMiddleware === null) {\n return [2 /*return*/, ctx];\n }\n event = new clz(afterMiddleware, {\n traverse: !this.disableAutoISOConversion,\n });\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: eventType,\n type: 'classic',\n });\n _c.label = 2;\n case 2:\n _c.trys.push([2, 5, , 6]);\n if (!this.integration) return [3 /*break*/, 4];\n return [4 /*yield*/, this.integration.invoke.call(this.integration, eventType, event)];\n case 3:\n _c.sent();\n _c.label = 4;\n case 4: return [3 /*break*/, 6];\n case 5:\n err_1 = _c.sent();\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: eventType,\n type: 'classic',\n didError: true,\n });\n throw err_1;\n case 6: return [2 /*return*/, ctx];\n }\n });\n });\n };\n LegacyDestination.prototype.track = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Track, 'track')];\n });\n });\n };\n LegacyDestination.prototype.page = function (ctx) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (((_a = this.integration) === null || _a === void 0 ? void 0 : _a._assumesPageview) && !this._initialized) {\n this.integration.initialize();\n }\n return [4 /*yield*/, this.initializePromise.promise];\n case 1:\n _b.sent();\n return [2 /*return*/, this.send(ctx, Page, 'page')];\n }\n });\n });\n };\n LegacyDestination.prototype.identify = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Identify, 'identify')];\n });\n });\n };\n LegacyDestination.prototype.alias = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Alias, 'alias')];\n });\n });\n };\n LegacyDestination.prototype.group = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Group, 'group')];\n });\n });\n };\n LegacyDestination.prototype.scheduleFlush = function () {\n var _this = this;\n if (this.flushing) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (isOffline() || this._ready !== true || this._initialized !== true) {\n this.scheduleFlush();\n return [2 /*return*/];\n }\n this.flushing = true;\n _a = this;\n return [4 /*yield*/, flushQueue(this, this.buffer)];\n case 1:\n _a.buffer = _b.sent();\n this.flushing = false;\n if (this.buffer.todo > 0) {\n this.scheduleFlush();\n }\n return [2 /*return*/];\n }\n });\n }); }, Math.random() * 5000);\n };\n return LegacyDestination;\n}());\nexport { LegacyDestination };\nexport function ajsDestinations(writeKey, settings, integrations, options, routingMiddleware, legacyIntegrationSources) {\n var _a, _b;\n if (integrations === void 0) { integrations = {}; }\n if (options === void 0) { options = {}; }\n if (isServer()) {\n return [];\n }\n if (settings.plan) {\n options = options !== null && options !== void 0 ? options : {};\n options.plan = settings.plan;\n }\n var routingRules = (_b = (_a = settings.middlewareSettings) === null || _a === void 0 ? void 0 : _a.routingRules) !== null && _b !== void 0 ? _b : [];\n var remoteIntegrationsConfig = settings.integrations;\n var localIntegrationsConfig = options.integrations;\n // merged remote CDN settings with user provided options\n var integrationOptions = mergedOptions(settings, options !== null && options !== void 0 ? options : {});\n var adhocIntegrationSources = legacyIntegrationSources === null || legacyIntegrationSources === void 0 ? void 0 : legacyIntegrationSources.reduce(function (acc, integrationSource) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[resolveIntegrationNameFromSource(integrationSource)] = integrationSource, _a)));\n }, {});\n var installableIntegrations = new Set(__spreadArray(__spreadArray([], Object.keys(remoteIntegrationsConfig).filter(function (name) {\n return isInstallableIntegration(name, remoteIntegrationsConfig[name]);\n }), true), Object.keys(adhocIntegrationSources || {}).filter(function (name) {\n return isPlainObject(remoteIntegrationsConfig[name]) ||\n isPlainObject(localIntegrationsConfig === null || localIntegrationsConfig === void 0 ? void 0 : localIntegrationsConfig[name]);\n }), true));\n return Array.from(installableIntegrations)\n .filter(function (name) { return !shouldSkipIntegration(name, integrations); })\n .map(function (name) {\n var integrationSettings = remoteIntegrationsConfig[name];\n var version = resolveVersion(integrationSettings);\n var destination = new LegacyDestination(name, version, writeKey, integrationOptions[name], options, adhocIntegrationSources === null || adhocIntegrationSources === void 0 ? void 0 : adhocIntegrationSources[name]);\n var routing = routingRules.filter(function (rule) { return rule.destinationName === name; });\n if (routing.length > 0 && routingMiddleware) {\n destination.addMiddleware(routingMiddleware);\n }\n return destination;\n });\n}\n//# sourceMappingURL=index.js.map"],"names":["normalizeName","name","obfuscatePathName","pathName","obfuscate","resolveIntegrationNameFromSource","integrationSource","recordLoadMetrics","fullPath","ctx","_a","_b","metric","__spreadArray","buildIntegration","integrationSettings","analyticsInstance","integrationCtr","analyticsStub","integration","loadIntegration","version","__awaiter","obfuscatedPathName","path","err_1","deps","__generator","getNextIntegrationsURL","loadScript","dep","unloadIntegration","unloadScript","resolveVersion","integrationConfig","_c","_d","isInstallableIntegration","type","bundlingStatus","versionSettings","deviceMode","isDisabledIntegration","integrationName","integrations","allDisableAndNotDefined","flushQueue","xt","queue","failedQueue","_this","isOffline","pWhile","isOnline","result","success","attempt","Context","failed","LegacyDestination","writeKey","settings","options","createDeferred","__assign","isInitialized","PriorityQueue","PersistedPriorityQueue","error_1","recordIntegrationMetric","resolve","onReadyFn","error","_ctx","_analyticsInstance","fn","_i","clz","eventType","plan","ev","planEvent","afterMiddleware","event","isPlanEventEnabled","ContextCancelation","applyDestinationMiddleware","Track","Page","Identify","Alias","Group","ajsDestinations","routingMiddleware","legacyIntegrationSources","isServer","routingRules","remoteIntegrationsConfig","localIntegrationsConfig","integrationOptions","mergedOptions","adhocIntegrationSources","acc","installableIntegrations","isPlainObject","shouldSkipIntegration","destination","routing","rule"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index-u4hJejM4.js","sources":["../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/loader.js","../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/utils.js","../../node_modules/@segment/analytics-next/dist/pkg/plugins/ajs-destination/index.js"],"sourcesContent":["import { __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { getNextIntegrationsURL } from '../../lib/parse-cdn';\nimport { loadScript, unloadScript } from '../../lib/load-script';\nfunction normalizeName(name) {\n return name.toLowerCase().replace('.', '').replace(/\\s+/g, '-');\n}\nfunction obfuscatePathName(pathName, obfuscate) {\n if (obfuscate === void 0) { obfuscate = false; }\n return obfuscate ? btoa(pathName).replace(/=/g, '') : undefined;\n}\nexport function resolveIntegrationNameFromSource(integrationSource) {\n return ('Integration' in integrationSource\n ? integrationSource.Integration\n : integrationSource).prototype.name;\n}\nfunction recordLoadMetrics(fullPath, ctx, name) {\n var _a, _b;\n try {\n var metric = ((_b = (_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.getEntriesByName(fullPath, 'resource')) !== null && _b !== void 0 ? _b : [])[0];\n // we assume everything that took under 100ms is cached\n metric &&\n ctx.stats.gauge('legacy_destination_time', Math.round(metric.duration), __spreadArray([\n name\n ], (metric.duration < 100 ? ['cached'] : []), true));\n }\n catch (_) {\n // not available\n }\n}\nexport function buildIntegration(integrationSource, integrationSettings, analyticsInstance) {\n var integrationCtr;\n // GA and Appcues use a different interface to instantiating integrations\n if ('Integration' in integrationSource) {\n var analyticsStub = {\n user: function () { return analyticsInstance.user(); },\n addIntegration: function () { },\n };\n integrationSource(analyticsStub);\n integrationCtr = integrationSource.Integration;\n }\n else {\n integrationCtr = integrationSource;\n }\n var integration = new integrationCtr(integrationSettings);\n integration.analytics = analyticsInstance;\n return integration;\n}\nexport function loadIntegration(ctx, name, version, obfuscate) {\n return __awaiter(this, void 0, void 0, function () {\n var pathName, obfuscatedPathName, path, fullPath, err_1, deps;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n pathName = normalizeName(name);\n obfuscatedPathName = obfuscatePathName(pathName, obfuscate);\n path = getNextIntegrationsURL();\n fullPath = \"\".concat(path, \"/integrations/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \"/\").concat(version, \"/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \".dynamic.js.gz\");\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, loadScript(fullPath)];\n case 2:\n _a.sent();\n recordLoadMetrics(fullPath, ctx, name);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n ctx.stats.gauge('legacy_destination_time', -1, [\"plugin:\".concat(name), \"failed\"]);\n throw err_1;\n case 4:\n deps = window[\"\".concat(pathName, \"Deps\")];\n return [4 /*yield*/, Promise.all(deps.map(function (dep) { return loadScript(path + dep + '.gz'); }))\n // @ts-ignore\n ];\n case 5:\n _a.sent();\n // @ts-ignore\n window[\"\".concat(pathName, \"Loader\")]();\n return [2 /*return*/, window[\n // @ts-ignore\n \"\".concat(pathName, \"Integration\")]];\n }\n });\n });\n}\nexport function unloadIntegration(name, version, obfuscate) {\n return __awaiter(this, void 0, void 0, function () {\n var path, pathName, obfuscatedPathName, fullPath;\n return __generator(this, function (_a) {\n path = getNextIntegrationsURL();\n pathName = normalizeName(name);\n obfuscatedPathName = obfuscatePathName(name, obfuscate);\n fullPath = \"\".concat(path, \"/integrations/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \"/\").concat(version, \"/\").concat(obfuscatedPathName !== null && obfuscatedPathName !== void 0 ? obfuscatedPathName : pathName, \".dynamic.js.gz\");\n return [2 /*return*/, unloadScript(fullPath)];\n });\n });\n}\nexport function resolveVersion(integrationConfig) {\n var _a, _b, _c, _d;\n return ((_d = (_b = (_a = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.versionSettings) === null || _a === void 0 ? void 0 : _a.override) !== null && _b !== void 0 ? _b : (_c = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.versionSettings) === null || _c === void 0 ? void 0 : _c.version) !== null && _d !== void 0 ? _d : 'latest');\n}\n//# sourceMappingURL=loader.js.map","export var isInstallableIntegration = function (name, integrationSettings) {\n var _a;\n var type = integrationSettings.type, bundlingStatus = integrationSettings.bundlingStatus, versionSettings = integrationSettings.versionSettings;\n // We use `!== 'unbundled'` (versus `=== 'bundled'`) to be inclusive of\n // destinations without a defined value for `bundlingStatus`\n var deviceMode = bundlingStatus !== 'unbundled' &&\n (type === 'browser' || ((_a = versionSettings === null || versionSettings === void 0 ? void 0 : versionSettings.componentTypes) === null || _a === void 0 ? void 0 : _a.includes('browser')));\n // checking for iterable is a quick fix we need in place to prevent\n // errors showing Iterable as a failed destiantion. Ideally, we should\n // fix the Iterable metadata instead, but that's a longer process.\n return !name.startsWith('Segment') && name !== 'Iterable' && deviceMode;\n};\nexport var isDisabledIntegration = function (integrationName, integrations) {\n var allDisableAndNotDefined = integrations.All === false && integrations[integrationName] === undefined;\n return integrations[integrationName] === false || allDisableAndNotDefined;\n};\n//# sourceMappingURL=utils.js.map","import { __assign, __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { Alias, Group, Identify, Page, Track } from '@segment/facade';\nimport { isOffline, isOnline } from '../../core/connection';\nimport { Context, ContextCancelation } from '../../core/context';\nimport { isServer } from '../../core/environment';\nimport { attempt } from '@segment/analytics-core';\nimport { isPlanEventEnabled } from '../../lib/is-plan-event-enabled';\nimport { mergedOptions } from '../../lib/merged-options';\nimport { pWhile } from '../../lib/p-while';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { applyDestinationMiddleware, } from '../middleware';\nimport { buildIntegration, loadIntegration, resolveIntegrationNameFromSource, resolveVersion, unloadIntegration, } from './loader';\nimport { isPlainObject } from '@segment/analytics-core';\nimport { isDisabledIntegration as shouldSkipIntegration, isInstallableIntegration, } from './utils';\nimport { recordIntegrationMetric } from '../../core/stats/metric-helpers';\nimport { createDeferred } from '@segment/analytics-generic-utils';\nfunction flushQueue(xt, queue) {\n return __awaiter(this, void 0, void 0, function () {\n var failedQueue;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n failedQueue = [];\n if (isOffline()) {\n return [2 /*return*/, queue];\n }\n return [4 /*yield*/, pWhile(function () { return queue.length > 0 && isOnline(); }, function () { return __awaiter(_this, void 0, void 0, function () {\n var ctx, result, success;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = queue.pop();\n if (!ctx) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, attempt(ctx, xt)];\n case 1:\n result = _a.sent();\n success = result instanceof Context;\n if (!success) {\n failedQueue.push(ctx);\n }\n return [2 /*return*/];\n }\n });\n }); })\n // re-add failed tasks\n ];\n case 1:\n _a.sent();\n // re-add failed tasks\n failedQueue.map(function (failed) { return queue.pushWithBackoff(failed); });\n return [2 /*return*/, queue];\n }\n });\n });\n}\nvar LegacyDestination = /** @class */ (function () {\n function LegacyDestination(name, version, writeKey, settings, options, integrationSource) {\n if (settings === void 0) { settings = {}; }\n var _this = this;\n this.options = {};\n this.type = 'destination';\n this.middleware = [];\n this.initializePromise = createDeferred();\n this.flushing = false;\n this.name = name;\n this.version = version;\n this.settings = __assign({}, settings);\n this.disableAutoISOConversion = options.disableAutoISOConversion || false;\n this.integrationSource = integrationSource;\n // AJS-Renderer sets an extraneous `type` setting that clobbers\n // existing type defaults. We need to remove it if it's present\n if (this.settings['type'] && this.settings['type'] === 'browser') {\n delete this.settings['type'];\n }\n this.initializePromise.promise.then(function (isInitialized) { return (_this._initialized = isInitialized); }, function () { });\n this.options = options;\n this.buffer = options.disableClientPersistence\n ? new PriorityQueue(4, [])\n : new PersistedPriorityQueue(4, \"\".concat(writeKey, \":dest-\").concat(name));\n this.scheduleFlush();\n }\n LegacyDestination.prototype.isLoaded = function () {\n return !!this._ready;\n };\n LegacyDestination.prototype.ready = function () {\n var _this = this;\n return this.initializePromise.promise.then(function () { var _a; return (_a = _this.onReady) !== null && _a !== void 0 ? _a : Promise.resolve(); });\n };\n LegacyDestination.prototype.load = function (ctx, analyticsInstance) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var integrationSource, _b, error_1;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (this._ready || this.onReady !== undefined) {\n return [2 /*return*/];\n }\n _c.label = 1;\n case 1:\n _c.trys.push([1, 5, , 6]);\n if (!((_a = this.integrationSource) !== null && _a !== void 0)) return [3 /*break*/, 2];\n _b = _a;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, loadIntegration(ctx, this.name, this.version, this.options.obfuscate)];\n case 3:\n _b = (_c.sent());\n _c.label = 4;\n case 4:\n integrationSource = _b;\n this.integration = buildIntegration(integrationSource, this.settings, analyticsInstance);\n return [3 /*break*/, 6];\n case 5:\n error_1 = _c.sent();\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'load',\n type: 'classic',\n didError: true,\n });\n throw error_1;\n case 6:\n this.onReady = new Promise(function (resolve) {\n var onReadyFn = function () {\n _this._ready = true;\n resolve(true);\n };\n _this.integration.once('ready', onReadyFn);\n });\n this.integration.on('initialize', function () {\n _this.initializePromise.resolve(true);\n });\n try {\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'initialize',\n type: 'classic',\n });\n this.integration.initialize();\n }\n catch (error) {\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: 'initialize',\n type: 'classic',\n didError: true,\n });\n this.initializePromise.resolve(false);\n throw error;\n }\n return [2 /*return*/];\n }\n });\n });\n };\n LegacyDestination.prototype.unload = function (_ctx, _analyticsInstance) {\n return unloadIntegration(this.name, this.version, this.options.obfuscate);\n };\n LegacyDestination.prototype.addMiddleware = function () {\n var _a;\n var fn = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fn[_i] = arguments[_i];\n }\n this.middleware = (_a = this.middleware).concat.apply(_a, fn);\n };\n LegacyDestination.prototype.shouldBuffer = function (ctx) {\n return (\n // page events can't be buffered because of destinations that automatically add page views\n ctx.event.type !== 'page' &&\n (isOffline() || this._ready !== true || this._initialized !== true));\n };\n LegacyDestination.prototype.send = function (ctx, clz, eventType) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var plan, ev, planEvent, afterMiddleware, event, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (this.shouldBuffer(ctx)) {\n this.buffer.push(ctx);\n this.scheduleFlush();\n return [2 /*return*/, ctx];\n }\n plan = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.plan) === null || _b === void 0 ? void 0 : _b.track;\n ev = ctx.event.event;\n if (plan && ev && this.name !== 'Segment.io') {\n planEvent = plan[ev];\n if (!isPlanEventEnabled(plan, planEvent)) {\n ctx.updateEvent('integrations', __assign(__assign({}, ctx.event.integrations), { All: false, 'Segment.io': true }));\n ctx.cancel(new ContextCancelation({\n retry: false,\n reason: \"Event \".concat(ev, \" disabled for integration \").concat(this.name, \" in tracking plan\"),\n type: 'Dropped by plan',\n }));\n }\n else {\n ctx.updateEvent('integrations', __assign(__assign({}, ctx.event.integrations), planEvent === null || planEvent === void 0 ? void 0 : planEvent.integrations));\n }\n if ((planEvent === null || planEvent === void 0 ? void 0 : planEvent.enabled) && (planEvent === null || planEvent === void 0 ? void 0 : planEvent.integrations[this.name]) === false) {\n ctx.cancel(new ContextCancelation({\n retry: false,\n reason: \"Event \".concat(ev, \" disabled for integration \").concat(this.name, \" in tracking plan\"),\n type: 'Dropped by plan',\n }));\n }\n }\n return [4 /*yield*/, applyDestinationMiddleware(this.name, ctx.event, this.middleware)];\n case 1:\n afterMiddleware = _c.sent();\n if (afterMiddleware === null) {\n return [2 /*return*/, ctx];\n }\n event = new clz(afterMiddleware, {\n traverse: !this.disableAutoISOConversion,\n });\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: eventType,\n type: 'classic',\n });\n _c.label = 2;\n case 2:\n _c.trys.push([2, 5, , 6]);\n if (!this.integration) return [3 /*break*/, 4];\n return [4 /*yield*/, this.integration.invoke.call(this.integration, eventType, event)];\n case 3:\n _c.sent();\n _c.label = 4;\n case 4: return [3 /*break*/, 6];\n case 5:\n err_1 = _c.sent();\n recordIntegrationMetric(ctx, {\n integrationName: this.name,\n methodName: eventType,\n type: 'classic',\n didError: true,\n });\n throw err_1;\n case 6: return [2 /*return*/, ctx];\n }\n });\n });\n };\n LegacyDestination.prototype.track = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Track, 'track')];\n });\n });\n };\n LegacyDestination.prototype.page = function (ctx) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (((_a = this.integration) === null || _a === void 0 ? void 0 : _a._assumesPageview) && !this._initialized) {\n this.integration.initialize();\n }\n return [4 /*yield*/, this.initializePromise.promise];\n case 1:\n _b.sent();\n return [2 /*return*/, this.send(ctx, Page, 'page')];\n }\n });\n });\n };\n LegacyDestination.prototype.identify = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Identify, 'identify')];\n });\n });\n };\n LegacyDestination.prototype.alias = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Alias, 'alias')];\n });\n });\n };\n LegacyDestination.prototype.group = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(ctx, Group, 'group')];\n });\n });\n };\n LegacyDestination.prototype.scheduleFlush = function () {\n var _this = this;\n if (this.flushing) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (isOffline() || this._ready !== true || this._initialized !== true) {\n this.scheduleFlush();\n return [2 /*return*/];\n }\n this.flushing = true;\n _a = this;\n return [4 /*yield*/, flushQueue(this, this.buffer)];\n case 1:\n _a.buffer = _b.sent();\n this.flushing = false;\n if (this.buffer.todo > 0) {\n this.scheduleFlush();\n }\n return [2 /*return*/];\n }\n });\n }); }, Math.random() * 5000);\n };\n return LegacyDestination;\n}());\nexport { LegacyDestination };\nexport function ajsDestinations(writeKey, settings, integrations, options, routingMiddleware, legacyIntegrationSources) {\n var _a, _b;\n if (integrations === void 0) { integrations = {}; }\n if (options === void 0) { options = {}; }\n if (isServer()) {\n return [];\n }\n if (settings.plan) {\n options = options !== null && options !== void 0 ? options : {};\n options.plan = settings.plan;\n }\n var routingRules = (_b = (_a = settings.middlewareSettings) === null || _a === void 0 ? void 0 : _a.routingRules) !== null && _b !== void 0 ? _b : [];\n var remoteIntegrationsConfig = settings.integrations;\n var localIntegrationsConfig = options.integrations;\n // merged remote CDN settings with user provided options\n var integrationOptions = mergedOptions(settings, options !== null && options !== void 0 ? options : {});\n var adhocIntegrationSources = legacyIntegrationSources === null || legacyIntegrationSources === void 0 ? void 0 : legacyIntegrationSources.reduce(function (acc, integrationSource) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[resolveIntegrationNameFromSource(integrationSource)] = integrationSource, _a)));\n }, {});\n var installableIntegrations = new Set(__spreadArray(__spreadArray([], Object.keys(remoteIntegrationsConfig).filter(function (name) {\n return isInstallableIntegration(name, remoteIntegrationsConfig[name]);\n }), true), Object.keys(adhocIntegrationSources || {}).filter(function (name) {\n return isPlainObject(remoteIntegrationsConfig[name]) ||\n isPlainObject(localIntegrationsConfig === null || localIntegrationsConfig === void 0 ? void 0 : localIntegrationsConfig[name]);\n }), true));\n return Array.from(installableIntegrations)\n .filter(function (name) { return !shouldSkipIntegration(name, integrations); })\n .map(function (name) {\n var integrationSettings = remoteIntegrationsConfig[name];\n var version = resolveVersion(integrationSettings);\n var destination = new LegacyDestination(name, version, writeKey, integrationOptions[name], options, adhocIntegrationSources === null || adhocIntegrationSources === void 0 ? void 0 : adhocIntegrationSources[name]);\n var routing = routingRules.filter(function (rule) { return rule.destinationName === name; });\n if (routing.length > 0 && routingMiddleware) {\n destination.addMiddleware(routingMiddleware);\n }\n return destination;\n });\n}\n//# sourceMappingURL=index.js.map"],"names":["normalizeName","name","obfuscatePathName","pathName","obfuscate","resolveIntegrationNameFromSource","integrationSource","recordLoadMetrics","fullPath","ctx","_a","_b","metric","__spreadArray","buildIntegration","integrationSettings","analyticsInstance","integrationCtr","analyticsStub","integration","loadIntegration","version","__awaiter","obfuscatedPathName","path","err_1","deps","__generator","getNextIntegrationsURL","loadScript","dep","unloadIntegration","unloadScript","resolveVersion","integrationConfig","_c","_d","isInstallableIntegration","type","bundlingStatus","versionSettings","deviceMode","isDisabledIntegration","integrationName","integrations","allDisableAndNotDefined","flushQueue","xt","queue","failedQueue","_this","isOffline","pWhile","isOnline","result","success","attempt","Context","failed","LegacyDestination","writeKey","settings","options","createDeferred","__assign","isInitialized","PriorityQueue","PersistedPriorityQueue","error_1","recordIntegrationMetric","resolve","onReadyFn","error","_ctx","_analyticsInstance","fn","_i","clz","eventType","plan","ev","planEvent","afterMiddleware","event","isPlanEventEnabled","ContextCancelation","applyDestinationMiddleware","Track","Page","Identify","Alias","Group","ajsDestinations","routingMiddleware","legacyIntegrationSources","isServer","routingRules","remoteIntegrationsConfig","localIntegrationsConfig","integrationOptions","mergedOptions","adhocIntegrationSources","acc","installableIntegrations","isPlainObject","shouldSkipIntegration","destination","routing","rule"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a}from"./vendor-router-D_36sTKu.js";import{g as f}from"./index-
|
|
1
|
+
import{r as a}from"./vendor-router-D_36sTKu.js";import{g as f}from"./index-BQ4lI5xX.js";const d={data:null,loaded:!1,fetching:null},g={data:null,isLoading:!1},u=new Map,i=new Map,o=new Map;function p(t){return{data:t.data,isLoading:!t.loaded}}function h(t){o.get(t)?.forEach(e=>e())}function r(t,e){u.set(t,e),i.set(t,p(e)),h(t)}async function E(t){try{const e=f("PEER_URL");return await(await fetch(`${e}/lambdas/profiles/${t.toLowerCase()}`)).json()??null}catch{return null}}function w(t){const e=u.get(t)??d;if(e.loaded||e.fetching)return e.fetching??Promise.resolve();const n=(async()=>{try{const s=await E(t);r(t,{data:s,loaded:!0,fetching:null})}catch{r(t,{data:null,loaded:!0,fetching:null})}})();return r(t,{...e,fetching:n}),n}function b(t,e){let n=o.get(t);return n||(n=new Set,o.set(t,n)),n.add(e),w(t),()=>{n.delete(e),n.size===0&&o.delete(t)}}function m(t){const e=i.get(t);if(e)return e;const n={data:null,isLoading:!0};return i.set(t,n),n}function L(t,e={}){const n=e.skip||!t?"":t.toLowerCase(),s=a.useCallback(l=>n?b(n,l):()=>{},[n]),c=a.useCallback(()=>n?m(n):g,[n]);return a.useSyncExternalStore(s,c,c)}export{L as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.client-
|
|
1
|
+
{"version":3,"file":"profile.client-Dv7yHizc.js","sources":["../../src/features/profile/profile.client.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react'\nimport type { Profile } from 'dcl-catalyst-client/dist/client/specs/lambdas-client'\nimport { getEnv } from '../../config/env'\n\ntype Entry = {\n data: Profile | null\n loaded: boolean\n fetching: Promise<void> | null\n}\n\ntype Snapshot = { data: Profile | null; isLoading: boolean }\n\nconst EMPTY_ENTRY: Entry = { data: null, loaded: false, fetching: null }\nconst EMPTY_SNAPSHOT: Snapshot = { data: null, isLoading: false }\n\nconst entries = new Map<string, Entry>()\nconst snapshots = new Map<string, Snapshot>()\nconst listenersByKey = new Map<string, Set<() => void>>()\n\nfunction snapshotOf(entry: Entry): Snapshot {\n return { data: entry.data, isLoading: !entry.loaded }\n}\n\nfunction notify(key: string) {\n listenersByKey.get(key)?.forEach(fn => fn())\n}\n\nfunction setEntry(key: string, next: Entry) {\n entries.set(key, next)\n snapshots.set(key, snapshotOf(next))\n notify(key)\n}\n\nasync function fetchProfile(address: string): Promise<Profile | null> {\n try {\n const peerUrl = getEnv('PEER_URL')\n const response = await fetch(`${peerUrl}/lambdas/profiles/${address.toLowerCase()}`)\n const data = await response.json()\n return data ?? null\n } catch {\n return null\n }\n}\n\nfunction ensureFetch(key: string): Promise<void> {\n const existing = entries.get(key) ?? EMPTY_ENTRY\n if (existing.loaded || existing.fetching) return existing.fetching ?? Promise.resolve()\n\n const promise = (async () => {\n try {\n const data = await fetchProfile(key)\n setEntry(key, { data, loaded: true, fetching: null })\n } catch {\n setEntry(key, { data: null, loaded: true, fetching: null })\n }\n })()\n\n setEntry(key, { ...existing, fetching: promise })\n return promise\n}\n\nfunction subscribeTo(key: string, listener: () => void): () => void {\n let set = listenersByKey.get(key)\n if (!set) {\n set = new Set()\n listenersByKey.set(key, set)\n }\n set.add(listener)\n void ensureFetch(key)\n return () => {\n set.delete(listener)\n if (set.size === 0) listenersByKey.delete(key)\n }\n}\n\nfunction getSnapshotFor(key: string): Snapshot {\n const snap = snapshots.get(key)\n if (snap) return snap\n // Seed a stable pending snapshot so useSyncExternalStore doesn't loop.\n const pending: Snapshot = { data: null, isLoading: true }\n snapshots.set(key, pending)\n return pending\n}\n\ntype QueryOptions = { skip?: boolean }\n\nfunction useGetProfileQuery(address: string | undefined, options: QueryOptions = {}): Snapshot {\n const key = options.skip || !address ? '' : address.toLowerCase()\n\n const subscribe = useCallback(\n (listener: () => void) => {\n if (!key) return () => undefined\n return subscribeTo(key, listener)\n },\n [key]\n )\n\n const getSnapshot = useCallback(() => {\n if (!key) return EMPTY_SNAPSHOT\n return getSnapshotFor(key)\n }, [key])\n\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot)\n}\n\nexport { useGetProfileQuery, type Profile }\n"],"names":["EMPTY_ENTRY","EMPTY_SNAPSHOT","entries","snapshots","listenersByKey","snapshotOf","entry","notify","key","fn","setEntry","next","fetchProfile","address","peerUrl","getEnv","ensureFetch","existing","promise","data","subscribeTo","listener","set","getSnapshotFor","snap","pending","useGetProfileQuery","options","subscribe","useCallback","getSnapshot","useSyncExternalStore"],"mappings":"wFAYA,MAAMA,EAAqB,CAAE,KAAM,KAAM,OAAQ,GAAO,SAAU,IAAA,EAC5DC,EAA2B,CAAE,KAAM,KAAM,UAAW,EAAA,EAEpDC,MAAc,IACdC,MAAgB,IAChBC,MAAqB,IAE3B,SAASC,EAAWC,EAAwB,CAC1C,MAAO,CAAE,KAAMA,EAAM,KAAM,UAAW,CAACA,EAAM,MAAA,CAC/C,CAEA,SAASC,EAAOC,EAAa,CAC3BJ,EAAe,IAAII,CAAG,GAAG,QAAQC,GAAMA,GAAI,CAC7C,CAEA,SAASC,EAASF,EAAaG,EAAa,CAC1CT,EAAQ,IAAIM,EAAKG,CAAI,EACrBR,EAAU,IAAIK,EAAKH,EAAWM,CAAI,CAAC,EACnCJ,EAAOC,CAAG,CACZ,CAEA,eAAeI,EAAaC,EAA0C,CACpE,GAAI,CACF,MAAMC,EAAUC,EAAO,UAAU,EAGjC,OADa,MADI,MAAM,MAAM,GAAGD,CAAO,qBAAqBD,EAAQ,YAAA,CAAa,EAAE,GACvD,KAAA,GACb,IACjB,MAAQ,CACN,OAAO,IACT,CACF,CAEA,SAASG,EAAYR,EAA4B,CAC/C,MAAMS,EAAWf,EAAQ,IAAIM,CAAG,GAAKR,EACrC,GAAIiB,EAAS,QAAUA,EAAS,gBAAiBA,EAAS,UAAY,QAAQ,QAAA,EAE9E,MAAMC,GAAW,SAAY,CAC3B,GAAI,CACF,MAAMC,EAAO,MAAMP,EAAaJ,CAAG,EACnCE,EAASF,EAAK,CAAE,KAAAW,EAAM,OAAQ,GAAM,SAAU,KAAM,CACtD,MAAQ,CACNT,EAASF,EAAK,CAAE,KAAM,KAAM,OAAQ,GAAM,SAAU,KAAM,CAC5D,CACF,GAAA,EAEA,OAAAE,EAASF,EAAK,CAAE,GAAGS,EAAU,SAAUC,EAAS,EACzCA,CACT,CAEA,SAASE,EAAYZ,EAAaa,EAAkC,CAClE,IAAIC,EAAMlB,EAAe,IAAII,CAAG,EAChC,OAAKc,IACHA,MAAU,IACVlB,EAAe,IAAII,EAAKc,CAAG,GAE7BA,EAAI,IAAID,CAAQ,EACXL,EAAYR,CAAG,EACb,IAAM,CACXc,EAAI,OAAOD,CAAQ,EACfC,EAAI,OAAS,GAAGlB,EAAe,OAAOI,CAAG,CAC/C,CACF,CAEA,SAASe,EAAef,EAAuB,CAC7C,MAAMgB,EAAOrB,EAAU,IAAIK,CAAG,EAC9B,GAAIgB,EAAM,OAAOA,EAEjB,MAAMC,EAAoB,CAAE,KAAM,KAAM,UAAW,EAAA,EACnD,OAAAtB,EAAU,IAAIK,EAAKiB,CAAO,EACnBA,CACT,CAIA,SAASC,EAAmBb,EAA6Bc,EAAwB,GAAc,CAC7F,MAAMnB,EAAMmB,EAAQ,MAAQ,CAACd,EAAU,GAAKA,EAAQ,YAAA,EAE9Ce,EAAYC,EAAAA,YACfR,GACMb,EACEY,EAAYZ,EAAKa,CAAQ,EADf,OAGnB,CAACb,CAAG,CAAA,EAGAsB,EAAcD,EAAAA,YAAY,IACzBrB,EACEe,EAAef,CAAG,EADRP,EAEhB,CAACO,CAAG,CAAC,EAER,OAAOuB,uBAAqBH,EAAWE,EAAaA,CAAW,CACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as t,a}from"./index-
|
|
1
|
+
import{s as t,a}from"./index-BQ4lI5xX.js";const s=t(a)(({theme:o})=>({textAlign:"center",paddingTop:o.spacing(8),paddingBottom:o.spacing(8)}));export{s as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.styled-
|
|
1
|
+
{"version":3,"file":"shared.styled-DZDSiscg.js","sources":["../../src/pages/blog/shared.styled.ts"],"sourcesContent":["import { Box, styled } from 'decentraland-ui2'\n\nconst CenteredBox = styled(Box)(({ theme }) => ({\n textAlign: 'center',\n paddingTop: theme.spacing(8),\n paddingBottom: theme.spacing(8)\n}))\n\nexport { CenteredBox }\n"],"names":["CenteredBox","styled","Box","theme"],"mappings":"0CAEA,MAAMA,EAAcC,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC9C,UAAW,SACX,WAAYA,EAAM,QAAQ,CAAC,EAC3B,cAAeA,EAAM,QAAQ,CAAC,CAChC,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,f as d,a as u,b as i,d as p,u as g,e as f,g as m,h as r}from"./events.client-
|
|
1
|
+
import{c,f as d,a as u,b as i,d as p,u as g,e as f,g as m,h as r}from"./events.client-LWw5jd-t.js";import{g as n}from"./index-BQ4lI5xX.js";const A=()=>{const e=n("CMS_BASE_URL");if(!e)throw new Error("CMS_BASE_URL environment variable is not set");return e},B=n("CMS_BASE_URL")??"",a=c({reducerPath:"cmsClient",baseQuery:d({baseUrl:""}),tagTypes:["BlogPosts","BlogPost","Categories","Authors"],keepUnusedDataFor:300,refetchOnFocus:!1,refetchOnReconnect:!1,endpoints:()=>({})}),o=c({reducerPath:"algoliaClient",baseQuery:u(),tagTypes:["SearchResults"],keepUnusedDataFor:300,refetchOnFocus:!1,refetchOnReconnect:!1,endpoints:()=>({})}),s=i(),S=s.getInitialState(),l=p({name:"blog",initialState:S,reducers:{postUpserted:(e,t)=>s.upsertOne(e,t),postsUpserted:(e,t)=>s.upsertMany(e,t),postsClear:e=>s.removeAll(e)}}),{postUpserted:R,postsUpserted:y,postsClear:P}=l.actions,h=l.reducer,v=s.getSelectors(),C=m({[r.reducerPath]:r.reducer,blog:h,[a.reducerPath]:a.reducer,[o.reducerPath]:o.reducer}),w=f({reducer:C,middleware:e=>e().concat(r.middleware,a.middleware,o.middleware),devTools:!1}),E=g;export{a,y as b,B as c,o as d,A as g,v as p,w as s,E as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-
|
|
1
|
+
{"version":3,"file":"store-DytzPwIW.js","sources":["../../src/services/blogClient.ts","../../src/features/blog/blog.slice.ts","../../src/shells/store.ts"],"sourcesContent":["import { createApi, fakeBaseQuery, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { getEnv } from '../config/env'\n\n// Lazy getter — throws only when a query actually runs, not at import time.\n// A module-level throw crashes DappsShell at import even when no blog query is made.\nconst getCmsBaseUrl = (): string => {\n const url = getEnv('CMS_BASE_URL')\n if (!url) throw new Error('CMS_BASE_URL environment variable is not set')\n // In development, use the Vite proxy to avoid CORS issues; in production, use the direct CMS URL\n return import.meta.env.DEV ? '/api/cms' : url\n}\n\n// Exposed for blog.helpers.ts (fetchFromCMS uses it to resolve references)\nconst cmsBaseUrl = import.meta.env.DEV ? '/api/cms' : getEnv('CMS_BASE_URL') ?? ''\n\n/**\n * CMS Client - For blog posts, categories, and authors from Contentful\n * Uses fetchBaseQuery with Vite proxy in development to avoid CORS\n */\nconst cmsClient = createApi({\n reducerPath: 'cmsClient',\n // baseUrl is resolved lazily per-request so the module can be imported without CMS_BASE_URL set\n baseQuery: fetchBaseQuery({ baseUrl: '' }),\n tagTypes: ['BlogPosts', 'BlogPost', 'Categories', 'Authors'],\n keepUnusedDataFor: 300, // Cache for 5 minutes\n refetchOnFocus: false,\n refetchOnReconnect: false,\n endpoints: () => ({})\n})\n\n/**\n * Algolia Client - For search functionality\n * Uses fakeBaseQuery since we use Algolia SDK directly\n */\nconst algoliaClient = createApi({\n reducerPath: 'algoliaClient',\n baseQuery: fakeBaseQuery(),\n tagTypes: ['SearchResults'],\n keepUnusedDataFor: 300, // Cache for 5 minutes\n refetchOnFocus: false,\n refetchOnReconnect: false,\n endpoints: () => ({})\n})\n\nexport { algoliaClient, cmsBaseUrl, cmsClient, getCmsBaseUrl }\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\nimport type { BlogPost } from '../../shared/blog/types/blog.domain'\n\n// Entity adapter for normalized posts storage\nconst postsAdapter = createEntityAdapter<BlogPost>()\n\n// Initial state using the adapter\nconst initialState = postsAdapter.getInitialState()\n\nconst blogSlice = createSlice({\n name: 'blog',\n initialState,\n reducers: {\n postUpserted: (state, action) => postsAdapter.upsertOne(state, action),\n postsUpserted: (state, action) => postsAdapter.upsertMany(state, action),\n postsClear: state => postsAdapter.removeAll(state)\n }\n})\n\nconst { postUpserted, postsUpserted, postsClear } = blogSlice.actions\n\nconst blogReducer = blogSlice.reducer\n\n// Export adapter selectors (will be used with RootState in selectors file)\nconst postsSelectors = postsAdapter.getSelectors()\n\nexport { blogReducer, blogSlice, postsClear, postUpserted, postsSelectors, postsUpserted }\n","import { useDispatch, useSelector } from 'react-redux'\nimport type { TypedUseSelectorHook } from 'react-redux'\nimport { combineReducers, configureStore } from '@reduxjs/toolkit'\nimport { blogReducer } from '../features/blog/blog.slice'\nimport { eventsClient } from '../features/explore-events/events.client'\nimport { algoliaClient, cmsClient } from '../services/blogClient'\n\nconst rootReducer = combineReducers({\n [eventsClient.reducerPath]: eventsClient.reducer,\n blog: blogReducer,\n [cmsClient.reducerPath]: cmsClient.reducer,\n [algoliaClient.reducerPath]: algoliaClient.reducer\n})\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware().concat(eventsClient.middleware, cmsClient.middleware, algoliaClient.middleware),\n devTools: import.meta.env.DEV\n})\n\ntype RootState = ReturnType<typeof store.getState>\ntype AppDispatch = typeof store.dispatch\n\nconst useAppDispatch = () => useDispatch<AppDispatch>()\nconst useAppSelector: TypedUseSelectorHook<RootState> = useSelector\n\nexport { store, useAppDispatch, useAppSelector }\nexport type { RootState, AppDispatch }\n"],"names":["getCmsBaseUrl","url","getEnv","cmsBaseUrl","cmsClient","createApi","fetchBaseQuery","algoliaClient","fakeBaseQuery","postsAdapter","createEntityAdapter","initialState","blogSlice","createSlice","state","action","postUpserted","postsUpserted","postsClear","blogReducer","postsSelectors","rootReducer","combineReducers","eventsClient","store","configureStore","getDefaultMiddleware","useAppSelector","useSelector"],"mappings":"2IAKA,MAAMA,EAAgB,IAAc,CAClC,MAAMC,EAAMC,EAAO,cAAc,EACjC,GAAI,CAACD,EAAK,MAAM,IAAI,MAAM,8CAA8C,EAExE,OAA0CA,CAC5C,EAGME,EAAgDD,EAAO,cAAc,GAAK,GAM1EE,EAAYC,EAAU,CAC1B,YAAa,YAEb,UAAWC,EAAe,CAAE,QAAS,GAAI,EACzC,SAAU,CAAC,YAAa,WAAY,aAAc,SAAS,EAC3D,kBAAmB,IACnB,eAAgB,GAChB,mBAAoB,GACpB,UAAW,KAAO,CAAA,EACpB,CAAC,EAMKC,EAAgBF,EAAU,CAC9B,YAAa,gBACb,UAAWG,EAAA,EACX,SAAU,CAAC,eAAe,EAC1B,kBAAmB,IACnB,eAAgB,GAChB,mBAAoB,GACpB,UAAW,KAAO,CAAA,EACpB,CAAC,ECtCKC,EAAeC,EAAA,EAGfC,EAAeF,EAAa,gBAAA,EAE5BG,EAAYC,EAAY,CAC5B,KAAM,OACN,aAAAF,EACA,SAAU,CACR,aAAc,CAACG,EAAOC,IAAWN,EAAa,UAAUK,EAAOC,CAAM,EACrE,cAAe,CAACD,EAAOC,IAAWN,EAAa,WAAWK,EAAOC,CAAM,EACvE,WAAYD,GAASL,EAAa,UAAUK,CAAK,CAAA,CAErD,CAAC,EAEK,CAAE,aAAAE,EAAc,cAAAC,EAAe,WAAAC,CAAA,EAAeN,EAAU,QAExDO,EAAcP,EAAU,QAGxBQ,EAAiBX,EAAa,aAAA,ECjB9BY,EAAcC,EAAgB,CAClC,CAACC,EAAa,WAAW,EAAGA,EAAa,QACzC,KAAMJ,EACN,CAACf,EAAU,WAAW,EAAGA,EAAU,QACnC,CAACG,EAAc,WAAW,EAAGA,EAAc,OAC7C,CAAC,EAEKiB,EAAQC,EAAe,CAC3B,QAASJ,EACT,WAAYK,GACVA,EAAA,EAAuB,OAAOH,EAAa,WAAYnB,EAAU,WAAYG,EAAc,UAAU,EACvG,SAAU,EACZ,CAAC,EAMKoB,EAAkDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as A}from"./index-
|
|
1
|
+
import{c as A}from"./index-g0lykA2w.js";var c;(function(e){e.WINDOWS="Windows",e.MACOS="macOS"})(c||(c={}));var s;(function(e){e.LAUNCHER="launcher",e.AUTO_SIGNING="auto-signing"})(s||(s={}));const u="https://explorer-artifacts.decentraland.org/launcher-rust",N="https://explorer-artifacts.decentraland.org/launcher/dcl",O=A.get("AUTO_SIGNING_BASE_URL"),L={[s.LAUNCHER]:{urls:{[c.WINDOWS]:{amd64:`${u}/Decentraland_installer.exe`},[c.MACOS]:{amd64:`${N}/Decentraland%20Outdated-mac-x64.dmg`,arm64:`${u}/Decentraland_installer.dmg`}}},[s.AUTO_SIGNING]:{urls:{[c.WINDOWS]:{amd64:`${O}/:identityId/decentraland.exe`},[c.MACOS]:{amd64:`${N}/Decentraland%20Outdated-mac-x64.dmg`,arm64:`${O}/:identityId/decentraland.dmg`}}}},i=(e=s.LAUNCHER,t)=>{const n=L[e];if(!n)return null;const r=a=>a&&(e===s.AUTO_SIGNING&&t?a.replace(":identityId",t):a);return{[c.WINDOWS]:{amd64:r(n.urls.Windows.amd64)},[c.MACOS]:{amd64:r(n.urls.macOS.amd64),arm64:r(n.urls.macOS.arm64)}}},m=(e,t)=>{if(!t||Object.keys(t).length===0)return e;const n=new URL(e);return Object.entries(t).forEach(([r,a])=>{a!=null&&n.searchParams.append(r,a)}),n.toString()},C=(e,t,n)=>{const r=new URL(e);return r.searchParams.delete(t),r.searchParams.append(t,n),r.toString()},d=e=>{if(!e)return null;const t={};for(const[n,r]of Object.entries(e)){const a={};for(const[l,o]of Object.entries(r))o&&(a[l]=o);Object.keys(a).length>0&&(t[n]=a)}return Object.keys(t).length>0?t:null},I=async(e,t)=>{if(!e){const n=i(s.LAUNCHER);return t||d(n)}try{const n=await e(),r=n?i(s.AUTO_SIGNING,n):i(s.LAUNCHER);return d(r)||t||null}catch(n){console.error("Failed to generate identityId:",n);const r=i(s.LAUNCHER);return d(r)||t||null}},f=(e,t,n,r)=>{if(!r?.[e])return n;const a=r[e];return t&&a[t]?a[t]:Object.values(a)[0]||n},U=d(i(s.LAUNCHER))||{};export{s as C,U as F,m as a,I as c,f as e,i as g,d as s,C as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-
|
|
1
|
+
{"version":3,"file":"url-CwO7t7Da.js","sources":["../../node_modules/decentraland-ui2/dist/components/DownloadButton/DownloadButton.types.js","../../node_modules/decentraland-ui2/dist/modules/cdnReleases.js","../../src/modules/url.ts"],"sourcesContent":["var OperativeSystem;\n(function (OperativeSystem) {\n OperativeSystem[\"WINDOWS\"] = \"Windows\";\n OperativeSystem[\"MACOS\"] = \"macOS\";\n})(OperativeSystem || (OperativeSystem = {}));\nexport { OperativeSystem };\n//# sourceMappingURL=DownloadButton.types.js.map","import { OperativeSystem } from '../components/DownloadButton';\nimport { config } from '../config';\nvar CDNSource;\n(function (CDNSource) {\n CDNSource[\"LAUNCHER\"] = \"launcher\";\n CDNSource[\"AUTO_SIGNING\"] = \"auto-signing\";\n // Add future CDN sources here\n})(CDNSource || (CDNSource = {}));\nconst LAUNCHER_BASE_URL = 'https://explorer-artifacts.decentraland.org/launcher-rust';\nconst LAUNCHER_LEGACY_BASE_URL = 'https://explorer-artifacts.decentraland.org/launcher/dcl';\nconst AUTO_SIGNING_BASE_URL = config.get('AUTO_SIGNING_BASE_URL');\nconst CDN_CONFIGS = {\n [CDNSource.LAUNCHER]: {\n urls: {\n [OperativeSystem.WINDOWS]: {\n amd64: `${LAUNCHER_BASE_URL}/Decentraland_installer.exe`\n },\n [OperativeSystem.MACOS]: {\n amd64: `${LAUNCHER_LEGACY_BASE_URL}/Decentraland%20Outdated-mac-x64.dmg`,\n arm64: `${LAUNCHER_BASE_URL}/Decentraland_installer.dmg`\n }\n }\n },\n [CDNSource.AUTO_SIGNING]: {\n urls: {\n [OperativeSystem.WINDOWS]: {\n amd64: `${AUTO_SIGNING_BASE_URL}/:identityId/decentraland.exe`\n },\n [OperativeSystem.MACOS]: {\n amd64: `${LAUNCHER_LEGACY_BASE_URL}/Decentraland%20Outdated-mac-x64.dmg`,\n arm64: `${AUTO_SIGNING_BASE_URL}/:identityId/decentraland.dmg`\n }\n }\n }\n // Add more CDN configurations here as needed\n};\nconst getCDNRelease = (source = CDNSource.LAUNCHER, identityId) => {\n const cdnConfig = CDN_CONFIGS[source];\n if (!cdnConfig) {\n return null;\n }\n const replaceIdentityId = (url) => {\n if (!url)\n return url;\n // Replace :identityId placeholder in the path for AUTO_SIGNING source\n if (source === CDNSource.AUTO_SIGNING && identityId) {\n return url.replace(':identityId', identityId);\n }\n return url;\n };\n return {\n [OperativeSystem.WINDOWS]: {\n amd64: replaceIdentityId(cdnConfig.urls.Windows.amd64)\n },\n [OperativeSystem.MACOS]: {\n amd64: replaceIdentityId(cdnConfig.urls.macOS.amd64),\n arm64: replaceIdentityId(cdnConfig.urls.macOS.arm64)\n }\n };\n};\nexport { getCDNRelease, CDNSource };\n//# sourceMappingURL=cdnReleases.js.map","import { CDNSource, getCDNRelease } from 'decentraland-ui2/dist/modules/cdnReleases'\nimport { Architecture } from '../types/download.types'\n\nconst addQueryParamsToUrlString = (url: string, params: Record<string, string | undefined | null>): string => {\n if (!params || Object.keys(params).length === 0) {\n return url\n }\n\n const urlObj = new URL(url)\n\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n urlObj.searchParams.append(key, value)\n }\n })\n\n return urlObj.toString()\n}\n\nconst updateUrlWithLastValue = (url: string, paramKey: string, paramValue: string) => {\n const urlObj = new URL(url)\n\n urlObj.searchParams.delete(paramKey)\n urlObj.searchParams.append(paramKey, paramValue)\n\n return urlObj.toString()\n}\n\nconst sanitizeCDNReleaseLinks = (\n cdnLinks: Record<string, Record<string, string | undefined>> | null\n): Record<string, Record<string, string>> | null => {\n if (!cdnLinks) return null\n\n const sanitizedLinks: Record<string, Record<string, string>> = {}\n for (const [os, archLinks] of Object.entries(cdnLinks)) {\n const sanitizedArchLinks: Record<string, string> = {}\n for (const [arch, link] of Object.entries(archLinks)) {\n if (link) {\n sanitizedArchLinks[arch] = link\n }\n }\n if (Object.keys(sanitizedArchLinks).length > 0) {\n sanitizedLinks[os] = sanitizedArchLinks\n }\n }\n return Object.keys(sanitizedLinks).length > 0 ? sanitizedLinks : null\n}\n\nconst calculateCDNReleaseLinksWithIdentity = async (\n getIdentityId?: () => Promise<string | undefined>,\n fallbackLinks?: Record<string, Record<string, string>> | null\n): Promise<Record<string, Record<string, string>> | null> => {\n if (!getIdentityId) {\n const launcherLinks = getCDNRelease(CDNSource.LAUNCHER)\n return fallbackLinks || sanitizeCDNReleaseLinks(launcherLinks)\n }\n\n try {\n const currentIdentityId = await getIdentityId()\n const cdnLinks = currentIdentityId ? getCDNRelease(CDNSource.AUTO_SIGNING, currentIdentityId) : getCDNRelease(CDNSource.LAUNCHER)\n\n return sanitizeCDNReleaseLinks(cdnLinks) || fallbackLinks || null\n } catch (error) {\n console.error('Failed to generate identityId:', error)\n const launcherLinks = getCDNRelease(CDNSource.LAUNCHER)\n return sanitizeCDNReleaseLinks(launcherLinks) || fallbackLinks || null\n }\n}\n\nconst extractDownloadLinkFromCDNReleaseOption = (\n optionText: string,\n optionArch: Architecture | undefined,\n optionFallbackLink: string | undefined,\n cdnReleaseLinks: Record<string, Record<string, string>> | null\n): string | undefined => {\n if (!cdnReleaseLinks?.[optionText]) return optionFallbackLink\n\n const osLinks = cdnReleaseLinks[optionText]\n if (optionArch && osLinks[optionArch]) {\n return osLinks[optionArch]\n }\n\n const firstAvailableLink = Object.values(osLinks)[0]\n return firstAvailableLink || optionFallbackLink\n}\n\nconst FALLBACK_CDN_RELEASE_LINKS = sanitizeCDNReleaseLinks(getCDNRelease(CDNSource.LAUNCHER)) || {}\n\nexport {\n FALLBACK_CDN_RELEASE_LINKS,\n addQueryParamsToUrlString,\n calculateCDNReleaseLinksWithIdentity,\n extractDownloadLinkFromCDNReleaseOption,\n sanitizeCDNReleaseLinks,\n updateUrlWithLastValue\n}\n"],"names":["OperativeSystem","CDNSource","LAUNCHER_BASE_URL","LAUNCHER_LEGACY_BASE_URL","AUTO_SIGNING_BASE_URL","config","CDN_CONFIGS","getCDNRelease","source","identityId","cdnConfig","replaceIdentityId","url","addQueryParamsToUrlString","params","urlObj","key","value","updateUrlWithLastValue","paramKey","paramValue","sanitizeCDNReleaseLinks","cdnLinks","sanitizedLinks","os","archLinks","sanitizedArchLinks","arch","link","calculateCDNReleaseLinksWithIdentity","getIdentityId","fallbackLinks","launcherLinks","currentIdentityId","error","extractDownloadLinkFromCDNReleaseOption","optionText","optionArch","optionFallbackLink","cdnReleaseLinks","osLinks","FALLBACK_CDN_RELEASE_LINKS"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s}from"./vendor-router-D_36sTKu.js";import{u as d,d as i}from"./index-
|
|
1
|
+
import{r as s}from"./vendor-router-D_36sTKu.js";import{u as d,d as i}from"./index-BQ4lI5xX.js";function u(){const{address:e}=d(),t=e||void 0,r=s.useMemo(()=>{if(t)try{return i.localStorageGetIdentity(t.toLowerCase())??void 0}catch(o){console.error("[useAuthIdentity] Failed to get identity:",o);return}},[t]);return{identity:r,hasValidIdentity:!!r,address:t}}export{u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthIdentity-
|
|
1
|
+
{"version":3,"file":"useAuthIdentity-BJka2D_h.js","sources":["../../src/hooks/useAuthIdentity.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport type { AuthIdentity } from '@dcl/crypto'\nimport { localStorageGetIdentity } from '@dcl/single-sign-on-client'\nimport { useWalletAddress } from './useWalletAddress'\n\ntype UseAuthIdentityResult = {\n identity: AuthIdentity | undefined\n hasValidIdentity: boolean\n address: `0x${string}` | undefined\n}\n\nfunction useAuthIdentity(): UseAuthIdentityResult {\n const { address } = useWalletAddress()\n const walletAddress = address ? (address as `0x${string}`) : undefined\n\n const identity = useMemo<AuthIdentity | undefined>(() => {\n if (!walletAddress) return undefined\n try {\n return localStorageGetIdentity(walletAddress.toLowerCase()) ?? undefined\n } catch (error) {\n console.error('[useAuthIdentity] Failed to get identity:', error)\n return undefined\n }\n }, [walletAddress])\n\n return {\n identity,\n hasValidIdentity: Boolean(identity),\n address: walletAddress\n }\n}\n\nexport { useAuthIdentity }\nexport type { UseAuthIdentityResult }\n"],"names":["useAuthIdentity","address","useWalletAddress","walletAddress","identity","useMemo","localStorageGetIdentity","error"],"mappings":"+FAWA,SAASA,GAAyC,CAChD,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAA,EACdC,EAAgBF,GAAuC,OAEvDG,EAAWC,EAAAA,QAAkC,IAAM,CACvD,GAAKF,EACL,GAAI,CACF,OAAOG,EAAAA,wBAAwBH,EAAc,YAAA,CAAa,GAAK,MACjE,OAASI,EAAO,CACd,QAAQ,MAAM,4CAA6CA,CAAK,EAChE,MACF,CACF,EAAG,CAACJ,CAAa,CAAC,EAElB,MAAO,CACL,SAAAC,EACA,iBAAkB,EAAQA,EAC1B,QAASD,CAAA,CAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s,a as h,p as A,O as r,q as x,t as b}from"./index-
|
|
1
|
+
import{s,a as h,p as A,O as r,q as x,t as b}from"./index-BQ4lI5xX.js";import{r as o}from"./vendor-router-D_36sTKu.js";import{t as O}from"./file-Cr_gl9BS.js";import{u as y,a as C}from"./url-CwO7t7Da.js";import{u as R,R as k}from"./useLatestGithubRelease-lPlpQBOj.js";const E=s("img")({width:"20px",height:"20px",filter:"brightness(0) invert(1)"}),I=s(h)({display:"flex",alignItems:"center",gap:"8px",marginTop:"8px",justifyContent:"center"}),U=s("span")({fontSize:"14px",color:"rgba(255, 255, 255, 0.7)"}),B=s("button")(({theme:l})=>({background:"none",border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",outline:"none","&:focus-visible":{outline:`2px solid ${l.palette.primary.main}`,outlineOffset:2}})),_=s("img")({width:"20px",height:"20px",filter:"brightness(0) invert(1)"}),w="/download/creator-hub-success",D=3e3,u={[r.WINDOWS]:b,[r.MACOS]:x};function j(){const[l,e]=A(),{links:t,loading:m}=R(k.CREATOR_HUB),a=o.useRef(null);o.useEffect(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]);const p=!m&&!!t&&!l,d=o.useMemo(()=>!t||!e?null:e.os.name===r.MACOS?{text:r.MACOS,image:u[r.MACOS],link:t[r.MACOS]?.arm64||t[r.MACOS]?.amd64,arch:e.cpu.architecture}:t[e.os.name]?{text:e.os.name,image:u[e.os.name],link:t[e.os.name]?.[e.cpu.architecture],arch:e.cpu.architecture}:null,[e,t]),g=o.useMemo(()=>!t||!e?[]:Object.keys(t).filter(n=>n!==e.os.name).map(n=>{const i=t[n],c=Object.keys(i)[0];return{text:n,image:u[n],link:i?.[c],arch:c}}),[e,t]),f=o.useCallback(n=>{if(!n.link)return;a.current!==null&&(clearTimeout(a.current),a.current=null),O(n.link);const i=y(new URL(w,window.location.origin).toString(),"os",n.text),c=C(i,{arch:n.arch});a.current=setTimeout(()=>{window.location.href=c},D)},[]);return{isReady:p,primaryOption:d,secondaryOptions:g,handleDownload:f}}export{I as A,E as D,U as a,B as b,_ as c,j as u};
|
package/assets/{useCreatorHubDownload-ipBatbNE.js.map → useCreatorHubDownload-htSWq2gm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreatorHubDownload-
|
|
1
|
+
{"version":3,"file":"useCreatorHubDownload-htSWq2gm.js","sources":["../../src/components/Create/DownloadButtons.styled.ts","../../src/hooks/useCreatorHubDownload.ts"],"sourcesContent":["import { Box, styled } from 'decentraland-ui2'\n\nconst DownloadButtonImage = styled('img')({\n width: '20px',\n height: '20px',\n filter: 'brightness(0) invert(1)'\n})\n\nconst AlsoAvailableContainer = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n marginTop: '8px',\n justifyContent: 'center'\n})\n\nconst AlsoAvailableText = styled('span')({\n fontSize: '14px',\n color: 'rgba(255, 255, 255, 0.7)'\n})\n\nconst AlternativeIconButton = styled('button')(({ theme }) => ({\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n padding: '4px',\n display: 'flex',\n alignItems: 'center',\n outline: 'none',\n ['&:focus-visible']: {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2\n }\n}))\n\nconst AlternativeButtonImage = styled('img')({\n width: '20px',\n height: '20px',\n filter: 'brightness(0) invert(1)'\n})\n\nexport { AlsoAvailableContainer, AlsoAvailableText, AlternativeButtonImage, AlternativeIconButton, DownloadButtonImage }\n","import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useAdvancedUserAgentData } from '@dcl/hooks'\nimport appleLogo from '../images/apple-logo.svg'\nimport microsoftLogo from '../images/microsoft-logo.svg'\nimport { triggerFileDownload } from '../modules/file'\nimport { addQueryParamsToUrlString, updateUrlWithLastValue } from '../modules/url'\nimport { OperativeSystem } from '../types/download.types'\nimport type { Architecture } from '../types/download.types'\nimport { Repo, useLatestGithubRelease } from './useLatestGithubRelease'\n\nconst REDIRECT_PATH = '/download/creator-hub-success'\nconst REDIRECT_DELAY_MS = 3000\n\ntype DownloadOption = {\n text: string\n image: string\n link?: string\n arch?: Architecture\n}\n\nconst imageByOs: Record<string, string> = {\n [OperativeSystem.WINDOWS]: microsoftLogo,\n [OperativeSystem.MACOS]: appleLogo\n}\n\nfunction useCreatorHubDownload() {\n const [isLoadingUserAgentData, userAgentData] = useAdvancedUserAgentData()\n const { links, loading: isLoadingLinks } = useLatestGithubRelease(Repo.CREATOR_HUB)\n const redirectTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n useEffect(() => {\n return () => {\n if (redirectTimerRef.current !== null) {\n clearTimeout(redirectTimerRef.current)\n }\n }\n }, [])\n\n const isReady = !isLoadingLinks && !!links && !isLoadingUserAgentData\n\n const primaryOption: DownloadOption | null = useMemo(() => {\n if (!links || !userAgentData) return null\n\n if (userAgentData.os.name === OperativeSystem.MACOS) {\n return {\n text: OperativeSystem.MACOS,\n image: imageByOs[OperativeSystem.MACOS],\n link: links[OperativeSystem.MACOS]?.arm64 || links[OperativeSystem.MACOS]?.amd64,\n arch: userAgentData.cpu.architecture as Architecture\n }\n }\n\n if (links[userAgentData.os.name]) {\n return {\n text: userAgentData.os.name,\n image: imageByOs[userAgentData.os.name],\n link: links[userAgentData.os.name]?.[userAgentData.cpu.architecture],\n arch: userAgentData.cpu.architecture as Architecture\n }\n }\n\n return null\n }, [userAgentData, links])\n\n const secondaryOptions: DownloadOption[] = useMemo(() => {\n if (!links || !userAgentData) return []\n\n return Object.keys(links)\n .filter(os => os !== userAgentData.os.name)\n .map(os => {\n const osLinks = links[os]\n const firstArch = Object.keys(osLinks)[0]\n return {\n text: os,\n image: imageByOs[os],\n link: osLinks?.[firstArch],\n arch: firstArch as Architecture\n }\n })\n }, [userAgentData, links])\n\n const handleDownload = useCallback((option: DownloadOption) => {\n if (!option.link) return\n\n if (redirectTimerRef.current !== null) {\n clearTimeout(redirectTimerRef.current)\n redirectTimerRef.current = null\n }\n\n triggerFileDownload(option.link)\n\n const redirectUrl = updateUrlWithLastValue(new URL(REDIRECT_PATH, window.location.origin).toString(), 'os', option.text)\n const finalUrl = addQueryParamsToUrlString(redirectUrl, { arch: option.arch })\n redirectTimerRef.current = setTimeout(() => {\n window.location.href = finalUrl\n }, REDIRECT_DELAY_MS)\n }, [])\n\n return { isReady, primaryOption, secondaryOptions, handleDownload }\n}\n\nexport { useCreatorHubDownload }\nexport type { DownloadOption }\n"],"names":["DownloadButtonImage","styled","AlsoAvailableContainer","Box","AlsoAvailableText","AlternativeIconButton","theme","AlternativeButtonImage","REDIRECT_PATH","REDIRECT_DELAY_MS","imageByOs","OperativeSystem","microsoftLogo","appleLogo","useCreatorHubDownload","isLoadingUserAgentData","userAgentData","useAdvancedUserAgentData","links","isLoadingLinks","useLatestGithubRelease","Repo","redirectTimerRef","useRef","useEffect","isReady","primaryOption","useMemo","secondaryOptions","os","osLinks","firstArch","handleDownload","useCallback","option","triggerFileDownload","redirectUrl","updateUrlWithLastValue","finalUrl","addQueryParamsToUrlString"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as r,a as g,j as t,v as E,X as I}from"./index-
|
|
1
|
+
import{s as r,a as g,j as t,v as E,X as I}from"./index-BQ4lI5xX.js";import{r as a,L as B}from"./vendor-router-D_36sTKu.js";import{C as D,M,D as H,a as A,P as j}from"./PostCard-DajPpr0c.js";import{S as u}from"./Skeleton-D8JfGaaX.js";import"./vendor-ua-D7qqAxdq.js";import{g as _}from"./BlogLayout-DdVPRVwT.js";const F=({onLoadMore:e,hasMore:n,isLoading:o,threshold:s=500,debounceMs:p=500})=>{const d=a.useRef(e),i=a.useRef(0);a.useEffect(()=>{d.current=e},[e]),a.useEffect(()=>{const c=()=>{const f=Date.now();if(f-i.current<p)return;const l=document.documentElement.scrollHeight,m=document.documentElement.scrollTop,h=document.documentElement.clientHeight;l-(m+h)<s&&n&&!o&&(i.current=f,d.current())};window.addEventListener("scroll",c,{passive:!0});const x=setTimeout(c,500);return()=>{window.removeEventListener("scroll",c),clearTimeout(x)}},[n,o,s,p])},S=r(g)(()=>({width:"100%",margin:"0 40px 40px 0",position:"relative",display:"flex",justifyContent:"space-between","@media (max-width: 1096px)":{display:"none"}})),O=r("img")(()=>({objectFit:"cover",boxShadow:"0 2px 4px 0 rgba(0, 0, 0, 0.16)",borderRadius:"5px",width:"697px",height:"349px",marginRight:"31px",transition:"transform 250ms ease, box-shadow 250ms ease"})),P=r(g)({width:"335px"}),W=r(B)(({theme:e})=>({textDecoration:"none",display:"block",color:e.palette.text.primary,"& h2, & h3":{fontSize:"34px",lineHeight:"42px",color:e.palette.text.primary,fontWeight:500},"&:visited, &:link, &:active":{color:e.palette.text.primary},"& *":{color:e.palette.text.primary}})),$=r("p")(({theme:e})=>({display:"block",fontSize:"17px",lineHeight:"26px",letterSpacing:"-0.4px",margin:0,paddingTop:"8px",fontWeight:400,color:e.palette.text.primary})),z=r(g)(()=>({display:"flex",justifyContent:"space-between"})),Q=r(u)(()=>({width:"697px",height:"348px"})),G=r(u)(()=>({width:"100%",height:"40px"})),N=r(u)(()=>({width:"90%",height:"40px"})),k=r(u)(()=>({width:"100px"})),y=r(u)(()=>({width:"100%"})),X=r(u)(()=>({width:"80%"})),q=r(g)(({theme:e})=>({marginTop:e.spacing(2)})),C=e=>{const{post:n,loading:o}=e;return o?t.jsxs(S,{children:[t.jsx(Q,{variant:"rectangular"}),t.jsxs(P,{children:[t.jsxs(z,{children:[t.jsx(k,{variant:"text"}),t.jsx(k,{variant:"text"})]}),t.jsx(G,{variant:"text"}),t.jsx(N,{variant:"text"}),t.jsxs(q,{children:[t.jsx(y,{variant:"text"}),t.jsx(y,{variant:"text"}),t.jsx(y,{variant:"text"}),t.jsx(X,{variant:"text"})]})]})]}):n?t.jsxs(S,{children:[t.jsx(D,{to:n.url,children:t.jsx(O,{src:n.image.url,alt:n.title,width:697,height:349,fetchPriority:"high",decoding:"async"})}),t.jsxs(P,{children:[t.jsxs(M,{children:[t.jsx(H,{children:n.publishedDate}),t.jsx("span",{children:t.jsx(A,{to:n.category.url,children:n.category.title})})]}),t.jsx(W,{to:n.url,children:t.jsx(E,{variant:"h3",component:"h2",children:n.title})}),t.jsx($,{children:n.description})]})]}):null},T=r(g,{shouldForwardProp:e=>e!=="hasMainPost"})(({theme:e,hasMainPost:n})=>({display:"flex",flexWrap:"wrap",justifyContent:"flex-start",paddingBottom:e.spacing(2.5),"& > div:nth-of-type(3n)":{marginRight:e.spacing(4)},...n&&{"& > div:nth-of-type(3n + 1)":{marginRight:0}},...!n&&{"& > div:nth-of-type(3n + 3)":{marginRight:0}},"@media (max-width: 1096px)":{justifyContent:"space-between","& > div, & > div:nth-of-type(3n)":{marginRight:0}}})),w=e=>"isPlaceholder"in e&&e.isPlaceholder===!0,nt=a.memo(e=>{const{posts:n,loading:o,hasMainPost:s=!1}=e,p=I("(min-width: 1096px)");if(o&&n.length===0){const i=s?7:6;return t.jsxs(T,{hasMainPost:s,children:[s&&t.jsx(C,{loading:!0}),Array.from(Array(i),(c,x)=>s&&x===0?null:t.jsx(j,{loading:!0},`skeleton-${x}`))]})}if(!n||n.length===0)return null;const d=n.find(i=>!w(i));return t.jsxs(T,{hasMainPost:s,children:[s&&p&&d&&t.jsx(C,{post:d}),n.map(i=>s&&p&&!w(i)&&i===d?null:w(i)?t.jsx(j,{loading:!0},i.id):t.jsx(j,{post:i},i.id))]})}),J=7,R=6,K=(e,n)=>Array.from({length:e},(o,s)=>({id:`placeholder-${n}-${s}`,isPlaceholder:!0}));function it({category:e,author:n}={}){const[o,s]=a.useState(0),[p,d]=a.useState(!1),i=a.useRef(0),{data:c,isLoading:x,error:f,isFetching:l}=_({category:e,author:n,limit:o===0?J:R,skip:o}),m=a.useMemo(()=>{const L=c?.posts??[];return p&&l?[...L,...K(R,i.current)]:L},[c?.posts,p,l]),h=c?.hasMore??!0,v=x&&o===0;a.useEffect(()=>{s(0),d(!1),i.current=0},[e,n]),a.useEffect(()=>{l&&o>0?(i.current+=1,d(!0)):l||d(!1)},[l,o]);const b=a.useCallback(()=>{l||!h||!c||s(c.nextCmsSkip)},[l,h,c]);return F({onLoadMore:b,hasMore:h,isLoading:l}),{posts:m,isLoading:x,isLoadingInitial:v,isFetching:l,hasMore:h,error:f}}export{nt as P,it as u};
|
package/assets/{useInfiniteBlogPosts-FATRZ2lM.js.map → useInfiniteBlogPosts-b1i6T88U.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteBlogPosts-FATRZ2lM.js","sources":["../../node_modules/@dcl/hooks/esm/hooks/useInfiniteScroll.js","../../src/components/blog/MainPostCard/MainPostCard.styled.ts","../../src/components/blog/MainPostCard/MainPostCard.tsx","../../src/components/blog/PostList/PostList.styled.ts","../../src/components/blog/PostList/PostList.tsx","../../src/features/blog/useInfiniteBlogPosts.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n/**\n * Hook to implement infinite scroll functionality\n * Triggers onLoadMore callback when user scrolls near the bottom of the page\n * @param options - Configuration options for infinite scroll\n * @param options.onLoadMore - Callback to trigger when user scrolls near the end\n * @param options.hasMore - Whether more data is available to load\n * @param options.isLoading - Whether data is currently loading\n * @param options.threshold - Distance from bottom (in pixels) to trigger load. Default: 500\n * @param options.debounceMs - Minimum time (in milliseconds) between triggers to prevent multiple calls. Default: 500\n */\nconst useInfiniteScroll = ({ onLoadMore, hasMore, isLoading, threshold = 500, debounceMs = 500, }) => {\n const onLoadMoreRef = useRef(onLoadMore);\n const lastTriggerRef = useRef(0);\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore;\n }, [onLoadMore]);\n useEffect(() => {\n const handleScroll = () => {\n const now = Date.now();\n if (now - lastTriggerRef.current < debounceMs) {\n return;\n }\n const scrollHeight = document.documentElement.scrollHeight;\n const scrollTop = document.documentElement.scrollTop;\n const clientHeight = document.documentElement.clientHeight;\n const distanceFromBottom = scrollHeight - (scrollTop + clientHeight);\n if (distanceFromBottom < threshold && hasMore && !isLoading) {\n lastTriggerRef.current = now;\n onLoadMoreRef.current();\n }\n };\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n const timeoutId = setTimeout(handleScroll, 500);\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n clearTimeout(timeoutId);\n };\n }, [hasMore, isLoading, threshold, debounceMs]);\n};\nexport { useInfiniteScroll };\n//# sourceMappingURL=useInfiniteScroll.js.map","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Link } from 'react-router-dom'\nimport { Box, Skeleton, styled } from 'decentraland-ui2'\nimport { CardImageLink, CategoryLink, DateText, MetaBox } from '../shared/PostCard.styled'\n\nconst CardContainer = styled(Box)(() => ({\n width: '100%',\n margin: '0 40px 40px 0',\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n '@media (max-width: 1096px)': {\n display: 'none'\n }\n}))\n\nconst CardImage = styled('img')(() => ({\n objectFit: 'cover',\n boxShadow: '0 2px 4px 0 rgba(0, 0, 0, 0.16)',\n borderRadius: '5px',\n width: '697px',\n height: '349px',\n marginRight: '31px',\n transition: 'transform 250ms ease, box-shadow 250ms ease'\n}))\n\nconst CardInfo = styled(Box)({\n width: '335px'\n})\n\nconst TitleLink = styled(Link)(({ theme }) => ({\n textDecoration: 'none',\n display: 'block',\n color: theme.palette.text.primary,\n '& h2, & h3': {\n fontSize: '34px',\n lineHeight: '42px',\n color: theme.palette.text.primary,\n fontWeight: 500\n },\n '&:visited, &:link, &:active': {\n color: theme.palette.text.primary\n },\n '& *': {\n color: theme.palette.text.primary\n }\n}))\n\nconst Description = styled('p')(({ theme }) => ({\n display: 'block',\n fontSize: '17px',\n lineHeight: '26px',\n letterSpacing: '-0.4px',\n margin: 0,\n paddingTop: '8px',\n fontWeight: 400,\n color: theme.palette.text.primary\n}))\n\nconst LoadingHeader = styled(Box)(() => ({\n display: 'flex',\n justifyContent: 'space-between'\n}))\n\nconst LoadingImage = styled(Skeleton)(() => ({\n width: '697px',\n height: '348px'\n}))\n\nconst LoadingTitleLine = styled(Skeleton)(() => ({\n width: '100%',\n height: '40px'\n}))\n\nconst LoadingTitleLineShort = styled(Skeleton)(() => ({\n width: '90%',\n height: '40px'\n}))\n\nconst LoadingMetaSkeleton = styled(Skeleton)(() => ({\n width: '100px'\n}))\n\nconst LoadingTextSkeleton = styled(Skeleton)(() => ({\n width: '100%'\n}))\n\nconst LoadingTextSkeletonShort = styled(Skeleton)(() => ({\n width: '80%'\n}))\n\nconst LoadingContentBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2)\n}))\n\nexport {\n CardContainer,\n CardImage,\n CardImageLink,\n CardInfo,\n CategoryLink,\n DateText,\n Description,\n LoadingContentBox,\n LoadingHeader,\n LoadingImage,\n LoadingMetaSkeleton,\n LoadingTextSkeleton,\n LoadingTextSkeletonShort,\n LoadingTitleLine,\n LoadingTitleLineShort,\n MetaBox,\n TitleLink\n}\n","import { Typography } from 'decentraland-ui2'\nimport type { MainPostCardProps } from './MainPostCard.types'\nimport {\n CardContainer,\n CardImage,\n CardImageLink,\n CardInfo,\n CategoryLink,\n DateText,\n Description,\n LoadingContentBox,\n LoadingHeader,\n LoadingImage,\n LoadingMetaSkeleton,\n LoadingTextSkeleton,\n LoadingTextSkeletonShort,\n LoadingTitleLine,\n LoadingTitleLineShort,\n MetaBox,\n TitleLink\n} from './MainPostCard.styled'\n\nconst MainPostCard = (props: MainPostCardProps) => {\n const { post, loading } = props\n\n if (loading) {\n return (\n <CardContainer>\n <LoadingImage variant=\"rectangular\" />\n <CardInfo>\n <LoadingHeader>\n <LoadingMetaSkeleton variant=\"text\" />\n <LoadingMetaSkeleton variant=\"text\" />\n </LoadingHeader>\n <LoadingTitleLine variant=\"text\" />\n <LoadingTitleLineShort variant=\"text\" />\n <LoadingContentBox>\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeletonShort variant=\"text\" />\n </LoadingContentBox>\n </CardInfo>\n </CardContainer>\n )\n }\n\n if (!post) return null\n\n return (\n <CardContainer>\n <CardImageLink to={post.url}>\n <CardImage src={post.image.url} alt={post.title} width={697} height={349} fetchPriority=\"high\" decoding=\"async\" />\n </CardImageLink>\n <CardInfo>\n <MetaBox>\n <DateText>{post.publishedDate}</DateText>\n <span>\n <CategoryLink to={post.category.url}>{post.category.title}</CategoryLink>\n </span>\n </MetaBox>\n <TitleLink to={post.url}>\n <Typography variant=\"h3\" component=\"h2\">\n {post.title}\n </Typography>\n </TitleLink>\n <Description>{post.description}</Description>\n </CardInfo>\n </CardContainer>\n )\n}\n\nexport { MainPostCard }\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, styled } from 'decentraland-ui2'\n\nconst PostListWrapper = styled(Box, { shouldForwardProp: prop => prop !== 'hasMainPost' })<{ hasMainPost: boolean }>(\n ({ theme, hasMainPost }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n paddingBottom: theme.spacing(2.5),\n '& > div:nth-of-type(3n)': {\n marginRight: theme.spacing(4)\n },\n ...(hasMainPost && {\n '& > div:nth-of-type(3n + 1)': {\n marginRight: 0\n }\n }),\n ...(!hasMainPost && {\n '& > div:nth-of-type(3n + 3)': {\n marginRight: 0\n }\n }),\n '@media (max-width: 1096px)': {\n justifyContent: 'space-between',\n '& > div, & > div:nth-of-type(3n)': {\n marginRight: 0\n }\n }\n })\n)\n\nexport { PostListWrapper }\n","import { memo } from 'react'\nimport { useMediaQuery } from 'decentraland-ui2'\nimport type { BlogPost } from '../../../shared/blog/types/blog.domain'\nimport { MainPostCard } from '../MainPostCard'\nimport { PostCard } from '../PostCard'\nimport type { PostListProps } from './PostList.types'\nimport { PostListWrapper } from './PostList.styled'\n\n// Type guard to check if a post is a placeholder\nconst isPlaceholder = (post: { id: string; isPlaceholder?: boolean }): post is { id: string; isPlaceholder: true } => {\n return 'isPlaceholder' in post && post.isPlaceholder === true\n}\n\nconst PostList = memo((props: PostListProps) => {\n const { posts, loading, hasMainPost = false } = props\n const isBigScreen = useMediaQuery('(min-width: 1096px)')\n\n // Initial loading with no posts at all\n if (loading && posts.length === 0) {\n const count = hasMainPost ? 7 : 6\n\n return (\n <PostListWrapper hasMainPost={hasMainPost}>\n {hasMainPost && <MainPostCard loading />}\n {Array.from(Array(count), (_, index) => {\n if (hasMainPost && index === 0) {\n return null // MainPostCard already rendered\n }\n return <PostCard key={`skeleton-${index}`} loading />\n })}\n </PostListWrapper>\n )\n }\n\n if (!posts || posts.length === 0) {\n return null\n }\n\n // Get first real post for MainPostCard (if applicable)\n const firstRealPost = posts.find(p => !isPlaceholder(p)) as BlogPost | undefined\n\n return (\n <PostListWrapper hasMainPost={hasMainPost}>\n {hasMainPost && isBigScreen && firstRealPost && <MainPostCard post={firstRealPost} />}\n {posts.map(post => {\n // Skip the first real post if we're showing it as MainPostCard\n if (hasMainPost && isBigScreen && !isPlaceholder(post) && post === firstRealPost) {\n return null\n }\n\n // Render placeholder as loading skeleton\n if (isPlaceholder(post)) {\n return <PostCard key={post.id} loading />\n }\n\n return <PostCard key={post.id} post={post} />\n })}\n </PostListWrapper>\n )\n})\n\nexport { PostList }\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useInfiniteScroll } from '@dcl/hooks'\nimport type { PostOrPlaceholder } from '../../shared/blog/types/blog.domain'\nimport { useGetBlogPostsQuery } from './blog.client'\n\nconst POSTS_INITIAL_LOAD = 7\nconst POSTS_PER_LOAD = 6\n\ninterface UseInfiniteBlogPostsParams {\n category?: string\n author?: string\n}\n\ninterface UseInfiniteBlogPostsResult {\n posts: PostOrPlaceholder[]\n isLoading: boolean\n isLoadingInitial: boolean\n isFetching: boolean\n hasMore: boolean\n error: unknown\n}\n\n// Helper to create placeholder posts\nconst createPlaceholders = (count: number, batchId: number): PostOrPlaceholder[] => {\n return Array.from({ length: count }, (_, i) => ({\n id: `placeholder-${batchId}-${i}`,\n isPlaceholder: true as const\n }))\n}\n\nfunction useInfiniteBlogPosts({ category, author }: UseInfiniteBlogPostsParams = {}): UseInfiniteBlogPostsResult {\n const [currentSkip, setCurrentSkip] = useState(0)\n const [showPlaceholders, setShowPlaceholders] = useState(false)\n const batchIdRef = useRef(0)\n\n // Use RTK Query with pagination - cache handles accumulation via merge\n // Backend handles category/author filtering, so we request real page sizes\n const { data, isLoading, error, isFetching } = useGetBlogPostsQuery({\n category,\n author,\n limit: currentSkip === 0 ? POSTS_INITIAL_LOAD : POSTS_PER_LOAD,\n skip: currentSkip\n })\n\n // Build display posts: cached posts + placeholders when loading more\n const displayPosts = useMemo<PostOrPlaceholder[]>(() => {\n const posts = data?.posts ?? []\n if (showPlaceholders && isFetching) {\n return [...posts, ...createPlaceholders(POSTS_PER_LOAD, batchIdRef.current)]\n }\n return posts\n }, [data?.posts, showPlaceholders, isFetching])\n\n const hasMore = data?.hasMore ?? true\n const isLoadingInitial = isLoading && currentSkip === 0\n\n // Reset skip when filters change\n useEffect(() => {\n setCurrentSkip(0)\n setShowPlaceholders(false)\n batchIdRef.current = 0\n }, [category, author])\n\n // Show placeholders when fetching more (not initial)\n useEffect(() => {\n if (isFetching && currentSkip > 0) {\n batchIdRef.current += 1\n setShowPlaceholders(true)\n } else if (!isFetching) {\n setShowPlaceholders(false)\n }\n }, [isFetching, currentSkip])\n\n // Load more function - use nextCmsSkip to properly paginate\n const loadMore = useCallback(() => {\n if (isFetching || !hasMore || !data) {\n return\n }\n // Use the CMS-level skip for proper pagination\n setCurrentSkip(data.nextCmsSkip)\n }, [isFetching, hasMore, data])\n\n // Use @dcl/hooks infinite scroll\n useInfiniteScroll({\n onLoadMore: loadMore,\n hasMore,\n isLoading: isFetching\n })\n\n return {\n posts: displayPosts,\n isLoading,\n isLoadingInitial,\n isFetching,\n hasMore,\n error\n }\n}\n\nexport { useInfiniteBlogPosts, type UseInfiniteBlogPostsParams, type UseInfiniteBlogPostsResult }\n"],"names":["useInfiniteScroll","onLoadMore","hasMore","isLoading","threshold","debounceMs","onLoadMoreRef","useRef","lastTriggerRef","useEffect","handleScroll","now","scrollHeight","scrollTop","clientHeight","timeoutId","CardContainer","styled","Box","CardImage","CardInfo","TitleLink","Link","theme","Description","LoadingHeader","LoadingImage","Skeleton","LoadingTitleLine","LoadingTitleLineShort","LoadingMetaSkeleton","LoadingTextSkeleton","LoadingTextSkeletonShort","LoadingContentBox","MainPostCard","props","post","loading","jsx","jsxs","CardImageLink","MetaBox","DateText","CategoryLink","Typography","PostListWrapper","prop","hasMainPost","isPlaceholder","PostList","memo","posts","isBigScreen","useMediaQuery","count","_","index","PostCard","firstRealPost","p","POSTS_INITIAL_LOAD","POSTS_PER_LOAD","createPlaceholders","batchId","i","useInfiniteBlogPosts","category","author","currentSkip","setCurrentSkip","useState","showPlaceholders","setShowPlaceholders","batchIdRef","data","error","isFetching","useGetBlogPostsQuery","displayPosts","useMemo","isLoadingInitial","loadMore","useCallback"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"useInfiniteBlogPosts-b1i6T88U.js","sources":["../../node_modules/@dcl/hooks/esm/hooks/useInfiniteScroll.js","../../src/components/blog/MainPostCard/MainPostCard.styled.ts","../../src/components/blog/MainPostCard/MainPostCard.tsx","../../src/components/blog/PostList/PostList.styled.ts","../../src/components/blog/PostList/PostList.tsx","../../src/features/blog/useInfiniteBlogPosts.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n/**\n * Hook to implement infinite scroll functionality\n * Triggers onLoadMore callback when user scrolls near the bottom of the page\n * @param options - Configuration options for infinite scroll\n * @param options.onLoadMore - Callback to trigger when user scrolls near the end\n * @param options.hasMore - Whether more data is available to load\n * @param options.isLoading - Whether data is currently loading\n * @param options.threshold - Distance from bottom (in pixels) to trigger load. Default: 500\n * @param options.debounceMs - Minimum time (in milliseconds) between triggers to prevent multiple calls. Default: 500\n */\nconst useInfiniteScroll = ({ onLoadMore, hasMore, isLoading, threshold = 500, debounceMs = 500, }) => {\n const onLoadMoreRef = useRef(onLoadMore);\n const lastTriggerRef = useRef(0);\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore;\n }, [onLoadMore]);\n useEffect(() => {\n const handleScroll = () => {\n const now = Date.now();\n if (now - lastTriggerRef.current < debounceMs) {\n return;\n }\n const scrollHeight = document.documentElement.scrollHeight;\n const scrollTop = document.documentElement.scrollTop;\n const clientHeight = document.documentElement.clientHeight;\n const distanceFromBottom = scrollHeight - (scrollTop + clientHeight);\n if (distanceFromBottom < threshold && hasMore && !isLoading) {\n lastTriggerRef.current = now;\n onLoadMoreRef.current();\n }\n };\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n const timeoutId = setTimeout(handleScroll, 500);\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n clearTimeout(timeoutId);\n };\n }, [hasMore, isLoading, threshold, debounceMs]);\n};\nexport { useInfiniteScroll };\n//# sourceMappingURL=useInfiniteScroll.js.map","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Link } from 'react-router-dom'\nimport { Box, Skeleton, styled } from 'decentraland-ui2'\nimport { CardImageLink, CategoryLink, DateText, MetaBox } from '../shared/PostCard.styled'\n\nconst CardContainer = styled(Box)(() => ({\n width: '100%',\n margin: '0 40px 40px 0',\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n '@media (max-width: 1096px)': {\n display: 'none'\n }\n}))\n\nconst CardImage = styled('img')(() => ({\n objectFit: 'cover',\n boxShadow: '0 2px 4px 0 rgba(0, 0, 0, 0.16)',\n borderRadius: '5px',\n width: '697px',\n height: '349px',\n marginRight: '31px',\n transition: 'transform 250ms ease, box-shadow 250ms ease'\n}))\n\nconst CardInfo = styled(Box)({\n width: '335px'\n})\n\nconst TitleLink = styled(Link)(({ theme }) => ({\n textDecoration: 'none',\n display: 'block',\n color: theme.palette.text.primary,\n '& h2, & h3': {\n fontSize: '34px',\n lineHeight: '42px',\n color: theme.palette.text.primary,\n fontWeight: 500\n },\n '&:visited, &:link, &:active': {\n color: theme.palette.text.primary\n },\n '& *': {\n color: theme.palette.text.primary\n }\n}))\n\nconst Description = styled('p')(({ theme }) => ({\n display: 'block',\n fontSize: '17px',\n lineHeight: '26px',\n letterSpacing: '-0.4px',\n margin: 0,\n paddingTop: '8px',\n fontWeight: 400,\n color: theme.palette.text.primary\n}))\n\nconst LoadingHeader = styled(Box)(() => ({\n display: 'flex',\n justifyContent: 'space-between'\n}))\n\nconst LoadingImage = styled(Skeleton)(() => ({\n width: '697px',\n height: '348px'\n}))\n\nconst LoadingTitleLine = styled(Skeleton)(() => ({\n width: '100%',\n height: '40px'\n}))\n\nconst LoadingTitleLineShort = styled(Skeleton)(() => ({\n width: '90%',\n height: '40px'\n}))\n\nconst LoadingMetaSkeleton = styled(Skeleton)(() => ({\n width: '100px'\n}))\n\nconst LoadingTextSkeleton = styled(Skeleton)(() => ({\n width: '100%'\n}))\n\nconst LoadingTextSkeletonShort = styled(Skeleton)(() => ({\n width: '80%'\n}))\n\nconst LoadingContentBox = styled(Box)(({ theme }) => ({\n marginTop: theme.spacing(2)\n}))\n\nexport {\n CardContainer,\n CardImage,\n CardImageLink,\n CardInfo,\n CategoryLink,\n DateText,\n Description,\n LoadingContentBox,\n LoadingHeader,\n LoadingImage,\n LoadingMetaSkeleton,\n LoadingTextSkeleton,\n LoadingTextSkeletonShort,\n LoadingTitleLine,\n LoadingTitleLineShort,\n MetaBox,\n TitleLink\n}\n","import { Typography } from 'decentraland-ui2'\nimport type { MainPostCardProps } from './MainPostCard.types'\nimport {\n CardContainer,\n CardImage,\n CardImageLink,\n CardInfo,\n CategoryLink,\n DateText,\n Description,\n LoadingContentBox,\n LoadingHeader,\n LoadingImage,\n LoadingMetaSkeleton,\n LoadingTextSkeleton,\n LoadingTextSkeletonShort,\n LoadingTitleLine,\n LoadingTitleLineShort,\n MetaBox,\n TitleLink\n} from './MainPostCard.styled'\n\nconst MainPostCard = (props: MainPostCardProps) => {\n const { post, loading } = props\n\n if (loading) {\n return (\n <CardContainer>\n <LoadingImage variant=\"rectangular\" />\n <CardInfo>\n <LoadingHeader>\n <LoadingMetaSkeleton variant=\"text\" />\n <LoadingMetaSkeleton variant=\"text\" />\n </LoadingHeader>\n <LoadingTitleLine variant=\"text\" />\n <LoadingTitleLineShort variant=\"text\" />\n <LoadingContentBox>\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeleton variant=\"text\" />\n <LoadingTextSkeletonShort variant=\"text\" />\n </LoadingContentBox>\n </CardInfo>\n </CardContainer>\n )\n }\n\n if (!post) return null\n\n return (\n <CardContainer>\n <CardImageLink to={post.url}>\n <CardImage src={post.image.url} alt={post.title} width={697} height={349} fetchPriority=\"high\" decoding=\"async\" />\n </CardImageLink>\n <CardInfo>\n <MetaBox>\n <DateText>{post.publishedDate}</DateText>\n <span>\n <CategoryLink to={post.category.url}>{post.category.title}</CategoryLink>\n </span>\n </MetaBox>\n <TitleLink to={post.url}>\n <Typography variant=\"h3\" component=\"h2\">\n {post.title}\n </Typography>\n </TitleLink>\n <Description>{post.description}</Description>\n </CardInfo>\n </CardContainer>\n )\n}\n\nexport { MainPostCard }\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, styled } from 'decentraland-ui2'\n\nconst PostListWrapper = styled(Box, { shouldForwardProp: prop => prop !== 'hasMainPost' })<{ hasMainPost: boolean }>(\n ({ theme, hasMainPost }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n paddingBottom: theme.spacing(2.5),\n '& > div:nth-of-type(3n)': {\n marginRight: theme.spacing(4)\n },\n ...(hasMainPost && {\n '& > div:nth-of-type(3n + 1)': {\n marginRight: 0\n }\n }),\n ...(!hasMainPost && {\n '& > div:nth-of-type(3n + 3)': {\n marginRight: 0\n }\n }),\n '@media (max-width: 1096px)': {\n justifyContent: 'space-between',\n '& > div, & > div:nth-of-type(3n)': {\n marginRight: 0\n }\n }\n })\n)\n\nexport { PostListWrapper }\n","import { memo } from 'react'\nimport { useMediaQuery } from 'decentraland-ui2'\nimport type { BlogPost } from '../../../shared/blog/types/blog.domain'\nimport { MainPostCard } from '../MainPostCard'\nimport { PostCard } from '../PostCard'\nimport type { PostListProps } from './PostList.types'\nimport { PostListWrapper } from './PostList.styled'\n\n// Type guard to check if a post is a placeholder\nconst isPlaceholder = (post: { id: string; isPlaceholder?: boolean }): post is { id: string; isPlaceholder: true } => {\n return 'isPlaceholder' in post && post.isPlaceholder === true\n}\n\nconst PostList = memo((props: PostListProps) => {\n const { posts, loading, hasMainPost = false } = props\n const isBigScreen = useMediaQuery('(min-width: 1096px)')\n\n // Initial loading with no posts at all\n if (loading && posts.length === 0) {\n const count = hasMainPost ? 7 : 6\n\n return (\n <PostListWrapper hasMainPost={hasMainPost}>\n {hasMainPost && <MainPostCard loading />}\n {Array.from(Array(count), (_, index) => {\n if (hasMainPost && index === 0) {\n return null // MainPostCard already rendered\n }\n return <PostCard key={`skeleton-${index}`} loading />\n })}\n </PostListWrapper>\n )\n }\n\n if (!posts || posts.length === 0) {\n return null\n }\n\n // Get first real post for MainPostCard (if applicable)\n const firstRealPost = posts.find(p => !isPlaceholder(p)) as BlogPost | undefined\n\n return (\n <PostListWrapper hasMainPost={hasMainPost}>\n {hasMainPost && isBigScreen && firstRealPost && <MainPostCard post={firstRealPost} />}\n {posts.map(post => {\n // Skip the first real post if we're showing it as MainPostCard\n if (hasMainPost && isBigScreen && !isPlaceholder(post) && post === firstRealPost) {\n return null\n }\n\n // Render placeholder as loading skeleton\n if (isPlaceholder(post)) {\n return <PostCard key={post.id} loading />\n }\n\n return <PostCard key={post.id} post={post} />\n })}\n </PostListWrapper>\n )\n})\n\nexport { PostList }\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useInfiniteScroll } from '@dcl/hooks'\nimport type { PostOrPlaceholder } from '../../shared/blog/types/blog.domain'\nimport { useGetBlogPostsQuery } from './blog.client'\n\nconst POSTS_INITIAL_LOAD = 7\nconst POSTS_PER_LOAD = 6\n\ninterface UseInfiniteBlogPostsParams {\n category?: string\n author?: string\n}\n\ninterface UseInfiniteBlogPostsResult {\n posts: PostOrPlaceholder[]\n isLoading: boolean\n isLoadingInitial: boolean\n isFetching: boolean\n hasMore: boolean\n error: unknown\n}\n\n// Helper to create placeholder posts\nconst createPlaceholders = (count: number, batchId: number): PostOrPlaceholder[] => {\n return Array.from({ length: count }, (_, i) => ({\n id: `placeholder-${batchId}-${i}`,\n isPlaceholder: true as const\n }))\n}\n\nfunction useInfiniteBlogPosts({ category, author }: UseInfiniteBlogPostsParams = {}): UseInfiniteBlogPostsResult {\n const [currentSkip, setCurrentSkip] = useState(0)\n const [showPlaceholders, setShowPlaceholders] = useState(false)\n const batchIdRef = useRef(0)\n\n // Use RTK Query with pagination - cache handles accumulation via merge\n // Backend handles category/author filtering, so we request real page sizes\n const { data, isLoading, error, isFetching } = useGetBlogPostsQuery({\n category,\n author,\n limit: currentSkip === 0 ? POSTS_INITIAL_LOAD : POSTS_PER_LOAD,\n skip: currentSkip\n })\n\n // Build display posts: cached posts + placeholders when loading more\n const displayPosts = useMemo<PostOrPlaceholder[]>(() => {\n const posts = data?.posts ?? []\n if (showPlaceholders && isFetching) {\n return [...posts, ...createPlaceholders(POSTS_PER_LOAD, batchIdRef.current)]\n }\n return posts\n }, [data?.posts, showPlaceholders, isFetching])\n\n const hasMore = data?.hasMore ?? true\n const isLoadingInitial = isLoading && currentSkip === 0\n\n // Reset skip when filters change\n useEffect(() => {\n setCurrentSkip(0)\n setShowPlaceholders(false)\n batchIdRef.current = 0\n }, [category, author])\n\n // Show placeholders when fetching more (not initial)\n useEffect(() => {\n if (isFetching && currentSkip > 0) {\n batchIdRef.current += 1\n setShowPlaceholders(true)\n } else if (!isFetching) {\n setShowPlaceholders(false)\n }\n }, [isFetching, currentSkip])\n\n // Load more function - use nextCmsSkip to properly paginate\n const loadMore = useCallback(() => {\n if (isFetching || !hasMore || !data) {\n return\n }\n // Use the CMS-level skip for proper pagination\n setCurrentSkip(data.nextCmsSkip)\n }, [isFetching, hasMore, data])\n\n // Use @dcl/hooks infinite scroll\n useInfiniteScroll({\n onLoadMore: loadMore,\n hasMore,\n isLoading: isFetching\n })\n\n return {\n posts: displayPosts,\n isLoading,\n isLoadingInitial,\n isFetching,\n hasMore,\n error\n }\n}\n\nexport { useInfiniteBlogPosts, type UseInfiniteBlogPostsParams, type UseInfiniteBlogPostsResult }\n"],"names":["useInfiniteScroll","onLoadMore","hasMore","isLoading","threshold","debounceMs","onLoadMoreRef","useRef","lastTriggerRef","useEffect","handleScroll","now","scrollHeight","scrollTop","clientHeight","timeoutId","CardContainer","styled","Box","CardImage","CardInfo","TitleLink","Link","theme","Description","LoadingHeader","LoadingImage","Skeleton","LoadingTitleLine","LoadingTitleLineShort","LoadingMetaSkeleton","LoadingTextSkeleton","LoadingTextSkeletonShort","LoadingContentBox","MainPostCard","props","post","loading","jsx","jsxs","CardImageLink","MetaBox","DateText","CategoryLink","Typography","PostListWrapper","prop","hasMainPost","isPlaceholder","PostList","memo","posts","isBigScreen","useMediaQuery","count","_","index","PostCard","firstRealPost","p","POSTS_INITIAL_LOAD","POSTS_PER_LOAD","createPlaceholders","batchId","i","useInfiniteBlogPosts","category","author","currentSkip","setCurrentSkip","useState","showPlaceholders","setShowPlaceholders","batchIdRef","data","error","isFetching","useGetBlogPostsQuery","displayPosts","useMemo","isLoadingInitial","loadMore","useCallback"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as s,b as h,m as v,c as n,e as j,f as k}from"./index-
|
|
1
|
+
import{_ as s,b as h,m as v,c as n,e as j,f as k}from"./index-BQ4lI5xX.js";const E=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],L=["component","slots","slotProps"],N=["component"];function W(e,o){const{className:x,elementType:_,ownerState:l,externalForwardedProps:p,getSlotOwnerState:d,internalForwardedProps:a}=o,F=s(o,E),{component:c,slots:t={[e]:void 0},slotProps:O={[e]:void 0}}=p,g=s(p,L),P=t[e]||_,r=h(O[e],l),i=v(n({className:x},F,{externalForwardedProps:e==="root"?g:void 0,externalSlotProps:r})),{props:{component:f},internalRef:y}=i,u=s(i.props,N),C=j(y,r?.ref,o.ref),S=d?d(u):{},T=n({},l,S),w=e==="root"?f||c:f,m=k(P,n({},e==="root"&&!c&&!t[e]&&a,e!=="root"&&!t[e]&&a,u,w&&{as:w},{ref:C}),T);return Object.keys(S).forEach(b=>{delete m[b]}),[P,m]}export{W as u};
|