@powerhousedao/connect 3.3.0-dev.3 → 3.3.0-dev.5
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/dist/assets/{AddDriveModal.BWLDv9-A.js → AddDriveModal.8O_YoVfP.js} +2 -2
- package/dist/assets/{AddDriveModal.BWLDv9-A.js.map → AddDriveModal.8O_YoVfP.js.map} +1 -1
- package/dist/assets/{AddLocalDriveModal.BJL0ePdk.js → AddLocalDriveModal.BAkHn56-.js} +2 -2
- package/dist/assets/{AddLocalDriveModal.BJL0ePdk.js.map → AddLocalDriveModal.BAkHn56-.js.map} +1 -1
- package/dist/assets/{AddRemoteDriveModal.DLdo_wgd.js → AddRemoteDriveModal.BeBjr_Gc.js} +2 -2
- package/dist/assets/{AddRemoteDriveModal.DLdo_wgd.js.map → AddRemoteDriveModal.BeBjr_Gc.js.map} +1 -1
- package/dist/assets/{ConfirmationModal.BVWHyq8I.js → ConfirmationModal.C1UZuSFY.js} +2 -2
- package/dist/assets/{ConfirmationModal.BVWHyq8I.js.map → ConfirmationModal.C1UZuSFY.js.map} +1 -1
- package/dist/assets/{CookiesPolicyModal.DTMmXTXa.js → CookiesPolicyModal.B-ZxNrOu.js} +2 -2
- package/dist/assets/{CookiesPolicyModal.DTMmXTXa.js.map → CookiesPolicyModal.B-ZxNrOu.js.map} +1 -1
- package/dist/assets/{CreateDocumentModal.CKf9_npU.js → CreateDocumentModal.D03XttbJ.js} +2 -2
- package/dist/assets/{CreateDocumentModal.CKf9_npU.js.map → CreateDocumentModal.D03XttbJ.js.map} +1 -1
- package/dist/assets/{DebugSettingsModal.DXakhKUJ.js → DebugSettingsModal.B3EmFTjS.js} +2 -2
- package/dist/assets/{DebugSettingsModal.DXakhKUJ.js.map → DebugSettingsModal.B3EmFTjS.js.map} +1 -1
- package/dist/assets/{DeleteDriveModal.Bbpouoff.js → DeleteDriveModal.D8Ch4AyV.js} +2 -2
- package/dist/assets/{DeleteDriveModal.Bbpouoff.js.map → DeleteDriveModal.D8Ch4AyV.js.map} +1 -1
- package/dist/assets/{DeleteItemModal.De0DPxV8.js → DeleteItemModal.DqemXyAD.js} +2 -2
- package/dist/assets/{DeleteItemModal.De0DPxV8.js.map → DeleteItemModal.DqemXyAD.js.map} +1 -1
- package/dist/assets/{DisclaimerModal.BiQFbwZ6.js → DisclaimerModal.Cz1xkiPi.js} +2 -2
- package/dist/assets/{DisclaimerModal.BiQFbwZ6.js.map → DisclaimerModal.Cz1xkiPi.js.map} +1 -1
- package/dist/assets/{DriveSettingsModal.DF2Lz9YO.js → DriveSettingsModal.BS8aHEgW.js} +2 -2
- package/dist/assets/{DriveSettingsModal.DF2Lz9YO.js.map → DriveSettingsModal.BS8aHEgW.js.map} +1 -1
- package/dist/assets/{SettingsModal.0rI7lRqF.js → SettingsModal.BShwuWMu.js} +2 -2
- package/dist/assets/{SettingsModal.0rI7lRqF.js.map → SettingsModal.BShwuWMu.js.map} +1 -1
- package/dist/assets/{Trans.9WMVTRYl.js → Trans.LIVu639i.js} +2 -2
- package/dist/assets/{Trans.9WMVTRYl.js.map → Trans.LIVu639i.js.map} +1 -1
- package/dist/assets/{UpgradeDriveModal.Dglc4A67.js → UpgradeDriveModal.CNx8GF4J.js} +2 -2
- package/dist/assets/{UpgradeDriveModal.Dglc4A67.js.map → UpgradeDriveModal.CNx8GF4J.js.map} +1 -1
- package/dist/assets/app-skeleton.js +1 -1
- package/dist/assets/{app.Brcw_g_p.js → app.CTsJJoBZ.js} +5 -5
- package/dist/assets/app.CTsJJoBZ.js.map +1 -0
- package/dist/assets/{atlas-import.CjA9uDEt.js → atlas-import.CLaCnlbK.js} +2 -2
- package/dist/assets/{atlas-import.CjA9uDEt.js.map → atlas-import.CLaCnlbK.js.map} +1 -1
- package/dist/assets/{connect.config._A2guXhv.js → connect.config.QPxkaHWU.js} +2 -2
- package/dist/assets/{connect.config._A2guXhv.js.map → connect.config.QPxkaHWU.js.map} +1 -1
- package/dist/assets/{content.mtsZfVv6.js → content.BB8Vj1Mk.js} +3 -3
- package/dist/assets/{content.mtsZfVv6.js.map → content.BB8Vj1Mk.js.map} +1 -1
- package/dist/assets/{cookie-banner.7WqE8VdG.js → cookie-banner.B4LAsOjf.js} +2 -2
- package/dist/assets/{cookie-banner.7WqE8VdG.js.map → cookie-banner.B4LAsOjf.js.map} +1 -1
- package/dist/assets/{home.CHwcgR2d.js → home.B-eOkfL9.js} +2 -2
- package/dist/assets/{home.CHwcgR2d.js.map → home.B-eOkfL9.js.map} +1 -1
- package/dist/assets/{index.UWl3P2EU.js → index.BHO_3xz1.js} +2 -2
- package/dist/assets/{index.UWl3P2EU.js.map → index.BHO_3xz1.js.map} +1 -1
- package/dist/assets/{index.BGemDCBc.js → index.BcBVmRI8.js} +3 -3
- package/dist/assets/{index.BGemDCBc.js.map → index.BcBVmRI8.js.map} +1 -1
- package/dist/assets/{index.BvX7i3ya.js → index.CXsbRPj_.js} +2 -2
- package/dist/assets/{index.BvX7i3ya.js.map → index.CXsbRPj_.js.map} +1 -1
- package/dist/assets/{index.Dwexo_zk.js → index.DD-XJyzV.js} +3 -3
- package/dist/assets/{index.Dwexo_zk.js.map → index.DD-XJyzV.js.map} +1 -1
- package/dist/assets/{index.DWdwQnZG.js → index.DVyS-CEH.js} +2 -2
- package/dist/assets/{index.DWdwQnZG.js.map → index.DVyS-CEH.js.map} +1 -1
- package/dist/assets/{index.Q6GFaI_V.js → index.Dox9k2m2.js} +2 -2
- package/dist/assets/{index.Q6GFaI_V.js.map → index.Dox9k2m2.js.map} +1 -1
- package/dist/assets/{index.C_GzfUCS.js → index.IOLzgUZt.js} +2 -2
- package/dist/assets/{index.C_GzfUCS.js.map → index.IOLzgUZt.js.map} +1 -1
- package/dist/assets/{index.DE5r83gK.js → index.Zdmh9O8T.js} +2 -2
- package/dist/assets/{index.DE5r83gK.js.map → index.Zdmh9O8T.js.map} +1 -1
- package/dist/assets/{main.DaM0PlWx.js → main.Cd2dhgIr.js} +3 -3
- package/dist/assets/{main.DaM0PlWx.js.map → main.Cd2dhgIr.js.map} +1 -1
- package/dist/assets/{modal.BFkV0xND.js → modal.BvtSJIvz.js} +3 -3
- package/dist/assets/{modal.BFkV0xND.js.map → modal.BvtSJIvz.js.map} +1 -1
- package/dist/assets/{modals.B3lvHv29.js → modals.Di_yfGYo.js} +2 -2
- package/dist/assets/{modals.B3lvHv29.js.map → modals.Di_yfGYo.js.map} +1 -1
- package/dist/assets/{nodefs.DfCwvm03.js → nodefs.Dt53RQvO.js} +2 -2
- package/dist/assets/{nodefs.DfCwvm03.js.map → nodefs.Dt53RQvO.js.map} +1 -1
- package/dist/assets/{opfs-ahp.DhpsuWfZ.js → opfs-ahp.CO8kl4hl.js} +2 -2
- package/dist/assets/{opfs-ahp.DhpsuWfZ.js.map → opfs-ahp.CO8kl4hl.js.map} +1 -1
- package/dist/assets/{react-error-boundary.esm.BdKfLyaR.js → react-error-boundary.esm.DHp-mKwc.js} +2 -2
- package/dist/assets/{react-error-boundary.esm.BdKfLyaR.js.map → react-error-boundary.esm.DHp-mKwc.js.map} +1 -1
- package/dist/assets/{registerServiceWorker.w3jaNxQm.js → registerServiceWorker.D6gJtVm6.js} +2 -2
- package/dist/assets/{registerServiceWorker.w3jaNxQm.js.map → registerServiceWorker.D6gJtVm6.js.map} +1 -1
- package/dist/assets/{root.C9pGPT_U.js → root.B0MB5MLe.js} +2 -2
- package/dist/assets/{root.C9pGPT_U.js.map → root.B0MB5MLe.js.map} +1 -1
- package/dist/assets/{toast.CJBPfWGX.js → toast.BwLkWP-U.js} +2 -2
- package/dist/assets/{toast.CJBPfWGX.js.map → toast.BwLkWP-U.js.map} +1 -1
- package/dist/assets/{useAcceptedCookies.B2E2vhVo.js → useAcceptedCookies.Buwp7LOR.js} +2 -2
- package/dist/assets/{useAcceptedCookies.B2E2vhVo.js.map → useAcceptedCookies.Buwp7LOR.js.map} +1 -1
- package/dist/assets/useConnectConfig.6WMomTcV.js +2 -0
- package/dist/assets/{useConnectConfig.CwkmyF48.js.map → useConnectConfig.6WMomTcV.js.map} +1 -1
- package/dist/assets/useDefaultDocumentModelEditor.DdcMIW4a.js +2 -0
- package/dist/assets/{useDefaultDocumentModelEditor.DcbpTZSv.js.map → useDefaultDocumentModelEditor.DdcMIW4a.js.map} +1 -1
- package/dist/assets/{useDocumentDriveServer.ArDMFxnb.js → useDocumentDriveServer.KfZLuxGa.js} +2 -2
- package/dist/assets/{useDocumentDriveServer.ArDMFxnb.js.map → useDocumentDriveServer.KfZLuxGa.js.map} +1 -1
- package/dist/assets/{useFeatureFlags.BTVpX3W5.js → useFeatureFlags.BsV79IJF.js} +2 -2
- package/dist/assets/{useFeatureFlags.BTVpX3W5.js.map → useFeatureFlags.BsV79IJF.js.map} +1 -1
- package/dist/assets/{user.DBQJIPxu.js → user.Bc_RsKKN.js} +4 -4
- package/dist/assets/{user.DBQJIPxu.js.map → user.Bc_RsKKN.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/vite-envs.sh +1 -1
- package/package.json +9 -9
- package/dist/assets/app.Brcw_g_p.js.map +0 -1
- package/dist/assets/useConnectConfig.CwkmyF48.js +0 -2
- package/dist/assets/useDefaultDocumentModelEditor.DcbpTZSv.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-error-boundary.esm.BdKfLyaR.js","sources":["../../../../packages/reactor-browser/dist/src/utils/switchboard.js","../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js"],"sourcesContent":["import { kebabCase } from \"change-case\";\nimport { generateDocumentStateQueryFields } from \"document-drive/utils/graphql\";\nimport { compressToEncodedURIComponent } from \"lz-string\";\nexport async function getDriveIdBySlug(driveUrl, slug) {\n if (!driveUrl) {\n return;\n }\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"drives\"); // add /drives\n const drivesUrl = urlParts.join(\"/\");\n const result = await fetch(drivesUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n query: `\n query getDriveIdBySlug($slug: String!) {\n driveIdBySlug(slug: $slug)\n }\n `,\n variables: {\n slug,\n },\n }),\n });\n const data = (await result.json());\n return data.data.driveIdBySlug;\n}\nexport function getSlugFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n return urlParts.pop();\n}\nexport function getSwitchboardGatewayUrlFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"graphql\"); // add /graphql\n return urlParts.join(\"/\");\n}\nexport function getDocumentGraphqlQuery(documentModel) {\n const stateFields = generateDocumentStateQueryFields(documentModel, \"document\");\n return `query getDocument($documentId: PHID!, $driveId: String) {\n ${documentModel.name} {\n getDocument(docId: $documentId, driveId: $driveId) {\n id\n created\n lastModified\n name\n revision\n state {\n ${stateFields}\n }\n }\n }\n}`;\n}\nexport function buildDocumentSubgraphQuery(driveUrl, documentId, documentModel) {\n const driveSlug = getSlugFromDriveUrl(driveUrl);\n const query = getDocumentGraphqlQuery(documentModel);\n const variables = { documentId, driveId: driveSlug };\n return compressToEncodedURIComponent(JSON.stringify({\n document: query.trim(),\n variables: JSON.stringify(variables, null, 2),\n }));\n}\nexport function buildDocumentSubgraphUrl(driveUrl, documentId, documentModel) {\n const switchboardUrl = getSwitchboardGatewayUrlFromDriveUrl(driveUrl);\n const subgraph = kebabCase(documentModel.name);\n const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, documentModel);\n return `${switchboardUrl}/${subgraph}?explorerURLState=${encodedQuery}`;\n}\n//# sourceMappingURL=switchboard.js.map","'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n"],"names":["getDriveIdBySlug","driveUrl","slug","urlParts","drivesUrl","getSlugFromDriveUrl","getSwitchboardGatewayUrlFromDriveUrl","getDocumentGraphqlQuery","documentModel","stateFields","generateDocumentStateQueryFields","buildDocumentSubgraphQuery","documentId","driveSlug","query","variables","compressToEncodedURIComponent","buildDocumentSubgraphUrl","switchboardUrl","subgraph","kebabCase","encodedQuery","ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index"],"mappings":"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","x_google_ignoreList":[1]}
|
|
1
|
+
{"version":3,"file":"react-error-boundary.esm.DHp-mKwc.js","sources":["../../../../packages/reactor-browser/dist/src/utils/switchboard.js","../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js"],"sourcesContent":["import { kebabCase } from \"change-case\";\nimport { generateDocumentStateQueryFields } from \"document-drive/utils/graphql\";\nimport { compressToEncodedURIComponent } from \"lz-string\";\nexport async function getDriveIdBySlug(driveUrl, slug) {\n if (!driveUrl) {\n return;\n }\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"drives\"); // add /drives\n const drivesUrl = urlParts.join(\"/\");\n const result = await fetch(drivesUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n query: `\n query getDriveIdBySlug($slug: String!) {\n driveIdBySlug(slug: $slug)\n }\n `,\n variables: {\n slug,\n },\n }),\n });\n const data = (await result.json());\n return data.data.driveIdBySlug;\n}\nexport function getSlugFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n return urlParts.pop();\n}\nexport function getSwitchboardGatewayUrlFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"graphql\"); // add /graphql\n return urlParts.join(\"/\");\n}\nexport function getDocumentGraphqlQuery(documentModel) {\n const stateFields = generateDocumentStateQueryFields(documentModel, \"document\");\n return `query getDocument($documentId: PHID!, $driveId: String) {\n ${documentModel.name} {\n getDocument(docId: $documentId, driveId: $driveId) {\n id\n created\n lastModified\n name\n revision\n state {\n ${stateFields}\n }\n }\n }\n}`;\n}\nexport function buildDocumentSubgraphQuery(driveUrl, documentId, documentModel) {\n const driveSlug = getSlugFromDriveUrl(driveUrl);\n const query = getDocumentGraphqlQuery(documentModel);\n const variables = { documentId, driveId: driveSlug };\n return compressToEncodedURIComponent(JSON.stringify({\n document: query.trim(),\n variables: JSON.stringify(variables, null, 2),\n }));\n}\nexport function buildDocumentSubgraphUrl(driveUrl, documentId, documentModel) {\n const switchboardUrl = getSwitchboardGatewayUrlFromDriveUrl(driveUrl);\n const subgraph = kebabCase(documentModel.name);\n const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, documentModel);\n return `${switchboardUrl}/${subgraph}?explorerURLState=${encodedQuery}`;\n}\n//# sourceMappingURL=switchboard.js.map","'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n"],"names":["getDriveIdBySlug","driveUrl","slug","urlParts","drivesUrl","getSlugFromDriveUrl","getSwitchboardGatewayUrlFromDriveUrl","getDocumentGraphqlQuery","documentModel","stateFields","generateDocumentStateQueryFields","buildDocumentSubgraphQuery","documentId","driveSlug","query","variables","compressToEncodedURIComponent","buildDocumentSubgraphUrl","switchboardUrl","subgraph","kebabCase","encodedQuery","ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index"],"mappings":"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","x_google_ignoreList":[1]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var h=Object.defineProperty;var c=i=>{throw TypeError(i)};var u=(i,e,r)=>e in i?h(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>u(i,typeof e!="symbol"?e+"":e,r),k=(i,e,r)=>e.has(i)||c("Cannot "+r);var d=(i,e,r)=>e.has(i)?c("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,r);var s=(i,e,r)=>(k(i,e,"access private method"),r);import{c as g}from"./connect.config.
|
|
2
|
-
//# sourceMappingURL=registerServiceWorker.
|
|
1
|
+
var h=Object.defineProperty;var c=i=>{throw TypeError(i)};var u=(i,e,r)=>e in i?h(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>u(i,typeof e!="symbol"?e+"":e,r),k=(i,e,r)=>e.has(i)||c("Cannot "+r);var d=(i,e,r)=>e.has(i)?c("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,r);var s=(i,e,r)=>(k(i,e,"access private method"),r);import{c as g}from"./connect.config.QPxkaHWU.js";const f=parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL)||60*60*1e3,w=g.routerBasename,W=[w,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");var a,l,n;class E{constructor(e=!1){d(this,a);o(this,"ready",!1);o(this,"debug",!1);o(this,"registration",null);this.debug=e}setDebug(e){this.debug=e}registerServiceWorker(e=!1){if(this.debug=e,!("serviceWorker"in navigator)){console.warn("Service Worker not available");return}window.addEventListener("load",async()=>{try{const r=await navigator.serviceWorker.getRegistration();if(r)await r.update(),s(this,a,n).call(this,r);else{const t=await navigator.serviceWorker.register(W);s(this,a,n).call(this,t),t.addEventListener("updatefound",()=>{s(this,a,n).call(this,t)})}const v=setInterval(async()=>{const t=await navigator.serviceWorker.getRegistration();t?await t.update():(clearInterval(v),this.registerServiceWorker())},f)}catch(r){console.error("ServiceWorker registration failed: ",r)}})}}a=new WeakSet,l=function(e){this.debug&&console.log("ServiceWorker message: ",e);const r="type"in e.data?e:null;switch(r==null?void 0:r.data.type){case"NEW_VERSION_AVAILABLE":{if(r.data.version===g.appVersion)return;r.data.requiresHardRefresh&&(this.debug&&console.log("New version available"),window.location.reload());break}default:{console.warn("Unhandled message:",r);break}}},n=function(e){this.debug&&console.log("ServiceWorker registered: ",e),navigator.serviceWorker.addEventListener("message",s(this,a,l).bind(this)),this.registration=e,this.ready=!0};const p=new E;export{p as s};
|
|
2
|
+
//# sourceMappingURL=registerServiceWorker.D6gJtVm6.js.map
|
package/dist/assets/{registerServiceWorker.w3jaNxQm.js.map → registerServiceWorker.D6gJtVm6.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerServiceWorker.
|
|
1
|
+
{"version":3,"file":"registerServiceWorker.D6gJtVm6.js","sources":["../../src/utils/registerServiceWorker.ts"],"sourcesContent":["import connectConfig from '../connect.config.js';\nimport { type ServiceWorkerMessage } from '../service-worker.js';\n\nconst VERSION_CHECK_INTERVAL =\n parseInt(import.meta.env.PH_CONNECT_VERSION_CHECK_INTERVAL) ||\n 60 * 60 * 1000; // 1 hour;\n\nconst basePath = connectConfig.routerBasename;\n\nconst serviceWorkerScriptPath = [basePath, 'service-worker.js']\n .join('/')\n .replace(/\\/{2,}/gm, '/');\n\nexport interface IServiceWorkerMessageData {\n type: string;\n}\n\nexport interface ServiceWorkerEvent<T extends IServiceWorkerMessageData>\n extends ExtendableMessageEvent {\n data: T;\n}\n\nclass ServiceWorkerManager {\n ready = false;\n debug = false;\n registration: ServiceWorkerRegistration | null = null;\n\n constructor(debug = false) {\n this.debug = debug;\n }\n\n setDebug(debug: boolean) {\n this.debug = debug;\n }\n\n #handleServiceWorkerMessage(event: MessageEvent | ServiceWorkerMessage) {\n if (this.debug) {\n console.log('ServiceWorker message: ', event);\n }\n const message =\n 'type' in event.data ? (event as ServiceWorkerMessage) : null;\n switch (message?.data.type) {\n case 'NEW_VERSION_AVAILABLE': {\n if (message.data.version === connectConfig.appVersion) {\n return;\n }\n if (message.data.requiresHardRefresh) {\n if (this.debug) {\n console.log('New version available');\n }\n\n window.location.reload(); // Reload the page to load the new version\n }\n break;\n }\n default: {\n console.warn('Unhandled message:', message);\n break;\n }\n }\n }\n\n #handleServiceWorker(registration: ServiceWorkerRegistration) {\n {\n // Listen for messages from the service worker\n if (this.debug) {\n console.log('ServiceWorker registered: ', registration);\n }\n\n navigator.serviceWorker.addEventListener(\n 'message',\n this.#handleServiceWorkerMessage.bind(this),\n );\n\n this.registration = registration;\n this.ready = true;\n }\n }\n\n registerServiceWorker(debug = false) {\n this.debug = debug;\n\n if (!('serviceWorker' in navigator)) {\n console.warn('Service Worker not available');\n return;\n }\n window.addEventListener('load', async () => {\n try {\n // checks if there is a service worker installed already and calls\n // its the update method to check if there is a new version available\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n this.#handleServiceWorker(existingRegistration);\n }\n\n // if no service worker is installed then registers the service worker\n else {\n const registration = await navigator.serviceWorker.register(\n serviceWorkerScriptPath,\n );\n this.#handleServiceWorker(registration);\n\n registration.addEventListener('updatefound', () => {\n this.#handleServiceWorker(registration);\n });\n }\n\n // calls the update on an interval to force\n // the browser to check for a new version\n const intervalId = setInterval(async () => {\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n } else {\n clearInterval(intervalId);\n this.registerServiceWorker();\n }\n }, VERSION_CHECK_INTERVAL);\n } catch (error) {\n console.error('ServiceWorker registration failed: ', error);\n }\n });\n }\n}\n\nexport const serviceWorkerManager = new ServiceWorkerManager();\n"],"names":["VERSION_CHECK_INTERVAL","basePath","connectConfig","serviceWorkerScriptPath","ServiceWorkerManager","debug","__privateAdd","_ServiceWorkerManager_instances","__publicField","existingRegistration","__privateMethod","handleServiceWorker_fn","registration","intervalId","error","handleServiceWorkerMessage_fn","event","message","serviceWorkerManager"],"mappings":"icAGA,MAAMA,EACF,SAAS,OAAA,YAAA,iCAAiD,GAC1D,GAAK,GAAK,IAERC,EAAWC,EAAc,eAEzBC,EAA0B,CAACF,EAAU,mBAAmB,EACzD,KAAK,GAAG,EACR,QAAQ,WAAY,GAAG,YAW5B,MAAMG,CAAqB,CAKvB,YAAYC,EAAQ,GAAO,CAL/BC,EAAA,KAAAC,GACIC,EAAA,aAAQ,IACRA,EAAA,aAAQ,IACRA,EAAA,oBAAiD,MAG7C,KAAK,MAAQH,CAAA,CAGjB,SAASA,EAAgB,CACrB,KAAK,MAAQA,CAAA,CA+CjB,sBAAsBA,EAAQ,GAAO,CAGjC,GAFA,KAAK,MAAQA,EAET,EAAE,kBAAmB,WAAY,CACjC,QAAQ,KAAK,8BAA8B,EAC3C,MAAA,CAEJ,OAAO,iBAAiB,OAAQ,SAAY,CACxC,GAAI,CAGA,MAAMI,EACF,MAAM,UAAU,cAAc,gBAAA,EAClC,GAAIA,EACA,MAAMA,EAAqB,OAAA,EAC3BC,EAAA,KAAKH,EAAAI,GAAL,UAA0BF,OAIzB,CACD,MAAMG,EAAe,MAAM,UAAU,cAAc,SAC/CT,CAAA,EAEJO,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,GAE1BA,EAAa,iBAAiB,cAAe,IAAM,CAC/CF,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,EAAY,CACzC,CAAA,CAKL,MAAMC,EAAa,YAAY,SAAY,CACvC,MAAMJ,EACF,MAAM,UAAU,cAAc,gBAAA,EAC9BA,EACA,MAAMA,EAAqB,OAAA,GAE3B,cAAcI,CAAU,EACxB,KAAK,sBAAA,EACT,EACDb,CAAsB,CAAA,OACpBc,EAAO,CACZ,QAAQ,MAAM,sCAAuCA,CAAK,CAAA,CAC9D,CACH,CAAA,CAET,CAxGAP,EAAA,YAaIQ,WAA4BC,EAA4C,CAChE,KAAK,OACL,QAAQ,IAAI,0BAA2BA,CAAK,EAEhD,MAAMC,EACF,SAAUD,EAAM,KAAQA,EAAiC,KAC7D,OAAQC,GAAA,YAAAA,EAAS,KAAK,KAAA,CAClB,IAAK,wBAAyB,CAC1B,GAAIA,EAAQ,KAAK,UAAYf,EAAc,WACvC,OAEAe,EAAQ,KAAK,sBACT,KAAK,OACL,QAAQ,IAAI,uBAAuB,EAGvC,OAAO,SAAS,OAAA,GAEpB,KAAA,CAEJ,QAAS,CACL,QAAQ,KAAK,qBAAsBA,CAAO,EAC1C,KAAA,CACJ,CACJ,EAGJN,WAAqBC,EAAyC,CAGlD,KAAK,OACL,QAAQ,IAAI,6BAA8BA,CAAY,EAG1D,UAAU,cAAc,iBACpB,UACAF,EAAA,KAAKH,EAAAQ,GAA4B,KAAK,IAAI,CAAA,EAG9C,KAAK,aAAeH,EACpB,KAAK,MAAQ,EACjB,EAoDD,MAAMM,EAAuB,IAAId"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{jsx as m,jsxs as M}from"react/jsx-runtime";import*as v from"react";import{useCallback as E,useEffect as N,Suspense as G,useState as U,useRef as I,useMemo as J}from"react";import{d as W,c as Y}from"./app.Brcw_g_p.js";import{E as q,g as x}from"./react-error-boundary.esm.BdKfLyaR.js";import{e as H,O as z,d as K,i as Q}from"./index.CAUjMUXb.js";import{u as X,a as e1}from"./modals.B3lvHv29.js";import{v as P,C as t1,m as D,ac as n1,ad as r1,y as s1,ae as O,af as o1,ag as k,ah as a1,J as i1,ai as c1}from"./index.BGemDCBc.js";import{useModal as l1,ModalManager as d1}from"./modal.BFkV0xND.js";import{j as A,h as u1,i as C1}from"./useFeatureFlags.BTVpX3W5.js";import{u as j}from"./useConnectConfig.CwkmyF48.js";import{t as V}from"./toast.CJBPfWGX.js";import{u as B}from"./useTranslation.BpVv6XIW.js";import{u as F}from"./useDocumentDriveServer.ArDMFxnb.js";import"./connect.config._A2guXhv.js";import"./browser.BkwNmV2Z.js";import"./user.DBQJIPxu.js";import"./index.Dwexo_zk.js";import"react-dom/client";import"./app-skeleton.js";import"./useAcceptedCookies.B2E2vhVo.js";import"react-dom";import"./registerServiceWorker.w3jaNxQm.js";import"./i18next.CqOP20KE.js";import"./slug.C6xW_7Wm.js";const m1=e=>v.createElement("svg",{width:107,height:20,viewBox:"0 0 107 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e},v.createElement("path",{d:"M0.666504 10.1087C0.666504 8.30419 1.056 6.69918 1.83499 5.29371C2.61398 3.8709 3.6959 2.76908 5.08077 1.98827C6.48295 1.1901 8.0669 0.791016 9.83261 0.791016C11.9965 0.791016 13.8487 1.36361 15.3894 2.50881C16.9301 3.654 17.9601 5.21563 18.4794 7.1937H13.5977C13.2342 6.43023 12.7149 5.84896 12.0397 5.44988C11.3819 5.05079 10.6289 4.85125 9.78067 4.85125C8.41311 4.85125 7.30522 5.32842 6.45699 6.28275C5.60876 7.23708 5.18464 8.51241 5.18464 10.1087C5.18464 11.7051 5.60876 12.9804 6.45699 13.9347C7.30522 14.8891 8.41311 15.3662 9.78067 15.3662C10.6289 15.3662 11.3819 15.1667 12.0397 14.7676C12.7149 14.3685 13.2342 13.7872 13.5977 13.0238H18.4794C17.9601 15.0018 16.9301 16.5635 15.3894 17.7087C13.8487 18.8365 11.9965 19.4004 9.83261 19.4004C8.0669 19.4004 6.48295 19.01 5.08077 18.2292C3.6959 17.431 2.61398 16.3292 1.83499 14.9238C1.056 13.5183 0.666504 11.9133 0.666504 10.1087Z"}),v.createElement("path",{d:"M26.7553 19.4785C25.3358 19.4785 24.0548 19.1749 22.9123 18.5676C21.7871 17.9603 20.8956 17.0927 20.2378 15.9648C19.5973 14.837 19.277 13.5183 19.277 12.0087C19.277 10.5165 19.6059 9.20646 20.2638 8.07862C20.9216 6.93343 21.8217 6.05718 22.9642 5.44988C24.1068 4.84258 25.3878 4.53893 26.8073 4.53893C28.2267 4.53893 29.5078 4.84258 30.6503 5.44988C31.7928 6.05718 32.693 6.93343 33.3508 8.07862C34.0086 9.20646 34.3375 10.5165 34.3375 12.0087C34.3375 13.5009 33.9999 14.8197 33.3248 15.9648C32.667 17.0927 31.7582 17.9603 30.5983 18.5676C29.4558 19.1749 28.1748 19.4785 26.7553 19.4785ZM26.7553 15.6265C27.6036 15.6265 28.322 15.3142 28.9105 14.6895C29.5164 14.0649 29.8193 13.1713 29.8193 12.0087C29.8193 10.8462 29.5251 9.95257 28.9365 9.32792C28.3652 8.70327 27.6555 8.39095 26.8073 8.39095C25.9417 8.39095 25.2233 8.70327 24.6521 9.32792C24.0808 9.93522 23.7952 10.8288 23.7952 12.0087C23.7952 13.1713 24.0721 14.0649 24.6261 14.6895C25.1973 15.3142 25.9071 15.6265 26.7553 15.6265Z"}),v.createElement("path",{d:"M44.483 4.59098C46.1795 4.59098 47.5297 5.14623 48.5337 6.25672C49.5551 7.34986 50.0658 8.85944 50.0658 10.7854V19.2703H45.6515V11.3841C45.6515 10.4124 45.4005 9.6576 44.8985 9.11971C44.3964 8.58181 43.7213 8.31286 42.8731 8.31286C42.0249 8.31286 41.3497 8.58181 40.8477 9.11971C40.3457 9.6576 40.0947 10.4124 40.0947 11.3841V19.2703H35.6545V4.74714H40.0947V6.67315C40.5448 6.03115 41.1507 5.52796 41.9123 5.16358C42.674 4.78185 43.5309 4.59098 44.483 4.59098Z"}),v.createElement("path",{d:"M60.9412 4.59098C62.6376 4.59098 63.9879 5.14623 64.9919 6.25672C66.0133 7.34986 66.5239 8.85944 66.5239 10.7854V19.2703H62.1096V11.3841C62.1096 10.4124 61.8586 9.6576 61.3566 9.11971C60.8546 8.58181 60.1795 8.31286 59.3313 8.31286C58.483 8.31286 57.8079 8.58181 57.3059 9.11971C56.8039 9.6576 56.5529 10.4124 56.5529 11.3841V19.2703H52.1126V4.74714H56.5529V6.67315C57.0029 6.03115 57.6088 5.52796 58.3705 5.16358C59.1322 4.78185 59.9891 4.59098 60.9412 4.59098Z"}),v.createElement("path",{d:"M82.2291 11.7745C82.2291 12.1909 82.2031 12.6247 82.1512 13.0758H72.1022C72.1715 13.9781 72.4571 14.6722 72.9591 15.158C73.4784 15.6265 74.1103 15.8607 74.8546 15.8607C75.9625 15.8607 76.7329 15.3923 77.1656 14.4553H81.8915C81.6491 15.4096 81.2077 16.2685 80.5672 17.032C79.944 17.7954 79.1564 18.3941 78.2043 18.8278C77.2522 19.2616 76.1876 19.4785 75.0104 19.4785C73.5909 19.4785 72.3272 19.1749 71.2194 18.5676C70.1115 17.9603 69.2459 17.0927 68.6227 15.9648C67.9995 14.837 67.6879 13.5183 67.6879 12.0087C67.6879 10.4991 67.9909 9.18044 68.5968 8.05259C69.2199 6.92475 70.0855 6.05718 71.1934 5.44988C72.3013 4.84258 73.5736 4.53893 75.0104 4.53893C76.4126 4.53893 77.659 4.8339 78.7496 5.42385C79.8402 6.0138 80.6884 6.85534 81.2943 7.94848C81.9175 9.04163 82.2291 10.317 82.2291 11.7745ZM77.685 10.6033C77.685 9.83979 77.4253 9.23249 76.906 8.78135C76.3866 8.33022 75.7375 8.10465 74.9585 8.10465C74.2141 8.10465 73.5823 8.32154 73.063 8.75533C72.561 9.18911 72.2494 9.80509 72.1282 10.6033H77.685Z"}),v.createElement("path",{d:"M82.65 12.0087C82.65 10.4991 82.9529 9.18044 83.5588 8.05259C84.182 6.92475 85.0389 6.05718 86.1295 5.44988C87.2374 4.84258 88.5011 4.53893 89.9206 4.53893C91.7382 4.53893 93.2529 5.01609 94.4647 5.97042C95.6937 6.92475 96.4987 8.26949 96.8795 10.0046H92.1537C91.7555 8.89414 90.9852 8.33889 89.8427 8.33889C89.0291 8.33889 88.3799 8.65989 87.8952 9.3019C87.4105 9.92655 87.1681 10.8288 87.1681 12.0087C87.1681 13.1886 87.4105 14.0996 87.8952 14.7416C88.3799 15.3662 89.0291 15.6786 89.8427 15.6786C90.9852 15.6786 91.7555 15.1233 92.1537 14.0128H96.8795C96.4987 15.7133 95.6937 17.0493 94.4647 18.021C93.2356 18.9927 91.7209 19.4785 89.9206 19.4785C88.5011 19.4785 87.2374 19.1749 86.1295 18.5676C85.0389 17.9603 84.182 17.0927 83.5588 15.9648C82.9529 14.837 82.65 13.5183 82.65 12.0087Z"}),v.createElement("path",{d:"M106.291 15.4964V19.2703H104.032C102.423 19.2703 101.167 18.8799 100.267 18.0991C99.3672 17.3009 98.9171 16.0082 98.9171 14.221V8.443H97.1514V4.74714H98.9171V1.20745H103.357V4.74714H106.266V8.443H103.357V14.2731C103.357 14.7069 103.461 15.0192 103.669 15.2101C103.877 15.4009 104.223 15.4964 104.708 15.4964H106.291Z"})),p1=e=>v.createElement("svg",{width:26,height:26,viewBox:"0 0 26 26",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},v.createElement("path",{d:"M20.105 7.37978C19.9097 7.18452 19.9097 6.86795 20.105 6.67269L22.5725 4.20504C24.9229 6.75889 26.0649 10.0248 25.9972 13.2723L20.105 7.37978ZM16.1222 10.6556C15.927 10.8509 15.927 11.1674 16.1222 11.3627L24.2614 19.5023C25.125 18.0079 25.667 16.378 25.8875 14.7149L19.3289 8.15595C19.1336 7.96068 18.817 7.96068 18.6218 8.15595L16.1222 10.6556ZM0.00284613 12.729C-0.0649083 15.9752 1.07706 19.2411 3.42753 21.7962L5.89504 19.3285C6.09029 19.1333 6.09029 18.8167 5.89504 18.6214L0.00284613 12.729ZM4.20485 22.5723C6.75858 24.9229 10.0256 26.0649 13.2716 25.9972L7.37946 20.1047C7.1842 19.9094 6.8676 19.9094 6.67234 20.1047L4.20485 22.5723ZM13.0519 18.5174C13.2472 18.3222 13.2472 18.0056 13.0519 17.8103L1.73982 6.49772C0.87626 7.99209 0.334223 9.62072 0.113713 11.2851L9.84523 21.0171C10.0405 21.2124 10.3571 21.2124 10.5524 21.0171L13.0519 18.5174ZM9.60276 7.08454C9.78969 6.88798 9.7858 6.57823 9.594 6.38642L5.55009 2.34233C4.93783 2.77105 4.35391 3.25889 3.80695 3.80588C3.25998 4.35287 2.77216 4.93684 2.34346 5.54912L6.3864 9.59111C6.57859 9.78325 6.88907 9.7867 7.08548 9.59887L8.47817 8.26702L9.60276 7.08454ZM11.2072 21.6733C11.012 21.8685 11.012 22.1851 11.2072 22.3804L14.7142 25.8875C16.3785 25.667 18.0071 25.1249 19.5013 24.2613L14.4139 19.1736C14.2186 18.9783 13.902 18.9783 13.7067 19.1736L11.2072 21.6733ZM23.6565 20.4496L11.0843 7.87683C10.8891 7.68156 10.5725 7.68156 10.3772 7.87683L7.87766 10.3765C7.68241 10.5718 7.68241 10.8883 7.87766 11.0836L20.4499 23.6564C21.0622 23.2277 21.6461 22.7398 22.193 22.1929C22.74 21.6459 23.2278 21.0619 23.6565 20.4496ZM17.8445 7.37855C18.0397 7.18329 18.0397 6.86672 17.8445 6.67146L11.2858 0.112477C9.62151 0.332998 7.99294 0.875053 6.49865 1.73866L14.6378 9.87821C14.8331 10.0735 15.1497 10.0735 15.3449 9.87821L17.8445 7.37855ZM21.7951 3.42769C19.2414 1.07712 15.9744 -0.0649114 12.7284 0.00284625L18.6205 5.89529C18.8158 6.09056 19.1324 6.09056 19.3277 5.89529L21.7951 3.42769Z",fill:"url(#paint0_linear_526_12008)"}),v.createElement("defs",null,v.createElement("linearGradient",{id:"paint0_linear_526_12008",x1:13,y1:0,x2:13,y2:26,gradientUnits:"userSpaceOnUse"},v.createElement("stop",{stopColor:"currentColor"}),v.createElement("stop",{offset:1,stopColor:"currentColor"}))));function f1(){const{showModal:e}=l1(),s=H(),{user:n,openRenown:l,logout:a}=A(),{driveNodes:c,setSelectedNode:d,selectedNode:o}=P(),[p]=j(),f=X(),L=localStorage.getItem("CONNECT_DEBUG")==="true",h=()=>{e("settingsModal",{onRefresh:()=>s(0)})},w=E(()=>{d(null),s("/")},[s,d]),S=E(()=>{f()},[f]),b=M("div",{className:"flex h-full items-center",children:[m(s1,{name:"Connect",className:"!h-[30px] !w-[100px] cursor-pointer",onClick:w}),L&&m("button",{"aria-label":"Home",id:"connect-debug-button",className:"ml-6",onClick:()=>e("debugSettingsModal",{}),children:m("img",{src:"settings.png",className:"h-5 text-gray-600"})})]}),C=E(t=>{d(t)},[d]),u=n!=null&&n.address?`https://etherscan.io/address/${n.address}`:"";return m(t1,{id:"sidebar",onClick:()=>w(),onClickSettings:h,headerContent:b,address:n==null?void 0:n.address,onLogin:l,onDisconnect:a,etherscanUrl:u,children:M(q,{fallback:m("div",{className:"text-center",children:"There was an error loading drives"}),onError:D.error,children:[c.map((t,g)=>m(n1,{title:t.name,onClick:()=>C(t),active:(o==null?void 0:o.id)===t.id,icon:t.icon?m("img",{src:t.icon,alt:t.name,width:32,height:32}):void 0},g)),p.drives.addDriveEnabled&&m(r1,{onClick:S})]})})}function Q1(){E1(),D1();const e=H(),{login:s}=A();N(()=>{var a;(a=window.electronAPI)==null||a.ready()},[]);const[n,l]=W();return N(()=>{const a=n.get("user");if(a&&s){const c=decodeURIComponent(a);n.delete("user"),l(n),s(c).catch(D.error)}},[s,n,l]),N(()=>{var c;return(c=window.electronAPI)==null?void 0:c.handleURL((d,o)=>{e(`/${o}`)})},[e]),m(d1,{children:M("div",{className:"h-screen",children:[Z&&M("div",{className:`h-8 w-full
|
|
1
|
+
import{jsx as m,jsxs as M}from"react/jsx-runtime";import*as v from"react";import{useCallback as E,useEffect as N,Suspense as G,useState as U,useRef as I,useMemo as J}from"react";import{d as W,c as Y}from"./app.CTsJJoBZ.js";import{E as q,g as x}from"./react-error-boundary.esm.DHp-mKwc.js";import{e as H,O as z,d as K,i as Q}from"./index.CAUjMUXb.js";import{u as X,a as e1}from"./modals.Di_yfGYo.js";import{v as P,C as t1,m as D,ac as n1,ad as r1,y as s1,ae as O,af as o1,ag as k,ah as a1,J as i1,ai as c1}from"./index.BcBVmRI8.js";import{useModal as l1,ModalManager as d1}from"./modal.BvtSJIvz.js";import{j as A,h as u1,i as C1}from"./useFeatureFlags.BsV79IJF.js";import{u as j}from"./useConnectConfig.6WMomTcV.js";import{t as V}from"./toast.BwLkWP-U.js";import{u as B}from"./useTranslation.BpVv6XIW.js";import{u as F}from"./useDocumentDriveServer.KfZLuxGa.js";import"./connect.config.QPxkaHWU.js";import"./browser.BkwNmV2Z.js";import"./user.Bc_RsKKN.js";import"./index.DD-XJyzV.js";import"react-dom/client";import"./app-skeleton.js";import"./useAcceptedCookies.Buwp7LOR.js";import"react-dom";import"./registerServiceWorker.D6gJtVm6.js";import"./i18next.CqOP20KE.js";import"./slug.C6xW_7Wm.js";const m1=e=>v.createElement("svg",{width:107,height:20,viewBox:"0 0 107 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e},v.createElement("path",{d:"M0.666504 10.1087C0.666504 8.30419 1.056 6.69918 1.83499 5.29371C2.61398 3.8709 3.6959 2.76908 5.08077 1.98827C6.48295 1.1901 8.0669 0.791016 9.83261 0.791016C11.9965 0.791016 13.8487 1.36361 15.3894 2.50881C16.9301 3.654 17.9601 5.21563 18.4794 7.1937H13.5977C13.2342 6.43023 12.7149 5.84896 12.0397 5.44988C11.3819 5.05079 10.6289 4.85125 9.78067 4.85125C8.41311 4.85125 7.30522 5.32842 6.45699 6.28275C5.60876 7.23708 5.18464 8.51241 5.18464 10.1087C5.18464 11.7051 5.60876 12.9804 6.45699 13.9347C7.30522 14.8891 8.41311 15.3662 9.78067 15.3662C10.6289 15.3662 11.3819 15.1667 12.0397 14.7676C12.7149 14.3685 13.2342 13.7872 13.5977 13.0238H18.4794C17.9601 15.0018 16.9301 16.5635 15.3894 17.7087C13.8487 18.8365 11.9965 19.4004 9.83261 19.4004C8.0669 19.4004 6.48295 19.01 5.08077 18.2292C3.6959 17.431 2.61398 16.3292 1.83499 14.9238C1.056 13.5183 0.666504 11.9133 0.666504 10.1087Z"}),v.createElement("path",{d:"M26.7553 19.4785C25.3358 19.4785 24.0548 19.1749 22.9123 18.5676C21.7871 17.9603 20.8956 17.0927 20.2378 15.9648C19.5973 14.837 19.277 13.5183 19.277 12.0087C19.277 10.5165 19.6059 9.20646 20.2638 8.07862C20.9216 6.93343 21.8217 6.05718 22.9642 5.44988C24.1068 4.84258 25.3878 4.53893 26.8073 4.53893C28.2267 4.53893 29.5078 4.84258 30.6503 5.44988C31.7928 6.05718 32.693 6.93343 33.3508 8.07862C34.0086 9.20646 34.3375 10.5165 34.3375 12.0087C34.3375 13.5009 33.9999 14.8197 33.3248 15.9648C32.667 17.0927 31.7582 17.9603 30.5983 18.5676C29.4558 19.1749 28.1748 19.4785 26.7553 19.4785ZM26.7553 15.6265C27.6036 15.6265 28.322 15.3142 28.9105 14.6895C29.5164 14.0649 29.8193 13.1713 29.8193 12.0087C29.8193 10.8462 29.5251 9.95257 28.9365 9.32792C28.3652 8.70327 27.6555 8.39095 26.8073 8.39095C25.9417 8.39095 25.2233 8.70327 24.6521 9.32792C24.0808 9.93522 23.7952 10.8288 23.7952 12.0087C23.7952 13.1713 24.0721 14.0649 24.6261 14.6895C25.1973 15.3142 25.9071 15.6265 26.7553 15.6265Z"}),v.createElement("path",{d:"M44.483 4.59098C46.1795 4.59098 47.5297 5.14623 48.5337 6.25672C49.5551 7.34986 50.0658 8.85944 50.0658 10.7854V19.2703H45.6515V11.3841C45.6515 10.4124 45.4005 9.6576 44.8985 9.11971C44.3964 8.58181 43.7213 8.31286 42.8731 8.31286C42.0249 8.31286 41.3497 8.58181 40.8477 9.11971C40.3457 9.6576 40.0947 10.4124 40.0947 11.3841V19.2703H35.6545V4.74714H40.0947V6.67315C40.5448 6.03115 41.1507 5.52796 41.9123 5.16358C42.674 4.78185 43.5309 4.59098 44.483 4.59098Z"}),v.createElement("path",{d:"M60.9412 4.59098C62.6376 4.59098 63.9879 5.14623 64.9919 6.25672C66.0133 7.34986 66.5239 8.85944 66.5239 10.7854V19.2703H62.1096V11.3841C62.1096 10.4124 61.8586 9.6576 61.3566 9.11971C60.8546 8.58181 60.1795 8.31286 59.3313 8.31286C58.483 8.31286 57.8079 8.58181 57.3059 9.11971C56.8039 9.6576 56.5529 10.4124 56.5529 11.3841V19.2703H52.1126V4.74714H56.5529V6.67315C57.0029 6.03115 57.6088 5.52796 58.3705 5.16358C59.1322 4.78185 59.9891 4.59098 60.9412 4.59098Z"}),v.createElement("path",{d:"M82.2291 11.7745C82.2291 12.1909 82.2031 12.6247 82.1512 13.0758H72.1022C72.1715 13.9781 72.4571 14.6722 72.9591 15.158C73.4784 15.6265 74.1103 15.8607 74.8546 15.8607C75.9625 15.8607 76.7329 15.3923 77.1656 14.4553H81.8915C81.6491 15.4096 81.2077 16.2685 80.5672 17.032C79.944 17.7954 79.1564 18.3941 78.2043 18.8278C77.2522 19.2616 76.1876 19.4785 75.0104 19.4785C73.5909 19.4785 72.3272 19.1749 71.2194 18.5676C70.1115 17.9603 69.2459 17.0927 68.6227 15.9648C67.9995 14.837 67.6879 13.5183 67.6879 12.0087C67.6879 10.4991 67.9909 9.18044 68.5968 8.05259C69.2199 6.92475 70.0855 6.05718 71.1934 5.44988C72.3013 4.84258 73.5736 4.53893 75.0104 4.53893C76.4126 4.53893 77.659 4.8339 78.7496 5.42385C79.8402 6.0138 80.6884 6.85534 81.2943 7.94848C81.9175 9.04163 82.2291 10.317 82.2291 11.7745ZM77.685 10.6033C77.685 9.83979 77.4253 9.23249 76.906 8.78135C76.3866 8.33022 75.7375 8.10465 74.9585 8.10465C74.2141 8.10465 73.5823 8.32154 73.063 8.75533C72.561 9.18911 72.2494 9.80509 72.1282 10.6033H77.685Z"}),v.createElement("path",{d:"M82.65 12.0087C82.65 10.4991 82.9529 9.18044 83.5588 8.05259C84.182 6.92475 85.0389 6.05718 86.1295 5.44988C87.2374 4.84258 88.5011 4.53893 89.9206 4.53893C91.7382 4.53893 93.2529 5.01609 94.4647 5.97042C95.6937 6.92475 96.4987 8.26949 96.8795 10.0046H92.1537C91.7555 8.89414 90.9852 8.33889 89.8427 8.33889C89.0291 8.33889 88.3799 8.65989 87.8952 9.3019C87.4105 9.92655 87.1681 10.8288 87.1681 12.0087C87.1681 13.1886 87.4105 14.0996 87.8952 14.7416C88.3799 15.3662 89.0291 15.6786 89.8427 15.6786C90.9852 15.6786 91.7555 15.1233 92.1537 14.0128H96.8795C96.4987 15.7133 95.6937 17.0493 94.4647 18.021C93.2356 18.9927 91.7209 19.4785 89.9206 19.4785C88.5011 19.4785 87.2374 19.1749 86.1295 18.5676C85.0389 17.9603 84.182 17.0927 83.5588 15.9648C82.9529 14.837 82.65 13.5183 82.65 12.0087Z"}),v.createElement("path",{d:"M106.291 15.4964V19.2703H104.032C102.423 19.2703 101.167 18.8799 100.267 18.0991C99.3672 17.3009 98.9171 16.0082 98.9171 14.221V8.443H97.1514V4.74714H98.9171V1.20745H103.357V4.74714H106.266V8.443H103.357V14.2731C103.357 14.7069 103.461 15.0192 103.669 15.2101C103.877 15.4009 104.223 15.4964 104.708 15.4964H106.291Z"})),p1=e=>v.createElement("svg",{width:26,height:26,viewBox:"0 0 26 26",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},v.createElement("path",{d:"M20.105 7.37978C19.9097 7.18452 19.9097 6.86795 20.105 6.67269L22.5725 4.20504C24.9229 6.75889 26.0649 10.0248 25.9972 13.2723L20.105 7.37978ZM16.1222 10.6556C15.927 10.8509 15.927 11.1674 16.1222 11.3627L24.2614 19.5023C25.125 18.0079 25.667 16.378 25.8875 14.7149L19.3289 8.15595C19.1336 7.96068 18.817 7.96068 18.6218 8.15595L16.1222 10.6556ZM0.00284613 12.729C-0.0649083 15.9752 1.07706 19.2411 3.42753 21.7962L5.89504 19.3285C6.09029 19.1333 6.09029 18.8167 5.89504 18.6214L0.00284613 12.729ZM4.20485 22.5723C6.75858 24.9229 10.0256 26.0649 13.2716 25.9972L7.37946 20.1047C7.1842 19.9094 6.8676 19.9094 6.67234 20.1047L4.20485 22.5723ZM13.0519 18.5174C13.2472 18.3222 13.2472 18.0056 13.0519 17.8103L1.73982 6.49772C0.87626 7.99209 0.334223 9.62072 0.113713 11.2851L9.84523 21.0171C10.0405 21.2124 10.3571 21.2124 10.5524 21.0171L13.0519 18.5174ZM9.60276 7.08454C9.78969 6.88798 9.7858 6.57823 9.594 6.38642L5.55009 2.34233C4.93783 2.77105 4.35391 3.25889 3.80695 3.80588C3.25998 4.35287 2.77216 4.93684 2.34346 5.54912L6.3864 9.59111C6.57859 9.78325 6.88907 9.7867 7.08548 9.59887L8.47817 8.26702L9.60276 7.08454ZM11.2072 21.6733C11.012 21.8685 11.012 22.1851 11.2072 22.3804L14.7142 25.8875C16.3785 25.667 18.0071 25.1249 19.5013 24.2613L14.4139 19.1736C14.2186 18.9783 13.902 18.9783 13.7067 19.1736L11.2072 21.6733ZM23.6565 20.4496L11.0843 7.87683C10.8891 7.68156 10.5725 7.68156 10.3772 7.87683L7.87766 10.3765C7.68241 10.5718 7.68241 10.8883 7.87766 11.0836L20.4499 23.6564C21.0622 23.2277 21.6461 22.7398 22.193 22.1929C22.74 21.6459 23.2278 21.0619 23.6565 20.4496ZM17.8445 7.37855C18.0397 7.18329 18.0397 6.86672 17.8445 6.67146L11.2858 0.112477C9.62151 0.332998 7.99294 0.875053 6.49865 1.73866L14.6378 9.87821C14.8331 10.0735 15.1497 10.0735 15.3449 9.87821L17.8445 7.37855ZM21.7951 3.42769C19.2414 1.07712 15.9744 -0.0649114 12.7284 0.00284625L18.6205 5.89529C18.8158 6.09056 19.1324 6.09056 19.3277 5.89529L21.7951 3.42769Z",fill:"url(#paint0_linear_526_12008)"}),v.createElement("defs",null,v.createElement("linearGradient",{id:"paint0_linear_526_12008",x1:13,y1:0,x2:13,y2:26,gradientUnits:"userSpaceOnUse"},v.createElement("stop",{stopColor:"currentColor"}),v.createElement("stop",{offset:1,stopColor:"currentColor"}))));function f1(){const{showModal:e}=l1(),s=H(),{user:n,openRenown:l,logout:a}=A(),{driveNodes:c,setSelectedNode:d,selectedNode:o}=P(),[p]=j(),f=X(),L=localStorage.getItem("CONNECT_DEBUG")==="true",h=()=>{e("settingsModal",{onRefresh:()=>s(0)})},w=E(()=>{d(null),s("/")},[s,d]),S=E(()=>{f()},[f]),b=M("div",{className:"flex h-full items-center",children:[m(s1,{name:"Connect",className:"!h-[30px] !w-[100px] cursor-pointer",onClick:w}),L&&m("button",{"aria-label":"Home",id:"connect-debug-button",className:"ml-6",onClick:()=>e("debugSettingsModal",{}),children:m("img",{src:"settings.png",className:"h-5 text-gray-600"})})]}),C=E(t=>{d(t)},[d]),u=n!=null&&n.address?`https://etherscan.io/address/${n.address}`:"";return m(t1,{id:"sidebar",onClick:()=>w(),onClickSettings:h,headerContent:b,address:n==null?void 0:n.address,onLogin:l,onDisconnect:a,etherscanUrl:u,children:M(q,{fallback:m("div",{className:"text-center",children:"There was an error loading drives"}),onError:D.error,children:[c.map((t,g)=>m(n1,{title:t.name,onClick:()=>C(t),active:(o==null?void 0:o.id)===t.id,icon:t.icon?m("img",{src:t.icon,alt:t.name,width:32,height:32}):void 0},g)),p.drives.addDriveEnabled&&m(r1,{onClick:S})]})})}function Q1(){E1(),D1();const e=H(),{login:s}=A();N(()=>{var a;(a=window.electronAPI)==null||a.ready()},[]);const[n,l]=W();return N(()=>{const a=n.get("user");if(a&&s){const c=decodeURIComponent(a);n.delete("user"),l(n),s(c).catch(D.error)}},[s,n,l]),N(()=>{var c;return(c=window.electronAPI)==null?void 0:c.handleURL((d,o)=>{e(`/${o}`)})},[e]),m(d1,{children:M("div",{className:"h-screen",children:[Z&&M("div",{className:`h-8 w-full
|
|
2
2
|
${L1&&"justify-center"}
|
|
3
3
|
flex items-center bg-gray-50`,children:[m(p1,{className:"ml-1 mr-0.5 p-1.5"}),m(m1,{className:"h-3 w-fit"})]}),m("div",{className:`flex items-stretch overflow-auto
|
|
4
4
|
${Z?"h-app-height":"h-screen"}
|
|
5
5
|
`,role:"presentation",tabIndex:0,children:M(G,{name:"Root",children:[m(f1,{}),m("div",{className:"relative flex-1 overflow-auto",children:m(z,{})})]})})]})})}const h1=()=>{const{t:e}=B();return M("div",{children:[m("p",{className:"font-medium",children:e("notifications.reloadApp")}),M("button",{onClick:()=>location.reload(),className:"underline decoration-solid underline-offset-2",children:[e("common.reloadConnect")," 🔄"]})]})},g1=1e5,v1=(e,s)=>s?e.toLocaleLowerCase().includes(`transmitter ${s} not found`):!1,w1=()=>{const[e,s]=U([]),[n,l]=U(new Map),{addTrigger:a,removeTrigger:c,registerNewPullResponderTrigger:d,renameDrive:o,addRemoteDrive:p,documentDrives:f,setDriveSharingType:L}=F();u1();const h=I(new Map),w=E(async(C,u,t)=>{s(r=>[...r,t]);const g=u.data;try{let r=n.get(t);r||(r=await d(C,g.url,{pullInterval:Number(g.interval)||3e3}),n.set(t,r),l(n)),await c(C,u.id),await a(C,r),h.current.delete(t)}catch(r){const i=h.current.get(t)||1;h.current.set(t,i===g1?i:i*10),D.error(r)}finally{s(r=>r.filter(i=>i!==t))}},[n,c,a,h,d]),S=E(async(C,u,t)=>{var g;s(r=>[...r,t]);try{const r=f.find(i=>i.header.id===C);if(!r)return;if(await c(C,u.id),await o(C,r.state.global.name+` (${r.header.id})`),await L(C,O),(g=u.data)!=null&&g.url&&r.header.slug){const i=await x(u.data.url,r.header.slug);if(i){const y=u.data.url.split("/");y[y.length-1]=i;const R=y.join("/");await p(R,{availableOffline:!0,sharingType:"PUBLIC",listeners:[],triggers:[]})}}}catch(r){D.error(r)}finally{s(r=>r.filter(i=>i!==t))}},[f,c,o,L,x,p]),b=E(async(C,u,t,g)=>{var r;switch(t){case 400:{if(v1(g,(r=u.data)==null?void 0:r.listenerId)){if(!(localStorage.getItem("AUTO_REGISTER_PULL_RESPONDER")!=="false"))return;const y=`strands:${C}:${t}`;if(e.includes(y)||!u.data)return;const R=h.current.get(y)||0;setTimeout(()=>w(C,u,y),R)}break}case 404:{const i=`strands:${C}:${t}`;if(e.includes(i))return;setTimeout(()=>S(C,u,i),0);break}}},[S,w,e]);return J(()=>({strandsErrorHandler:b}),[b])},T=window.__VITE_ENVS.APP_VERSION,Z=window.navigator.userAgent.includes("Electron"),L1=window.navigator.appVersion.includes("Mac"),_={"staging/makerdao":"deployments/staging/makerdao","staging/arbitrum":"arb-ltip","staging/powerhouse":"staging",makerdao:"deployments/makerdao",arbitrum:"deployments/arbitrum",arbgrants:"deployments/arbitrum",localhost:"develop"},y1=()=>{const e="https://raw.githubusercontent.com/powerhouse-inc/connect",s=window.location.href,n=Object.keys(_).find(a=>s.includes(a)),l=n?_[n]:void 0;if(l)return`${e}/${l}/package.json`},N1=async()=>{const e=y1();if(!e)return;const n=await(await fetch(e)).json(),{version:l}=n;return l},S1=async()=>{const e=await N1();return e?{isLatest:e===T,currentVersion:T,latestVersion:e}:null},E1=()=>{const{t:e}=B(),{reactorLoaded:s,documentDrives:n,onSyncStatus:l}=F(),{driveNodes:a,setDriveNodes:c}=P(),d=I([...a]),o=I([]),[,,p]=C1(),{readDrives:f}=Y(),L=w1(),[h]=j();async function w(){const t=await S1();if(t!==null){if(t.isLatest||t.currentVersion.includes("-"))return!0;window.__VITE_ENVS.MODE==="development"||h.studioMode||!h.warnOutdatedApp?D.warn(`Connect is outdated:
|
|
6
6
|
Current: ${t.currentVersion}
|
|
7
7
|
Latest: ${t.latestVersion}`):V(m(h1,{}),{type:"connect-warning",toastId:"outdated-app",autoClose:!1})}}N(()=>{w().catch(console.error)},[]),N(()=>p(L),[p,n,L]);const S=E(async(t,g)=>{t.forEach(r=>{const i=d.current.find(y=>y.id===r.id);if(i){if(r.sharingType!==O&&r.syncStatus===o1&&o.current.includes(r))return o.current=o.current.filter(y=>y.id!==r.id),V(g("notifications.driveSyncSuccess"),{type:"connect-success"});(r.syncStatus===k||r.syncStatus===a1)&&r.syncStatus!==i.syncStatus&&o.current.push(r)}}),d.current=[...t],o.current.length>0&&await w()&&o.current.forEach(i=>{V(g(`notifications.${i.syncStatus===k?"driveSyncConflict":"driveSyncError"}`,{drive:i.name}),{type:"connect-warning",toastId:`${i.syncStatus===k?"driveSyncConflict":"driveSyncError"}-${i.id}`})})},[]);N(()=>{S(a,e).catch(console.error)},[a,e,S]);const b=e1(),C=E(async t=>Promise.all(t.map(b)),[b]),u=E(async t=>{const g=await C(t);c(g)},[C,c]);N(()=>{const t=[...f,...n];u(t).catch(console.error)},[n,f,u]),N(()=>s?l(()=>u(n)):void 0,[s,n,l,u])};function b1(e){const s=e[0];if(!s)return;if(s.kind!==c1)throw new Error("Node path is invalid, first node is not a drive node.");const n=M1(s),l=e.slice(1).map(c=>encodeURIComponent(c.slug||c.name));return[n,...l].join("/")}function M1(e){const s=e.slug||e.name||e.id;return`/d/${encodeURIComponent(s)}`}function $(e,s,n){if(!s)return null;const l=decodeURIComponent(s),a=e.find(o=>(o==null?void 0:o.id)===l||(o==null?void 0:o.slug)===l||(o==null?void 0:o.name)===l);if(!a)return null;if(!n)return a;const c=n.split("/").filter(Boolean).map(decodeURIComponent);let d=a;for(const o of c){if(d.kind===i1)break;const p=d.children.find(f=>f.slug===o||f.name===o);if(!p){console.error("Node not found:",o);break}d=p}return d}const D1=()=>{const e=H(),s=K(),{search:n,pathname:l}=s,a=Q(),{driveNodes:c,selectedNode:d,selectedNodePath:o,setSelectedNode:p}=P(),f=a.driveId,L=a["*"],h=$(c,f,L),w=b1(o);N(()=>{!w||w===l||e({pathname:w,search:n})},[n,e,w]),N(()=>{d||!h||p(h)},[d,h,p]),N(()=>{const S=$(c,f,L);S&&p(S)},[c,f,L,p])};export{Q1 as default};
|
|
8
|
-
//# sourceMappingURL=root.
|
|
8
|
+
//# sourceMappingURL=root.B0MB5MLe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.C9pGPT_U.js","sources":["../../assets/icons/connect.svg?react","../../assets/icons/logo.svg?react","../../src/components/sidebar.tsx","../../src/components/root.tsx","../../src/components/toast/reload-connect-toast.tsx","../../src/hooks/useClientErrorHandler.ts","../../src/hooks/utils.ts","../../src/hooks/useLoadInitialData.tsx","../../src/hooks/useNodeNavigation.ts"],"sourcesContent":["import * as React from \"react\";\nconst SvgConnect = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 107, height: 20, viewBox: \"0 0 107 20\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0.666504 10.1087C0.666504 8.30419 1.056 6.69918 1.83499 5.29371C2.61398 3.8709 3.6959 2.76908 5.08077 1.98827C6.48295 1.1901 8.0669 0.791016 9.83261 0.791016C11.9965 0.791016 13.8487 1.36361 15.3894 2.50881C16.9301 3.654 17.9601 5.21563 18.4794 7.1937H13.5977C13.2342 6.43023 12.7149 5.84896 12.0397 5.44988C11.3819 5.05079 10.6289 4.85125 9.78067 4.85125C8.41311 4.85125 7.30522 5.32842 6.45699 6.28275C5.60876 7.23708 5.18464 8.51241 5.18464 10.1087C5.18464 11.7051 5.60876 12.9804 6.45699 13.9347C7.30522 14.8891 8.41311 15.3662 9.78067 15.3662C10.6289 15.3662 11.3819 15.1667 12.0397 14.7676C12.7149 14.3685 13.2342 13.7872 13.5977 13.0238H18.4794C17.9601 15.0018 16.9301 16.5635 15.3894 17.7087C13.8487 18.8365 11.9965 19.4004 9.83261 19.4004C8.0669 19.4004 6.48295 19.01 5.08077 18.2292C3.6959 17.431 2.61398 16.3292 1.83499 14.9238C1.056 13.5183 0.666504 11.9133 0.666504 10.1087Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M26.7553 19.4785C25.3358 19.4785 24.0548 19.1749 22.9123 18.5676C21.7871 17.9603 20.8956 17.0927 20.2378 15.9648C19.5973 14.837 19.277 13.5183 19.277 12.0087C19.277 10.5165 19.6059 9.20646 20.2638 8.07862C20.9216 6.93343 21.8217 6.05718 22.9642 5.44988C24.1068 4.84258 25.3878 4.53893 26.8073 4.53893C28.2267 4.53893 29.5078 4.84258 30.6503 5.44988C31.7928 6.05718 32.693 6.93343 33.3508 8.07862C34.0086 9.20646 34.3375 10.5165 34.3375 12.0087C34.3375 13.5009 33.9999 14.8197 33.3248 15.9648C32.667 17.0927 31.7582 17.9603 30.5983 18.5676C29.4558 19.1749 28.1748 19.4785 26.7553 19.4785ZM26.7553 15.6265C27.6036 15.6265 28.322 15.3142 28.9105 14.6895C29.5164 14.0649 29.8193 13.1713 29.8193 12.0087C29.8193 10.8462 29.5251 9.95257 28.9365 9.32792C28.3652 8.70327 27.6555 8.39095 26.8073 8.39095C25.9417 8.39095 25.2233 8.70327 24.6521 9.32792C24.0808 9.93522 23.7952 10.8288 23.7952 12.0087C23.7952 13.1713 24.0721 14.0649 24.6261 14.6895C25.1973 15.3142 25.9071 15.6265 26.7553 15.6265Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M44.483 4.59098C46.1795 4.59098 47.5297 5.14623 48.5337 6.25672C49.5551 7.34986 50.0658 8.85944 50.0658 10.7854V19.2703H45.6515V11.3841C45.6515 10.4124 45.4005 9.6576 44.8985 9.11971C44.3964 8.58181 43.7213 8.31286 42.8731 8.31286C42.0249 8.31286 41.3497 8.58181 40.8477 9.11971C40.3457 9.6576 40.0947 10.4124 40.0947 11.3841V19.2703H35.6545V4.74714H40.0947V6.67315C40.5448 6.03115 41.1507 5.52796 41.9123 5.16358C42.674 4.78185 43.5309 4.59098 44.483 4.59098Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M60.9412 4.59098C62.6376 4.59098 63.9879 5.14623 64.9919 6.25672C66.0133 7.34986 66.5239 8.85944 66.5239 10.7854V19.2703H62.1096V11.3841C62.1096 10.4124 61.8586 9.6576 61.3566 9.11971C60.8546 8.58181 60.1795 8.31286 59.3313 8.31286C58.483 8.31286 57.8079 8.58181 57.3059 9.11971C56.8039 9.6576 56.5529 10.4124 56.5529 11.3841V19.2703H52.1126V4.74714H56.5529V6.67315C57.0029 6.03115 57.6088 5.52796 58.3705 5.16358C59.1322 4.78185 59.9891 4.59098 60.9412 4.59098Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M82.2291 11.7745C82.2291 12.1909 82.2031 12.6247 82.1512 13.0758H72.1022C72.1715 13.9781 72.4571 14.6722 72.9591 15.158C73.4784 15.6265 74.1103 15.8607 74.8546 15.8607C75.9625 15.8607 76.7329 15.3923 77.1656 14.4553H81.8915C81.6491 15.4096 81.2077 16.2685 80.5672 17.032C79.944 17.7954 79.1564 18.3941 78.2043 18.8278C77.2522 19.2616 76.1876 19.4785 75.0104 19.4785C73.5909 19.4785 72.3272 19.1749 71.2194 18.5676C70.1115 17.9603 69.2459 17.0927 68.6227 15.9648C67.9995 14.837 67.6879 13.5183 67.6879 12.0087C67.6879 10.4991 67.9909 9.18044 68.5968 8.05259C69.2199 6.92475 70.0855 6.05718 71.1934 5.44988C72.3013 4.84258 73.5736 4.53893 75.0104 4.53893C76.4126 4.53893 77.659 4.8339 78.7496 5.42385C79.8402 6.0138 80.6884 6.85534 81.2943 7.94848C81.9175 9.04163 82.2291 10.317 82.2291 11.7745ZM77.685 10.6033C77.685 9.83979 77.4253 9.23249 76.906 8.78135C76.3866 8.33022 75.7375 8.10465 74.9585 8.10465C74.2141 8.10465 73.5823 8.32154 73.063 8.75533C72.561 9.18911 72.2494 9.80509 72.1282 10.6033H77.685Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M82.65 12.0087C82.65 10.4991 82.9529 9.18044 83.5588 8.05259C84.182 6.92475 85.0389 6.05718 86.1295 5.44988C87.2374 4.84258 88.5011 4.53893 89.9206 4.53893C91.7382 4.53893 93.2529 5.01609 94.4647 5.97042C95.6937 6.92475 96.4987 8.26949 96.8795 10.0046H92.1537C91.7555 8.89414 90.9852 8.33889 89.8427 8.33889C89.0291 8.33889 88.3799 8.65989 87.8952 9.3019C87.4105 9.92655 87.1681 10.8288 87.1681 12.0087C87.1681 13.1886 87.4105 14.0996 87.8952 14.7416C88.3799 15.3662 89.0291 15.6786 89.8427 15.6786C90.9852 15.6786 91.7555 15.1233 92.1537 14.0128H96.8795C96.4987 15.7133 95.6937 17.0493 94.4647 18.021C93.2356 18.9927 91.7209 19.4785 89.9206 19.4785C88.5011 19.4785 87.2374 19.1749 86.1295 18.5676C85.0389 17.9603 84.182 17.0927 83.5588 15.9648C82.9529 14.837 82.65 13.5183 82.65 12.0087Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M106.291 15.4964V19.2703H104.032C102.423 19.2703 101.167 18.8799 100.267 18.0991C99.3672 17.3009 98.9171 16.0082 98.9171 14.221V8.443H97.1514V4.74714H98.9171V1.20745H103.357V4.74714H106.266V8.443H103.357V14.2731C103.357 14.7069 103.461 15.0192 103.669 15.2101C103.877 15.4009 104.223 15.4964 104.708 15.4964H106.291Z\" }));\nexport default SvgConnect;\n","import * as React from \"react\";\nconst SvgLogo = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 26, height: 26, viewBox: \"0 0 26 26\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M20.105 7.37978C19.9097 7.18452 19.9097 6.86795 20.105 6.67269L22.5725 4.20504C24.9229 6.75889 26.0649 10.0248 25.9972 13.2723L20.105 7.37978ZM16.1222 10.6556C15.927 10.8509 15.927 11.1674 16.1222 11.3627L24.2614 19.5023C25.125 18.0079 25.667 16.378 25.8875 14.7149L19.3289 8.15595C19.1336 7.96068 18.817 7.96068 18.6218 8.15595L16.1222 10.6556ZM0.00284613 12.729C-0.0649083 15.9752 1.07706 19.2411 3.42753 21.7962L5.89504 19.3285C6.09029 19.1333 6.09029 18.8167 5.89504 18.6214L0.00284613 12.729ZM4.20485 22.5723C6.75858 24.9229 10.0256 26.0649 13.2716 25.9972L7.37946 20.1047C7.1842 19.9094 6.8676 19.9094 6.67234 20.1047L4.20485 22.5723ZM13.0519 18.5174C13.2472 18.3222 13.2472 18.0056 13.0519 17.8103L1.73982 6.49772C0.87626 7.99209 0.334223 9.62072 0.113713 11.2851L9.84523 21.0171C10.0405 21.2124 10.3571 21.2124 10.5524 21.0171L13.0519 18.5174ZM9.60276 7.08454C9.78969 6.88798 9.7858 6.57823 9.594 6.38642L5.55009 2.34233C4.93783 2.77105 4.35391 3.25889 3.80695 3.80588C3.25998 4.35287 2.77216 4.93684 2.34346 5.54912L6.3864 9.59111C6.57859 9.78325 6.88907 9.7867 7.08548 9.59887L8.47817 8.26702L9.60276 7.08454ZM11.2072 21.6733C11.012 21.8685 11.012 22.1851 11.2072 22.3804L14.7142 25.8875C16.3785 25.667 18.0071 25.1249 19.5013 24.2613L14.4139 19.1736C14.2186 18.9783 13.902 18.9783 13.7067 19.1736L11.2072 21.6733ZM23.6565 20.4496L11.0843 7.87683C10.8891 7.68156 10.5725 7.68156 10.3772 7.87683L7.87766 10.3765C7.68241 10.5718 7.68241 10.8883 7.87766 11.0836L20.4499 23.6564C21.0622 23.2277 21.6461 22.7398 22.193 22.1929C22.74 21.6459 23.2278 21.0619 23.6565 20.4496ZM17.8445 7.37855C18.0397 7.18329 18.0397 6.86672 17.8445 6.67146L11.2858 0.112477C9.62151 0.332998 7.99294 0.875053 6.49865 1.73866L14.6378 9.87821C14.8331 10.0735 15.1497 10.0735 15.3449 9.87821L17.8445 7.37855ZM21.7951 3.42769C19.2414 1.07712 15.9744 -0.0649114 12.7284 0.00284625L18.6205 5.89529C18.8158 6.09056 19.1324 6.09056 19.3277 5.89529L21.7951 3.42769Z\", fill: \"url(#paint0_linear_526_12008)\" }), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"paint0_linear_526_12008\", x1: 13, y1: 0, x2: 13, y2: 26, gradientUnits: \"userSpaceOnUse\" }, /* @__PURE__ */ React.createElement(\"stop\", { stopColor: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"currentColor\" }))));\nexport default SvgLogo;\n","import { useConnectConfig, useLogin, useShowAddDriveModal } from '#hooks';\nimport {\n ConnectSidebar,\n Icon,\n SidebarAddDriveItem,\n SidebarItem,\n type UiDriveNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser';\nimport { logger } from 'document-drive';\nimport { useCallback } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { useNavigate } from 'react-router-dom';\nimport { useModal } from './modal/index.js';\n\nexport default function Sidebar() {\n const { showModal } = useModal();\n const navigate = useNavigate();\n\n const { user, openRenown, logout } = useLogin();\n const { driveNodes, setSelectedNode, selectedNode } = useUiNodesContext();\n const [config] = useConnectConfig();\n const showAddDriveModal = useShowAddDriveModal();\n const connectDebug = localStorage.getItem('CONNECT_DEBUG') === 'true';\n\n const onClickSettings = () => {\n showModal('settingsModal', { onRefresh: () => navigate(0) });\n };\n\n const onRootClick = useCallback(() => {\n setSelectedNode(null);\n navigate('/');\n }, [navigate, setSelectedNode]);\n\n const onAddDriveClick = useCallback(() => {\n showAddDriveModal();\n }, [showAddDriveModal]);\n\n const headerContent = (\n <div className=\"flex h-full items-center\">\n <Icon\n name=\"Connect\"\n className=\"!h-[30px] !w-[100px] cursor-pointer\"\n onClick={onRootClick}\n />\n {connectDebug && (\n <button\n aria-label=\"Home\"\n id=\"connect-debug-button\"\n className=\"ml-6\"\n onClick={() => showModal('debugSettingsModal', {})}\n >\n <img src=\"settings.png\" className=\"h-5 text-gray-600\" />\n </button>\n )}\n </div>\n );\n\n const handleDriveClick = useCallback(\n (driveNode: UiDriveNode) => {\n setSelectedNode(driveNode);\n },\n [setSelectedNode],\n );\n\n const etherscanUrl = user?.address\n ? `https://etherscan.io/address/${user.address}`\n : '';\n\n return (\n <ConnectSidebar\n id=\"sidebar\"\n onClick={() => onRootClick()}\n onClickSettings={onClickSettings}\n headerContent={headerContent}\n address={user?.address}\n onLogin={openRenown}\n onDisconnect={logout}\n etherscanUrl={etherscanUrl}\n >\n <ErrorBoundary\n fallback={\n <div className=\"text-center\">\n There was an error loading drives\n </div>\n }\n onError={logger.error}\n >\n {driveNodes.map((node, index) => (\n <SidebarItem\n key={index}\n title={node.name}\n onClick={() => handleDriveClick(node)}\n active={selectedNode?.id === node.id}\n icon={\n node.icon ? (\n <img\n src={node.icon}\n alt={node.name}\n width={32}\n height={32}\n />\n ) : undefined\n }\n />\n ))}\n {config.drives.addDriveEnabled && (\n <SidebarAddDriveItem onClick={onAddDriveClick} />\n )}\n </ErrorBoundary>\n </ConnectSidebar>\n );\n}\n","import IconConnect from '#assets/icons/connect.svg?react';\nimport IconLogo from '#assets/icons/logo.svg?react';\nimport { ModalManager } from '#components';\nimport {\n isElectron,\n isMac,\n useLoadInitialData,\n useLogin,\n useNodeNavigation,\n} from '#hooks';\nimport { logger } from 'document-drive';\nimport { Suspense, useEffect } from 'react';\nimport { Outlet, useNavigate, useSearchParams } from 'react-router-dom';\nimport Sidebar from './sidebar.js';\n\nexport default function Root() {\n useLoadInitialData();\n useNodeNavigation();\n\n const navigate = useNavigate();\n const { login } = useLogin();\n\n useEffect(() => {\n window.electronAPI?.ready();\n }, []);\n\n const [searchParams, setSearchParams] = useSearchParams();\n\n useEffect(() => {\n const userStr = searchParams.get('user');\n if (userStr && login) {\n const userDid = decodeURIComponent(userStr);\n searchParams.delete('user');\n setSearchParams(searchParams);\n login(userDid).catch(logger.error);\n }\n }, [login, searchParams, setSearchParams]);\n\n useEffect(() => {\n const unsubscribe = window.electronAPI?.handleURL((_e, url) => {\n navigate(`/${url}`);\n });\n\n return unsubscribe;\n }, [navigate]);\n\n return (\n <ModalManager>\n <div className=\"h-screen\">\n {isElectron && (\n <div\n className={`h-8 w-full\n ${isMac && 'justify-center'}\n flex items-center bg-gray-50`}\n >\n <IconLogo className=\"ml-1 mr-0.5 p-1.5\" />\n <IconConnect className=\"h-3 w-fit\" />\n </div>\n )}\n <div\n className={`flex items-stretch overflow-auto\n ${isElectron ? 'h-app-height' : 'h-screen'}\n `}\n role=\"presentation\"\n tabIndex={0}\n >\n <Suspense name=\"Root\">\n <Sidebar />\n <div className=\"relative flex-1 overflow-auto\">\n <Outlet />\n </div>\n </Suspense>\n </div>\n </div>\n </ModalManager>\n );\n}\n","import { useTranslation } from 'react-i18next';\n\nexport const ReloadConnectToast = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <p className=\"font-medium\">{t('notifications.reloadApp')}</p>\n <button\n onClick={() => location.reload()}\n className=\"underline decoration-solid underline-offset-2\"\n >\n {t('common.reloadConnect')} 🔄\n </button>\n </div>\n );\n};\n","import { useUnwrappedReactor } from '#store';\nimport { LOCAL } from '@powerhousedao/design-system';\nimport { getDriveIdBySlug } from '@powerhousedao/reactor-browser/utils/switchboard';\nimport {\n logger,\n type PullResponderTrigger,\n type PullResponderTriggerData,\n type Trigger,\n} from 'document-drive';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport type ClientErrorHandler = {\n strandsErrorHandler: (\n driveId: string,\n trigger: Trigger,\n status: number,\n errorMessage: string,\n ) => Promise<void>;\n};\n\nconst DELAY_LIMIT = 100000;\n\nconst isListenerIdNotFound = (errorMessage: string, listenerId?: string) => {\n if (!listenerId) return false;\n\n return errorMessage\n .toLocaleLowerCase()\n .includes(`transmitter ${listenerId} not found`);\n};\n\nexport const useClientErrorHandler = (): ClientErrorHandler => {\n const [handlingInProgress, setHandlingInProgress] = useState<string[]>([]);\n const [pullResponderTriggerMap, setPullResponderTriggerMap] = useState<\n Map<string, PullResponderTrigger>\n >(new Map());\n const {\n addTrigger,\n removeTrigger,\n registerNewPullResponderTrigger,\n renameDrive,\n addRemoteDrive,\n documentDrives,\n setDriveSharingType,\n } = useDocumentDriveServer();\n\n const reactor = useUnwrappedReactor();\n\n const pullResponderRegisterDelay = useRef<Map<string, number>>(new Map());\n\n const handleStrands400 = useCallback(\n async (driveId: string, trigger: Trigger, handlerCode: string) => {\n setHandlingInProgress(state => [...state, handlerCode]);\n\n const triggerData =\n trigger.data as unknown as PullResponderTriggerData;\n\n try {\n let pullResponderTrigger =\n pullResponderTriggerMap.get(handlerCode);\n\n if (!pullResponderTrigger) {\n pullResponderTrigger =\n await registerNewPullResponderTrigger(\n driveId,\n triggerData.url,\n {\n pullInterval:\n Number(triggerData.interval) || 3000,\n },\n );\n\n pullResponderTriggerMap.set(\n handlerCode,\n pullResponderTrigger,\n );\n setPullResponderTriggerMap(pullResponderTriggerMap);\n }\n\n await removeTrigger(driveId, trigger.id);\n await addTrigger(driveId, pullResponderTrigger);\n\n pullResponderRegisterDelay.current.delete(handlerCode);\n } catch (error) {\n const delay =\n pullResponderRegisterDelay.current.get(handlerCode) || 1;\n pullResponderRegisterDelay.current.set(\n handlerCode,\n delay === DELAY_LIMIT ? delay : delay * 10,\n );\n\n logger.error(error);\n } finally {\n setHandlingInProgress(state =>\n state.filter(code => code !== handlerCode),\n );\n }\n },\n [\n pullResponderTriggerMap,\n removeTrigger,\n addTrigger,\n pullResponderRegisterDelay,\n registerNewPullResponderTrigger,\n ],\n );\n\n const handleDriveNotFound = useCallback(\n async (driveId: string, trigger: Trigger, handlerCode: string) => {\n setHandlingInProgress(state => [...state, handlerCode]);\n try {\n // get local drive by id\n const drive = documentDrives.find(\n drive => drive.header.id === driveId,\n );\n if (!drive) return;\n await removeTrigger(driveId, trigger.id);\n\n await renameDrive(\n driveId,\n drive.state.global.name + ` (${drive.header.id})`,\n );\n\n await setDriveSharingType(driveId, LOCAL);\n\n if (trigger.data?.url && drive.header.slug) {\n const newId = await getDriveIdBySlug(\n trigger.data.url,\n drive.header.slug,\n );\n if (newId) {\n const urlParts = trigger.data.url.split('/');\n urlParts[urlParts.length - 1] = newId;\n const newUrl = urlParts.join('/');\n\n await addRemoteDrive(newUrl, {\n availableOffline: true,\n sharingType: 'PUBLIC',\n listeners: [],\n triggers: [],\n });\n }\n }\n } catch (e: unknown) {\n logger.error(e);\n } finally {\n setHandlingInProgress(state =>\n state.filter(code => code !== handlerCode),\n );\n }\n },\n [\n documentDrives,\n removeTrigger,\n renameDrive,\n setDriveSharingType,\n getDriveIdBySlug,\n addRemoteDrive,\n ],\n );\n\n const strandsErrorHandler: ClientErrorHandler['strandsErrorHandler'] =\n useCallback(\n async (driveId, trigger, status, errorMessage) => {\n switch (status) {\n case 400: {\n if (\n isListenerIdNotFound(\n errorMessage,\n trigger.data?.listenerId,\n )\n ) {\n const autoRegisterPullResponder =\n localStorage.getItem(\n 'AUTO_REGISTER_PULL_RESPONDER',\n ) !== 'false';\n\n if (!autoRegisterPullResponder) return;\n const handlerCode = `strands:${driveId}:${status}`;\n\n if (handlingInProgress.includes(handlerCode))\n return;\n if (!trigger.data) return;\n\n const delay =\n pullResponderRegisterDelay.current.get(\n handlerCode,\n ) || 0;\n\n setTimeout(\n () =>\n handleStrands400(\n driveId,\n trigger,\n handlerCode,\n ),\n delay,\n );\n }\n\n break;\n }\n\n case 404: {\n const handlerCode = `strands:${driveId}:${status}`;\n if (handlingInProgress.includes(handlerCode)) return;\n setTimeout(\n () =>\n handleDriveNotFound(\n driveId,\n trigger,\n handlerCode,\n ),\n 0,\n );\n break;\n }\n }\n },\n [handleDriveNotFound, handleStrands400, handlingInProgress],\n );\n\n return useMemo(() => ({ strandsErrorHandler }), [strandsErrorHandler]);\n};\n","const currentVersion = import.meta.env.APP_VERSION;\n\nexport const isElectron = window.navigator.userAgent.includes('Electron');\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const isMac = window.navigator.appVersion.includes('Mac');\n\nconst urlBranchMap: Record<string, string> = {\n 'staging/makerdao': 'deployments/staging/makerdao',\n 'staging/arbitrum': 'arb-ltip',\n 'staging/powerhouse': 'staging',\n makerdao: 'deployments/makerdao',\n arbitrum: 'deployments/arbitrum',\n arbgrants: 'deployments/arbitrum',\n localhost: 'develop',\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink =\n 'https://raw.githubusercontent.com/powerhouse-inc/connect';\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find(env => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { ReloadConnectToast } from '#components';\nimport { useReadModeContext } from '#context';\nimport { useDocumentDriveServer, useMakeUiDriveNode } from '#hooks';\n// import { createReactor } from '#store';\n// import { useInitializeReactor } from '@powerhousedao/common';\nimport {\n CONFLICT,\n ERROR,\n LOCAL,\n SUCCESS,\n type UiDriveNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser';\nimport { logger, type DocumentDriveDocument } from 'document-drive';\nimport { type TFunction } from 'i18next';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from '../services/toast.js';\nimport { useClientErrorHandler } from './useClientErrorHandler.js';\nimport { useConnectConfig } from './useConnectConfig.js';\nimport { useDocumentDrives } from './useDocumentDrives.js';\nimport { isLatestVersion } from './utils.js';\n\nexport const useLoadInitialData = () => {\n const { t } = useTranslation();\n const { reactorLoaded, documentDrives, onSyncStatus } =\n useDocumentDriveServer();\n const { driveNodes, setDriveNodes } = useUiNodesContext();\n const prevDrivesState = useRef([...driveNodes]);\n const drivesWithError = useRef<UiDriveNode[]>([]);\n const [, , serverSubscribeUpdates] = useDocumentDrives();\n const { readDrives } = useReadModeContext();\n const clientErrorHandler = useClientErrorHandler();\n const [connectConfig] = useConnectConfig();\n // useInitializeReactor(createReactor);\n\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes('-')) {\n return true;\n }\n\n if (\n import.meta.env.MODE === 'development' ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n `Connect is outdated: \\nCurrent: ${result.currentVersion}\\nLatest: ${result.latestVersion}`,\n );\n } else {\n toast(<ReloadConnectToast />, {\n type: 'connect-warning',\n toastId: 'outdated-app',\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n\n useEffect(() => {\n const unsubscribe = serverSubscribeUpdates(clientErrorHandler);\n return unsubscribe;\n }, [serverSubscribeUpdates, documentDrives, clientErrorHandler]);\n\n const checkDrivesErrors = useCallback(\n async (driveNodes: UiDriveNode[], t: TFunction) => {\n driveNodes.forEach(drive => {\n const prevDrive = prevDrivesState.current.find(\n prevDrive => prevDrive.id === drive.id,\n );\n\n if (!prevDrive) return;\n\n if (\n drive.sharingType !== LOCAL &&\n drive.syncStatus === SUCCESS &&\n drivesWithError.current.includes(drive)\n ) {\n // remove the drive from the error list\n drivesWithError.current = drivesWithError.current.filter(\n d => d.id !== drive.id,\n );\n\n return toast(t('notifications.driveSyncSuccess'), {\n type: 'connect-success',\n });\n }\n\n if (\n (drive.syncStatus === CONFLICT ||\n drive.syncStatus === ERROR) &&\n drive.syncStatus !== prevDrive.syncStatus\n ) {\n // add the drive to the error list\n drivesWithError.current.push(drive);\n }\n });\n\n prevDrivesState.current = [...driveNodes];\n\n if (drivesWithError.current.length > 0) {\n const isCurrent = await checkLatestVersion();\n if (isCurrent) {\n drivesWithError.current.forEach(drive => {\n toast(\n t(\n `notifications.${drive.syncStatus === CONFLICT ? 'driveSyncConflict' : 'driveSyncError'}`,\n { drive: drive.name },\n ),\n {\n type: 'connect-warning',\n toastId: `${drive.syncStatus === CONFLICT ? 'driveSyncConflict' : 'driveSyncError'}-${drive.id}`,\n },\n );\n });\n }\n }\n },\n [],\n );\n\n useEffect(() => {\n checkDrivesErrors(driveNodes, t).catch(console.error);\n }, [driveNodes, t, checkDrivesErrors]);\n\n const makeUiDriveNode = useMakeUiDriveNode();\n\n const makeUiDriveNodes = useCallback(\n async (documentDrives: DocumentDriveDocument[]) => {\n return Promise.all(documentDrives.map(makeUiDriveNode));\n },\n [makeUiDriveNode],\n );\n\n const updateUiDriveNodes = useCallback(\n async (documentDrives: DocumentDriveDocument[]) => {\n const uiDriveNodes = await makeUiDriveNodes(documentDrives);\n setDriveNodes(uiDriveNodes);\n },\n [makeUiDriveNodes, setDriveNodes],\n );\n useEffect(() => {\n const drives: DocumentDriveDocument[] = [\n ...readDrives,\n ...documentDrives,\n ];\n updateUiDriveNodes(drives).catch(console.error);\n }, [documentDrives, readDrives, updateUiDriveNodes]);\n\n useEffect(() => {\n if (!reactorLoaded) {\n return;\n }\n\n const unsub = onSyncStatus(() => updateUiDriveNodes(documentDrives));\n return unsub;\n }, [reactorLoaded, documentDrives, onSyncStatus, updateUiDriveNodes]);\n};\n","import {\n DRIVE,\n FILE,\n type UiDriveNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { useEffect } from 'react';\nimport { useLocation, useNavigate, useParams } from 'react-router-dom';\n\ntype RouteParams = {\n driveId?: string;\n '*'?: string;\n};\n\nfunction buildPathname(selectedNodePath: UiNode[]) {\n const driveNode = selectedNodePath[0];\n if (!driveNode) {\n return;\n }\n if (driveNode.kind !== DRIVE) {\n throw new Error(\n 'Node path is invalid, first node is not a drive node.',\n );\n }\n const driveNodeComponent = makeDriveNodeUrlComponent(driveNode);\n const nodePathComponents = selectedNodePath\n .slice(1)\n .map(node => encodeURIComponent(node.slug || node.name));\n const pathname = [driveNodeComponent, ...nodePathComponents].join('/');\n return pathname;\n}\n\nfunction makeDriveNodeUrlComponent(driveNode: UiDriveNode) {\n const component = driveNode.slug || driveNode.name || driveNode.id;\n\n return `/d/${encodeURIComponent(component)}`;\n}\n\nfunction getSelectedNodeFromPathname(\n driveNodes: (UiDriveNode | null)[],\n driveIdFromPathname: string | undefined,\n nodeNamesFromPathname: string | undefined,\n) {\n if (!driveIdFromPathname) {\n return null;\n }\n\n const driveId = decodeURIComponent(driveIdFromPathname);\n const driveNode = driveNodes.find(\n node =>\n node?.id === driveId ||\n node?.slug === driveId ||\n node?.name === driveId,\n );\n\n if (!driveNode) return null;\n if (!nodeNamesFromPathname) return driveNode;\n\n const nodeNames = nodeNamesFromPathname\n .split('/')\n .filter(Boolean)\n .map(decodeURIComponent);\n\n let selectedNode: UiNode = driveNode;\n\n for (const nodeName of nodeNames) {\n if (selectedNode.kind === FILE) break;\n\n const nextNode: UiNode | undefined = selectedNode.children.find(\n node => node.slug === nodeName || node.name === nodeName,\n );\n\n if (!nextNode) {\n console.error('Node not found:', nodeName);\n break;\n }\n\n selectedNode = nextNode;\n }\n\n return selectedNode;\n}\n\nexport const useNodeNavigation = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const { search, pathname } = location;\n const params = useParams<RouteParams>();\n const { driveNodes, selectedNode, selectedNodePath, setSelectedNode } =\n useUiNodesContext();\n const driveIdFromPathname = params.driveId;\n const nodeNamesFromPathname = params['*'];\n const selectedNodeFromPathname = getSelectedNodeFromPathname(\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n );\n const selectedNodePathname = buildPathname(selectedNodePath);\n\n // when selectedNodePathname changes, navigate to the new path\n useEffect(() => {\n if (!selectedNodePathname || selectedNodePathname === pathname) return;\n\n navigate({ pathname: selectedNodePathname, search });\n }, [search, navigate, selectedNodePathname]);\n\n // on first load, set the selected node from the pathname\n // defaults to setting the first drive node if no drive node is found\n useEffect(() => {\n if (selectedNode || !selectedNodeFromPathname) return;\n\n setSelectedNode(selectedNodeFromPathname);\n }, [selectedNode, selectedNodeFromPathname, setSelectedNode]);\n\n // respond to changes in the url (browser back and forward buttons)\n // update the selected node accordingly\n useEffect(() => {\n const selectedNodeFromPathname = getSelectedNodeFromPathname(\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n );\n\n if (!selectedNodeFromPathname) return;\n\n setSelectedNode(selectedNodeFromPathname);\n }, [\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n setSelectedNode,\n ]);\n};\n"],"names":["SvgConnect","props","React","SvgLogo","Sidebar","showModal","useModal","navigate","useNavigate","user","openRenown","logout","useLogin","driveNodes","setSelectedNode","selectedNode","useUiNodesContext","config","useConnectConfig","showAddDriveModal","useShowAddDriveModal","connectDebug","onClickSettings","onRootClick","useCallback","onAddDriveClick","headerContent","jsxs","jsx","Icon","handleDriveClick","driveNode","etherscanUrl","ConnectSidebar","ErrorBoundary","logger","node","index","SidebarItem","SidebarAddDriveItem","Root","useLoadInitialData","useNodeNavigation","login","useEffect","_a","searchParams","setSearchParams","useSearchParams","userStr","userDid","_e","url","ModalManager","isElectron","isMac","IconLogo","IconConnect","Suspense","Outlet","ReloadConnectToast","t","useTranslation","DELAY_LIMIT","isListenerIdNotFound","errorMessage","listenerId","useClientErrorHandler","handlingInProgress","setHandlingInProgress","useState","pullResponderTriggerMap","setPullResponderTriggerMap","addTrigger","removeTrigger","registerNewPullResponderTrigger","renameDrive","addRemoteDrive","documentDrives","setDriveSharingType","useDocumentDriveServer","useUnwrappedReactor","pullResponderRegisterDelay","useRef","handleStrands400","driveId","trigger","handlerCode","state","triggerData","pullResponderTrigger","error","delay","code","handleDriveNotFound","drive","LOCAL","newId","getDriveIdBySlug","urlParts","newUrl","e","strandsErrorHandler","status","useMemo","currentVersion","urlBranchMap","getGithubLinkFromUrl","githubLink","env","value","fetchLatestVersion","link","data","version","isLatestVersion","deployed","reactorLoaded","onSyncStatus","setDriveNodes","prevDrivesState","drivesWithError","serverSubscribeUpdates","useDocumentDrives","readDrives","useReadModeContext","clientErrorHandler","connectConfig","checkLatestVersion","result","toast","checkDrivesErrors","prevDrive","SUCCESS","d","CONFLICT","ERROR","makeUiDriveNode","useMakeUiDriveNode","makeUiDriveNodes","updateUiDriveNodes","uiDriveNodes","drives","buildPathname","selectedNodePath","DRIVE","driveNodeComponent","makeDriveNodeUrlComponent","nodePathComponents","component","getSelectedNodeFromPathname","driveIdFromPathname","nodeNamesFromPathname","nodeNames","nodeName","FILE","nextNode","location","useLocation","search","pathname","params","useParams","selectedNodeFromPathname","selectedNodePathname"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"root.B0MB5MLe.js","sources":["../../assets/icons/connect.svg?react","../../assets/icons/logo.svg?react","../../src/components/sidebar.tsx","../../src/components/root.tsx","../../src/components/toast/reload-connect-toast.tsx","../../src/hooks/useClientErrorHandler.ts","../../src/hooks/utils.ts","../../src/hooks/useLoadInitialData.tsx","../../src/hooks/useNodeNavigation.ts"],"sourcesContent":["import * as React from \"react\";\nconst SvgConnect = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 107, height: 20, viewBox: \"0 0 107 20\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0.666504 10.1087C0.666504 8.30419 1.056 6.69918 1.83499 5.29371C2.61398 3.8709 3.6959 2.76908 5.08077 1.98827C6.48295 1.1901 8.0669 0.791016 9.83261 0.791016C11.9965 0.791016 13.8487 1.36361 15.3894 2.50881C16.9301 3.654 17.9601 5.21563 18.4794 7.1937H13.5977C13.2342 6.43023 12.7149 5.84896 12.0397 5.44988C11.3819 5.05079 10.6289 4.85125 9.78067 4.85125C8.41311 4.85125 7.30522 5.32842 6.45699 6.28275C5.60876 7.23708 5.18464 8.51241 5.18464 10.1087C5.18464 11.7051 5.60876 12.9804 6.45699 13.9347C7.30522 14.8891 8.41311 15.3662 9.78067 15.3662C10.6289 15.3662 11.3819 15.1667 12.0397 14.7676C12.7149 14.3685 13.2342 13.7872 13.5977 13.0238H18.4794C17.9601 15.0018 16.9301 16.5635 15.3894 17.7087C13.8487 18.8365 11.9965 19.4004 9.83261 19.4004C8.0669 19.4004 6.48295 19.01 5.08077 18.2292C3.6959 17.431 2.61398 16.3292 1.83499 14.9238C1.056 13.5183 0.666504 11.9133 0.666504 10.1087Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M26.7553 19.4785C25.3358 19.4785 24.0548 19.1749 22.9123 18.5676C21.7871 17.9603 20.8956 17.0927 20.2378 15.9648C19.5973 14.837 19.277 13.5183 19.277 12.0087C19.277 10.5165 19.6059 9.20646 20.2638 8.07862C20.9216 6.93343 21.8217 6.05718 22.9642 5.44988C24.1068 4.84258 25.3878 4.53893 26.8073 4.53893C28.2267 4.53893 29.5078 4.84258 30.6503 5.44988C31.7928 6.05718 32.693 6.93343 33.3508 8.07862C34.0086 9.20646 34.3375 10.5165 34.3375 12.0087C34.3375 13.5009 33.9999 14.8197 33.3248 15.9648C32.667 17.0927 31.7582 17.9603 30.5983 18.5676C29.4558 19.1749 28.1748 19.4785 26.7553 19.4785ZM26.7553 15.6265C27.6036 15.6265 28.322 15.3142 28.9105 14.6895C29.5164 14.0649 29.8193 13.1713 29.8193 12.0087C29.8193 10.8462 29.5251 9.95257 28.9365 9.32792C28.3652 8.70327 27.6555 8.39095 26.8073 8.39095C25.9417 8.39095 25.2233 8.70327 24.6521 9.32792C24.0808 9.93522 23.7952 10.8288 23.7952 12.0087C23.7952 13.1713 24.0721 14.0649 24.6261 14.6895C25.1973 15.3142 25.9071 15.6265 26.7553 15.6265Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M44.483 4.59098C46.1795 4.59098 47.5297 5.14623 48.5337 6.25672C49.5551 7.34986 50.0658 8.85944 50.0658 10.7854V19.2703H45.6515V11.3841C45.6515 10.4124 45.4005 9.6576 44.8985 9.11971C44.3964 8.58181 43.7213 8.31286 42.8731 8.31286C42.0249 8.31286 41.3497 8.58181 40.8477 9.11971C40.3457 9.6576 40.0947 10.4124 40.0947 11.3841V19.2703H35.6545V4.74714H40.0947V6.67315C40.5448 6.03115 41.1507 5.52796 41.9123 5.16358C42.674 4.78185 43.5309 4.59098 44.483 4.59098Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M60.9412 4.59098C62.6376 4.59098 63.9879 5.14623 64.9919 6.25672C66.0133 7.34986 66.5239 8.85944 66.5239 10.7854V19.2703H62.1096V11.3841C62.1096 10.4124 61.8586 9.6576 61.3566 9.11971C60.8546 8.58181 60.1795 8.31286 59.3313 8.31286C58.483 8.31286 57.8079 8.58181 57.3059 9.11971C56.8039 9.6576 56.5529 10.4124 56.5529 11.3841V19.2703H52.1126V4.74714H56.5529V6.67315C57.0029 6.03115 57.6088 5.52796 58.3705 5.16358C59.1322 4.78185 59.9891 4.59098 60.9412 4.59098Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M82.2291 11.7745C82.2291 12.1909 82.2031 12.6247 82.1512 13.0758H72.1022C72.1715 13.9781 72.4571 14.6722 72.9591 15.158C73.4784 15.6265 74.1103 15.8607 74.8546 15.8607C75.9625 15.8607 76.7329 15.3923 77.1656 14.4553H81.8915C81.6491 15.4096 81.2077 16.2685 80.5672 17.032C79.944 17.7954 79.1564 18.3941 78.2043 18.8278C77.2522 19.2616 76.1876 19.4785 75.0104 19.4785C73.5909 19.4785 72.3272 19.1749 71.2194 18.5676C70.1115 17.9603 69.2459 17.0927 68.6227 15.9648C67.9995 14.837 67.6879 13.5183 67.6879 12.0087C67.6879 10.4991 67.9909 9.18044 68.5968 8.05259C69.2199 6.92475 70.0855 6.05718 71.1934 5.44988C72.3013 4.84258 73.5736 4.53893 75.0104 4.53893C76.4126 4.53893 77.659 4.8339 78.7496 5.42385C79.8402 6.0138 80.6884 6.85534 81.2943 7.94848C81.9175 9.04163 82.2291 10.317 82.2291 11.7745ZM77.685 10.6033C77.685 9.83979 77.4253 9.23249 76.906 8.78135C76.3866 8.33022 75.7375 8.10465 74.9585 8.10465C74.2141 8.10465 73.5823 8.32154 73.063 8.75533C72.561 9.18911 72.2494 9.80509 72.1282 10.6033H77.685Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M82.65 12.0087C82.65 10.4991 82.9529 9.18044 83.5588 8.05259C84.182 6.92475 85.0389 6.05718 86.1295 5.44988C87.2374 4.84258 88.5011 4.53893 89.9206 4.53893C91.7382 4.53893 93.2529 5.01609 94.4647 5.97042C95.6937 6.92475 96.4987 8.26949 96.8795 10.0046H92.1537C91.7555 8.89414 90.9852 8.33889 89.8427 8.33889C89.0291 8.33889 88.3799 8.65989 87.8952 9.3019C87.4105 9.92655 87.1681 10.8288 87.1681 12.0087C87.1681 13.1886 87.4105 14.0996 87.8952 14.7416C88.3799 15.3662 89.0291 15.6786 89.8427 15.6786C90.9852 15.6786 91.7555 15.1233 92.1537 14.0128H96.8795C96.4987 15.7133 95.6937 17.0493 94.4647 18.021C93.2356 18.9927 91.7209 19.4785 89.9206 19.4785C88.5011 19.4785 87.2374 19.1749 86.1295 18.5676C85.0389 17.9603 84.182 17.0927 83.5588 15.9648C82.9529 14.837 82.65 13.5183 82.65 12.0087Z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M106.291 15.4964V19.2703H104.032C102.423 19.2703 101.167 18.8799 100.267 18.0991C99.3672 17.3009 98.9171 16.0082 98.9171 14.221V8.443H97.1514V4.74714H98.9171V1.20745H103.357V4.74714H106.266V8.443H103.357V14.2731C103.357 14.7069 103.461 15.0192 103.669 15.2101C103.877 15.4009 104.223 15.4964 104.708 15.4964H106.291Z\" }));\nexport default SvgConnect;\n","import * as React from \"react\";\nconst SvgLogo = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 26, height: 26, viewBox: \"0 0 26 26\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M20.105 7.37978C19.9097 7.18452 19.9097 6.86795 20.105 6.67269L22.5725 4.20504C24.9229 6.75889 26.0649 10.0248 25.9972 13.2723L20.105 7.37978ZM16.1222 10.6556C15.927 10.8509 15.927 11.1674 16.1222 11.3627L24.2614 19.5023C25.125 18.0079 25.667 16.378 25.8875 14.7149L19.3289 8.15595C19.1336 7.96068 18.817 7.96068 18.6218 8.15595L16.1222 10.6556ZM0.00284613 12.729C-0.0649083 15.9752 1.07706 19.2411 3.42753 21.7962L5.89504 19.3285C6.09029 19.1333 6.09029 18.8167 5.89504 18.6214L0.00284613 12.729ZM4.20485 22.5723C6.75858 24.9229 10.0256 26.0649 13.2716 25.9972L7.37946 20.1047C7.1842 19.9094 6.8676 19.9094 6.67234 20.1047L4.20485 22.5723ZM13.0519 18.5174C13.2472 18.3222 13.2472 18.0056 13.0519 17.8103L1.73982 6.49772C0.87626 7.99209 0.334223 9.62072 0.113713 11.2851L9.84523 21.0171C10.0405 21.2124 10.3571 21.2124 10.5524 21.0171L13.0519 18.5174ZM9.60276 7.08454C9.78969 6.88798 9.7858 6.57823 9.594 6.38642L5.55009 2.34233C4.93783 2.77105 4.35391 3.25889 3.80695 3.80588C3.25998 4.35287 2.77216 4.93684 2.34346 5.54912L6.3864 9.59111C6.57859 9.78325 6.88907 9.7867 7.08548 9.59887L8.47817 8.26702L9.60276 7.08454ZM11.2072 21.6733C11.012 21.8685 11.012 22.1851 11.2072 22.3804L14.7142 25.8875C16.3785 25.667 18.0071 25.1249 19.5013 24.2613L14.4139 19.1736C14.2186 18.9783 13.902 18.9783 13.7067 19.1736L11.2072 21.6733ZM23.6565 20.4496L11.0843 7.87683C10.8891 7.68156 10.5725 7.68156 10.3772 7.87683L7.87766 10.3765C7.68241 10.5718 7.68241 10.8883 7.87766 11.0836L20.4499 23.6564C21.0622 23.2277 21.6461 22.7398 22.193 22.1929C22.74 21.6459 23.2278 21.0619 23.6565 20.4496ZM17.8445 7.37855C18.0397 7.18329 18.0397 6.86672 17.8445 6.67146L11.2858 0.112477C9.62151 0.332998 7.99294 0.875053 6.49865 1.73866L14.6378 9.87821C14.8331 10.0735 15.1497 10.0735 15.3449 9.87821L17.8445 7.37855ZM21.7951 3.42769C19.2414 1.07712 15.9744 -0.0649114 12.7284 0.00284625L18.6205 5.89529C18.8158 6.09056 19.1324 6.09056 19.3277 5.89529L21.7951 3.42769Z\", fill: \"url(#paint0_linear_526_12008)\" }), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"linearGradient\", { id: \"paint0_linear_526_12008\", x1: 13, y1: 0, x2: 13, y2: 26, gradientUnits: \"userSpaceOnUse\" }, /* @__PURE__ */ React.createElement(\"stop\", { stopColor: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"stop\", { offset: 1, stopColor: \"currentColor\" }))));\nexport default SvgLogo;\n","import { useConnectConfig, useLogin, useShowAddDriveModal } from '#hooks';\nimport {\n ConnectSidebar,\n Icon,\n SidebarAddDriveItem,\n SidebarItem,\n type UiDriveNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser';\nimport { logger } from 'document-drive';\nimport { useCallback } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { useNavigate } from 'react-router-dom';\nimport { useModal } from './modal/index.js';\n\nexport default function Sidebar() {\n const { showModal } = useModal();\n const navigate = useNavigate();\n\n const { user, openRenown, logout } = useLogin();\n const { driveNodes, setSelectedNode, selectedNode } = useUiNodesContext();\n const [config] = useConnectConfig();\n const showAddDriveModal = useShowAddDriveModal();\n const connectDebug = localStorage.getItem('CONNECT_DEBUG') === 'true';\n\n const onClickSettings = () => {\n showModal('settingsModal', { onRefresh: () => navigate(0) });\n };\n\n const onRootClick = useCallback(() => {\n setSelectedNode(null);\n navigate('/');\n }, [navigate, setSelectedNode]);\n\n const onAddDriveClick = useCallback(() => {\n showAddDriveModal();\n }, [showAddDriveModal]);\n\n const headerContent = (\n <div className=\"flex h-full items-center\">\n <Icon\n name=\"Connect\"\n className=\"!h-[30px] !w-[100px] cursor-pointer\"\n onClick={onRootClick}\n />\n {connectDebug && (\n <button\n aria-label=\"Home\"\n id=\"connect-debug-button\"\n className=\"ml-6\"\n onClick={() => showModal('debugSettingsModal', {})}\n >\n <img src=\"settings.png\" className=\"h-5 text-gray-600\" />\n </button>\n )}\n </div>\n );\n\n const handleDriveClick = useCallback(\n (driveNode: UiDriveNode) => {\n setSelectedNode(driveNode);\n },\n [setSelectedNode],\n );\n\n const etherscanUrl = user?.address\n ? `https://etherscan.io/address/${user.address}`\n : '';\n\n return (\n <ConnectSidebar\n id=\"sidebar\"\n onClick={() => onRootClick()}\n onClickSettings={onClickSettings}\n headerContent={headerContent}\n address={user?.address}\n onLogin={openRenown}\n onDisconnect={logout}\n etherscanUrl={etherscanUrl}\n >\n <ErrorBoundary\n fallback={\n <div className=\"text-center\">\n There was an error loading drives\n </div>\n }\n onError={logger.error}\n >\n {driveNodes.map((node, index) => (\n <SidebarItem\n key={index}\n title={node.name}\n onClick={() => handleDriveClick(node)}\n active={selectedNode?.id === node.id}\n icon={\n node.icon ? (\n <img\n src={node.icon}\n alt={node.name}\n width={32}\n height={32}\n />\n ) : undefined\n }\n />\n ))}\n {config.drives.addDriveEnabled && (\n <SidebarAddDriveItem onClick={onAddDriveClick} />\n )}\n </ErrorBoundary>\n </ConnectSidebar>\n );\n}\n","import IconConnect from '#assets/icons/connect.svg?react';\nimport IconLogo from '#assets/icons/logo.svg?react';\nimport { ModalManager } from '#components';\nimport {\n isElectron,\n isMac,\n useLoadInitialData,\n useLogin,\n useNodeNavigation,\n} from '#hooks';\nimport { logger } from 'document-drive';\nimport { Suspense, useEffect } from 'react';\nimport { Outlet, useNavigate, useSearchParams } from 'react-router-dom';\nimport Sidebar from './sidebar.js';\n\nexport default function Root() {\n useLoadInitialData();\n useNodeNavigation();\n\n const navigate = useNavigate();\n const { login } = useLogin();\n\n useEffect(() => {\n window.electronAPI?.ready();\n }, []);\n\n const [searchParams, setSearchParams] = useSearchParams();\n\n useEffect(() => {\n const userStr = searchParams.get('user');\n if (userStr && login) {\n const userDid = decodeURIComponent(userStr);\n searchParams.delete('user');\n setSearchParams(searchParams);\n login(userDid).catch(logger.error);\n }\n }, [login, searchParams, setSearchParams]);\n\n useEffect(() => {\n const unsubscribe = window.electronAPI?.handleURL((_e, url) => {\n navigate(`/${url}`);\n });\n\n return unsubscribe;\n }, [navigate]);\n\n return (\n <ModalManager>\n <div className=\"h-screen\">\n {isElectron && (\n <div\n className={`h-8 w-full\n ${isMac && 'justify-center'}\n flex items-center bg-gray-50`}\n >\n <IconLogo className=\"ml-1 mr-0.5 p-1.5\" />\n <IconConnect className=\"h-3 w-fit\" />\n </div>\n )}\n <div\n className={`flex items-stretch overflow-auto\n ${isElectron ? 'h-app-height' : 'h-screen'}\n `}\n role=\"presentation\"\n tabIndex={0}\n >\n <Suspense name=\"Root\">\n <Sidebar />\n <div className=\"relative flex-1 overflow-auto\">\n <Outlet />\n </div>\n </Suspense>\n </div>\n </div>\n </ModalManager>\n );\n}\n","import { useTranslation } from 'react-i18next';\n\nexport const ReloadConnectToast = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <p className=\"font-medium\">{t('notifications.reloadApp')}</p>\n <button\n onClick={() => location.reload()}\n className=\"underline decoration-solid underline-offset-2\"\n >\n {t('common.reloadConnect')} 🔄\n </button>\n </div>\n );\n};\n","import { useUnwrappedReactor } from '#store';\nimport { LOCAL } from '@powerhousedao/design-system';\nimport { getDriveIdBySlug } from '@powerhousedao/reactor-browser/utils/switchboard';\nimport {\n logger,\n type PullResponderTrigger,\n type PullResponderTriggerData,\n type Trigger,\n} from 'document-drive';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport type ClientErrorHandler = {\n strandsErrorHandler: (\n driveId: string,\n trigger: Trigger,\n status: number,\n errorMessage: string,\n ) => Promise<void>;\n};\n\nconst DELAY_LIMIT = 100000;\n\nconst isListenerIdNotFound = (errorMessage: string, listenerId?: string) => {\n if (!listenerId) return false;\n\n return errorMessage\n .toLocaleLowerCase()\n .includes(`transmitter ${listenerId} not found`);\n};\n\nexport const useClientErrorHandler = (): ClientErrorHandler => {\n const [handlingInProgress, setHandlingInProgress] = useState<string[]>([]);\n const [pullResponderTriggerMap, setPullResponderTriggerMap] = useState<\n Map<string, PullResponderTrigger>\n >(new Map());\n const {\n addTrigger,\n removeTrigger,\n registerNewPullResponderTrigger,\n renameDrive,\n addRemoteDrive,\n documentDrives,\n setDriveSharingType,\n } = useDocumentDriveServer();\n\n const reactor = useUnwrappedReactor();\n\n const pullResponderRegisterDelay = useRef<Map<string, number>>(new Map());\n\n const handleStrands400 = useCallback(\n async (driveId: string, trigger: Trigger, handlerCode: string) => {\n setHandlingInProgress(state => [...state, handlerCode]);\n\n const triggerData =\n trigger.data as unknown as PullResponderTriggerData;\n\n try {\n let pullResponderTrigger =\n pullResponderTriggerMap.get(handlerCode);\n\n if (!pullResponderTrigger) {\n pullResponderTrigger =\n await registerNewPullResponderTrigger(\n driveId,\n triggerData.url,\n {\n pullInterval:\n Number(triggerData.interval) || 3000,\n },\n );\n\n pullResponderTriggerMap.set(\n handlerCode,\n pullResponderTrigger,\n );\n setPullResponderTriggerMap(pullResponderTriggerMap);\n }\n\n await removeTrigger(driveId, trigger.id);\n await addTrigger(driveId, pullResponderTrigger);\n\n pullResponderRegisterDelay.current.delete(handlerCode);\n } catch (error) {\n const delay =\n pullResponderRegisterDelay.current.get(handlerCode) || 1;\n pullResponderRegisterDelay.current.set(\n handlerCode,\n delay === DELAY_LIMIT ? delay : delay * 10,\n );\n\n logger.error(error);\n } finally {\n setHandlingInProgress(state =>\n state.filter(code => code !== handlerCode),\n );\n }\n },\n [\n pullResponderTriggerMap,\n removeTrigger,\n addTrigger,\n pullResponderRegisterDelay,\n registerNewPullResponderTrigger,\n ],\n );\n\n const handleDriveNotFound = useCallback(\n async (driveId: string, trigger: Trigger, handlerCode: string) => {\n setHandlingInProgress(state => [...state, handlerCode]);\n try {\n // get local drive by id\n const drive = documentDrives.find(\n drive => drive.header.id === driveId,\n );\n if (!drive) return;\n await removeTrigger(driveId, trigger.id);\n\n await renameDrive(\n driveId,\n drive.state.global.name + ` (${drive.header.id})`,\n );\n\n await setDriveSharingType(driveId, LOCAL);\n\n if (trigger.data?.url && drive.header.slug) {\n const newId = await getDriveIdBySlug(\n trigger.data.url,\n drive.header.slug,\n );\n if (newId) {\n const urlParts = trigger.data.url.split('/');\n urlParts[urlParts.length - 1] = newId;\n const newUrl = urlParts.join('/');\n\n await addRemoteDrive(newUrl, {\n availableOffline: true,\n sharingType: 'PUBLIC',\n listeners: [],\n triggers: [],\n });\n }\n }\n } catch (e: unknown) {\n logger.error(e);\n } finally {\n setHandlingInProgress(state =>\n state.filter(code => code !== handlerCode),\n );\n }\n },\n [\n documentDrives,\n removeTrigger,\n renameDrive,\n setDriveSharingType,\n getDriveIdBySlug,\n addRemoteDrive,\n ],\n );\n\n const strandsErrorHandler: ClientErrorHandler['strandsErrorHandler'] =\n useCallback(\n async (driveId, trigger, status, errorMessage) => {\n switch (status) {\n case 400: {\n if (\n isListenerIdNotFound(\n errorMessage,\n trigger.data?.listenerId,\n )\n ) {\n const autoRegisterPullResponder =\n localStorage.getItem(\n 'AUTO_REGISTER_PULL_RESPONDER',\n ) !== 'false';\n\n if (!autoRegisterPullResponder) return;\n const handlerCode = `strands:${driveId}:${status}`;\n\n if (handlingInProgress.includes(handlerCode))\n return;\n if (!trigger.data) return;\n\n const delay =\n pullResponderRegisterDelay.current.get(\n handlerCode,\n ) || 0;\n\n setTimeout(\n () =>\n handleStrands400(\n driveId,\n trigger,\n handlerCode,\n ),\n delay,\n );\n }\n\n break;\n }\n\n case 404: {\n const handlerCode = `strands:${driveId}:${status}`;\n if (handlingInProgress.includes(handlerCode)) return;\n setTimeout(\n () =>\n handleDriveNotFound(\n driveId,\n trigger,\n handlerCode,\n ),\n 0,\n );\n break;\n }\n }\n },\n [handleDriveNotFound, handleStrands400, handlingInProgress],\n );\n\n return useMemo(() => ({ strandsErrorHandler }), [strandsErrorHandler]);\n};\n","const currentVersion = import.meta.env.APP_VERSION;\n\nexport const isElectron = window.navigator.userAgent.includes('Electron');\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const isMac = window.navigator.appVersion.includes('Mac');\n\nconst urlBranchMap: Record<string, string> = {\n 'staging/makerdao': 'deployments/staging/makerdao',\n 'staging/arbitrum': 'arb-ltip',\n 'staging/powerhouse': 'staging',\n makerdao: 'deployments/makerdao',\n arbitrum: 'deployments/arbitrum',\n arbgrants: 'deployments/arbitrum',\n localhost: 'develop',\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink =\n 'https://raw.githubusercontent.com/powerhouse-inc/connect';\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find(env => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { ReloadConnectToast } from '#components';\nimport { useReadModeContext } from '#context';\nimport { useDocumentDriveServer, useMakeUiDriveNode } from '#hooks';\n// import { createReactor } from '#store';\n// import { useInitializeReactor } from '@powerhousedao/common';\nimport {\n CONFLICT,\n ERROR,\n LOCAL,\n SUCCESS,\n type UiDriveNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser';\nimport { logger, type DocumentDriveDocument } from 'document-drive';\nimport { type TFunction } from 'i18next';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from '../services/toast.js';\nimport { useClientErrorHandler } from './useClientErrorHandler.js';\nimport { useConnectConfig } from './useConnectConfig.js';\nimport { useDocumentDrives } from './useDocumentDrives.js';\nimport { isLatestVersion } from './utils.js';\n\nexport const useLoadInitialData = () => {\n const { t } = useTranslation();\n const { reactorLoaded, documentDrives, onSyncStatus } =\n useDocumentDriveServer();\n const { driveNodes, setDriveNodes } = useUiNodesContext();\n const prevDrivesState = useRef([...driveNodes]);\n const drivesWithError = useRef<UiDriveNode[]>([]);\n const [, , serverSubscribeUpdates] = useDocumentDrives();\n const { readDrives } = useReadModeContext();\n const clientErrorHandler = useClientErrorHandler();\n const [connectConfig] = useConnectConfig();\n // useInitializeReactor(createReactor);\n\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes('-')) {\n return true;\n }\n\n if (\n import.meta.env.MODE === 'development' ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n `Connect is outdated: \\nCurrent: ${result.currentVersion}\\nLatest: ${result.latestVersion}`,\n );\n } else {\n toast(<ReloadConnectToast />, {\n type: 'connect-warning',\n toastId: 'outdated-app',\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n\n useEffect(() => {\n const unsubscribe = serverSubscribeUpdates(clientErrorHandler);\n return unsubscribe;\n }, [serverSubscribeUpdates, documentDrives, clientErrorHandler]);\n\n const checkDrivesErrors = useCallback(\n async (driveNodes: UiDriveNode[], t: TFunction) => {\n driveNodes.forEach(drive => {\n const prevDrive = prevDrivesState.current.find(\n prevDrive => prevDrive.id === drive.id,\n );\n\n if (!prevDrive) return;\n\n if (\n drive.sharingType !== LOCAL &&\n drive.syncStatus === SUCCESS &&\n drivesWithError.current.includes(drive)\n ) {\n // remove the drive from the error list\n drivesWithError.current = drivesWithError.current.filter(\n d => d.id !== drive.id,\n );\n\n return toast(t('notifications.driveSyncSuccess'), {\n type: 'connect-success',\n });\n }\n\n if (\n (drive.syncStatus === CONFLICT ||\n drive.syncStatus === ERROR) &&\n drive.syncStatus !== prevDrive.syncStatus\n ) {\n // add the drive to the error list\n drivesWithError.current.push(drive);\n }\n });\n\n prevDrivesState.current = [...driveNodes];\n\n if (drivesWithError.current.length > 0) {\n const isCurrent = await checkLatestVersion();\n if (isCurrent) {\n drivesWithError.current.forEach(drive => {\n toast(\n t(\n `notifications.${drive.syncStatus === CONFLICT ? 'driveSyncConflict' : 'driveSyncError'}`,\n { drive: drive.name },\n ),\n {\n type: 'connect-warning',\n toastId: `${drive.syncStatus === CONFLICT ? 'driveSyncConflict' : 'driveSyncError'}-${drive.id}`,\n },\n );\n });\n }\n }\n },\n [],\n );\n\n useEffect(() => {\n checkDrivesErrors(driveNodes, t).catch(console.error);\n }, [driveNodes, t, checkDrivesErrors]);\n\n const makeUiDriveNode = useMakeUiDriveNode();\n\n const makeUiDriveNodes = useCallback(\n async (documentDrives: DocumentDriveDocument[]) => {\n return Promise.all(documentDrives.map(makeUiDriveNode));\n },\n [makeUiDriveNode],\n );\n\n const updateUiDriveNodes = useCallback(\n async (documentDrives: DocumentDriveDocument[]) => {\n const uiDriveNodes = await makeUiDriveNodes(documentDrives);\n setDriveNodes(uiDriveNodes);\n },\n [makeUiDriveNodes, setDriveNodes],\n );\n useEffect(() => {\n const drives: DocumentDriveDocument[] = [\n ...readDrives,\n ...documentDrives,\n ];\n updateUiDriveNodes(drives).catch(console.error);\n }, [documentDrives, readDrives, updateUiDriveNodes]);\n\n useEffect(() => {\n if (!reactorLoaded) {\n return;\n }\n\n const unsub = onSyncStatus(() => updateUiDriveNodes(documentDrives));\n return unsub;\n }, [reactorLoaded, documentDrives, onSyncStatus, updateUiDriveNodes]);\n};\n","import {\n DRIVE,\n FILE,\n type UiDriveNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { useEffect } from 'react';\nimport { useLocation, useNavigate, useParams } from 'react-router-dom';\n\ntype RouteParams = {\n driveId?: string;\n '*'?: string;\n};\n\nfunction buildPathname(selectedNodePath: UiNode[]) {\n const driveNode = selectedNodePath[0];\n if (!driveNode) {\n return;\n }\n if (driveNode.kind !== DRIVE) {\n throw new Error(\n 'Node path is invalid, first node is not a drive node.',\n );\n }\n const driveNodeComponent = makeDriveNodeUrlComponent(driveNode);\n const nodePathComponents = selectedNodePath\n .slice(1)\n .map(node => encodeURIComponent(node.slug || node.name));\n const pathname = [driveNodeComponent, ...nodePathComponents].join('/');\n return pathname;\n}\n\nfunction makeDriveNodeUrlComponent(driveNode: UiDriveNode) {\n const component = driveNode.slug || driveNode.name || driveNode.id;\n\n return `/d/${encodeURIComponent(component)}`;\n}\n\nfunction getSelectedNodeFromPathname(\n driveNodes: (UiDriveNode | null)[],\n driveIdFromPathname: string | undefined,\n nodeNamesFromPathname: string | undefined,\n) {\n if (!driveIdFromPathname) {\n return null;\n }\n\n const driveId = decodeURIComponent(driveIdFromPathname);\n const driveNode = driveNodes.find(\n node =>\n node?.id === driveId ||\n node?.slug === driveId ||\n node?.name === driveId,\n );\n\n if (!driveNode) return null;\n if (!nodeNamesFromPathname) return driveNode;\n\n const nodeNames = nodeNamesFromPathname\n .split('/')\n .filter(Boolean)\n .map(decodeURIComponent);\n\n let selectedNode: UiNode = driveNode;\n\n for (const nodeName of nodeNames) {\n if (selectedNode.kind === FILE) break;\n\n const nextNode: UiNode | undefined = selectedNode.children.find(\n node => node.slug === nodeName || node.name === nodeName,\n );\n\n if (!nextNode) {\n console.error('Node not found:', nodeName);\n break;\n }\n\n selectedNode = nextNode;\n }\n\n return selectedNode;\n}\n\nexport const useNodeNavigation = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const { search, pathname } = location;\n const params = useParams<RouteParams>();\n const { driveNodes, selectedNode, selectedNodePath, setSelectedNode } =\n useUiNodesContext();\n const driveIdFromPathname = params.driveId;\n const nodeNamesFromPathname = params['*'];\n const selectedNodeFromPathname = getSelectedNodeFromPathname(\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n );\n const selectedNodePathname = buildPathname(selectedNodePath);\n\n // when selectedNodePathname changes, navigate to the new path\n useEffect(() => {\n if (!selectedNodePathname || selectedNodePathname === pathname) return;\n\n navigate({ pathname: selectedNodePathname, search });\n }, [search, navigate, selectedNodePathname]);\n\n // on first load, set the selected node from the pathname\n // defaults to setting the first drive node if no drive node is found\n useEffect(() => {\n if (selectedNode || !selectedNodeFromPathname) return;\n\n setSelectedNode(selectedNodeFromPathname);\n }, [selectedNode, selectedNodeFromPathname, setSelectedNode]);\n\n // respond to changes in the url (browser back and forward buttons)\n // update the selected node accordingly\n useEffect(() => {\n const selectedNodeFromPathname = getSelectedNodeFromPathname(\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n );\n\n if (!selectedNodeFromPathname) return;\n\n setSelectedNode(selectedNodeFromPathname);\n }, [\n driveNodes,\n driveIdFromPathname,\n nodeNamesFromPathname,\n setSelectedNode,\n ]);\n};\n"],"names":["SvgConnect","props","React","SvgLogo","Sidebar","showModal","useModal","navigate","useNavigate","user","openRenown","logout","useLogin","driveNodes","setSelectedNode","selectedNode","useUiNodesContext","config","useConnectConfig","showAddDriveModal","useShowAddDriveModal","connectDebug","onClickSettings","onRootClick","useCallback","onAddDriveClick","headerContent","jsxs","jsx","Icon","handleDriveClick","driveNode","etherscanUrl","ConnectSidebar","ErrorBoundary","logger","node","index","SidebarItem","SidebarAddDriveItem","Root","useLoadInitialData","useNodeNavigation","login","useEffect","_a","searchParams","setSearchParams","useSearchParams","userStr","userDid","_e","url","ModalManager","isElectron","isMac","IconLogo","IconConnect","Suspense","Outlet","ReloadConnectToast","t","useTranslation","DELAY_LIMIT","isListenerIdNotFound","errorMessage","listenerId","useClientErrorHandler","handlingInProgress","setHandlingInProgress","useState","pullResponderTriggerMap","setPullResponderTriggerMap","addTrigger","removeTrigger","registerNewPullResponderTrigger","renameDrive","addRemoteDrive","documentDrives","setDriveSharingType","useDocumentDriveServer","useUnwrappedReactor","pullResponderRegisterDelay","useRef","handleStrands400","driveId","trigger","handlerCode","state","triggerData","pullResponderTrigger","error","delay","code","handleDriveNotFound","drive","LOCAL","newId","getDriveIdBySlug","urlParts","newUrl","e","strandsErrorHandler","status","useMemo","currentVersion","urlBranchMap","getGithubLinkFromUrl","githubLink","env","value","fetchLatestVersion","link","data","version","isLatestVersion","deployed","reactorLoaded","onSyncStatus","setDriveNodes","prevDrivesState","drivesWithError","serverSubscribeUpdates","useDocumentDrives","readDrives","useReadModeContext","clientErrorHandler","connectConfig","checkLatestVersion","result","toast","checkDrivesErrors","prevDrive","SUCCESS","d","CONFLICT","ERROR","makeUiDriveNode","useMakeUiDriveNode","makeUiDriveNodes","updateUiDriveNodes","uiDriveNodes","drives","buildPathname","selectedNodePath","DRIVE","driveNodeComponent","makeDriveNodeUrlComponent","nodePathComponents","component","getSelectedNodeFromPathname","driveIdFromPathname","nodeNamesFromPathname","nodeNames","nodeName","FILE","nextNode","location","useLocation","search","pathname","params","useParams","selectedNodeFromPathname","selectedNodePathname"],"mappings":"0qCACA,MAAMA,GAAcC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,IAAK,OAAQ,GAAI,QAAS,aAAc,KAAM,eAAgB,MAAO,6BAA8B,GAAGD,CAAK,EAAoBC,EAAM,cAAc,OAAQ,CAAE,EAAG,03BAA03B,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,69BAA69B,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,8cAA8c,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,gdAAgd,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,8+BAA8+B,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,sxBAAsxB,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,EAAG,8TAA8T,CAAE,CAAC,ECA12KC,GAAWF,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAK,EAAoBC,EAAM,cAAc,OAAQ,CAAE,EAAG,w5DAAy5D,KAAM,+BAA+B,CAAE,EAAmBA,EAAM,cAAc,OAAQ,KAAsBA,EAAM,cAAc,iBAAkB,CAAE,GAAI,0BAA2B,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,cAAe,gBAAgB,EAAoBA,EAAM,cAAc,OAAQ,CAAE,UAAW,cAAc,CAAE,EAAmBA,EAAM,cAAc,OAAQ,CAAE,OAAQ,EAAG,UAAW,cAAc,CAAE,CAAC,CAAC,CAAC,ECcthF,SAAwBE,IAAU,CAC9B,KAAM,CAAE,UAAAC,CAAA,EAAcC,GAAA,EAChBC,EAAWC,EAAA,EAEX,CAAE,KAAAC,EAAM,WAAAC,EAAY,OAAAC,CAAA,EAAWC,EAAA,EAC/B,CAAE,WAAAC,EAAY,gBAAAC,EAAiB,aAAAC,CAAA,EAAiBC,EAAA,EAChD,CAACC,CAAM,EAAIC,EAAA,EACXC,EAAoBC,EAAA,EACpBC,EAAe,aAAa,QAAQ,eAAe,IAAM,OAEzDC,EAAkB,IAAM,CAC1BjB,EAAU,gBAAiB,CAAE,UAAW,IAAME,EAAS,CAAC,EAAG,CAAA,EAGzDgB,EAAcC,EAAY,IAAM,CAClCV,EAAgB,IAAI,EACpBP,EAAS,GAAG,CAAA,EACb,CAACA,EAAUO,CAAe,CAAC,EAExBW,EAAkBD,EAAY,IAAM,CACtCL,EAAA,CAAkB,EACnB,CAACA,CAAiB,CAAC,EAEhBO,EACFC,EAAC,MAAA,CAAI,UAAU,2BACX,SAAA,CAAAC,EAACC,GAAA,CACG,KAAK,UACL,UAAU,sCACV,QAASN,CAAA,CAAA,EAEZF,GACGO,EAAC,SAAA,CACG,aAAW,OACX,GAAG,uBACH,UAAU,OACV,QAAS,IAAMvB,EAAU,qBAAsB,EAAE,EAEjD,SAAAuB,EAAC,MAAA,CAAI,IAAI,eAAe,UAAU,mBAAA,CAAoB,CAAA,CAAA,CAC1D,EAER,EAGEE,EAAmBN,EACpBO,GAA2B,CACxBjB,EAAgBiB,CAAS,CAAA,EAE7B,CAACjB,CAAe,CAAA,EAGdkB,EAAevB,GAAA,MAAAA,EAAM,QACrB,gCAAgCA,EAAK,OAAO,GAC5C,GAEN,OACImB,EAACK,GAAA,CACG,GAAG,UACH,QAAS,IAAMV,EAAA,EACf,gBAAAD,EACA,cAAAI,EACA,QAASjB,GAAA,YAAAA,EAAM,QACf,QAASC,EACT,aAAcC,EACd,aAAAqB,EAEA,SAAAL,EAACO,EAAA,CACG,SACIN,EAAC,MAAA,CAAI,UAAU,cAAc,SAAA,oCAE7B,EAEJ,QAASO,EAAO,MAEf,SAAA,CAAAtB,EAAW,IAAI,CAACuB,EAAMC,IACnBT,EAACU,GAAA,CAEG,MAAOF,EAAK,KACZ,QAAS,IAAMN,EAAiBM,CAAI,EACpC,QAAQrB,GAAA,YAAAA,EAAc,MAAOqB,EAAK,GAClC,KACIA,EAAK,KACDR,EAAC,MAAA,CACG,IAAKQ,EAAK,KACV,IAAKA,EAAK,KACV,MAAO,GACP,OAAQ,EAAA,CAAA,EAEZ,MAAA,EAZHC,CAAA,CAeZ,EACApB,EAAO,OAAO,iBACXW,EAACW,GAAA,CAAoB,QAASd,CAAA,CAAiB,CAAA,CAAA,CAAA,CAEvD,CAAA,CAGZ,CCjGA,SAAwBe,IAAO,CAC3BC,GAAA,EACAC,GAAA,EAEA,MAAMnC,EAAWC,EAAA,EACX,CAAE,MAAAmC,CAAA,EAAU/B,EAAA,EAElBgC,EAAU,IAAM,QACZC,EAAA,OAAO,cAAP,MAAAA,EAAoB,OAAM,EAC3B,EAAE,EAEL,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAA,EAExC,OAAAJ,EAAU,IAAM,CACZ,MAAMK,EAAUH,EAAa,IAAI,MAAM,EACvC,GAAIG,GAAWN,EAAO,CAClB,MAAMO,EAAU,mBAAmBD,CAAO,EAC1CH,EAAa,OAAO,MAAM,EAC1BC,EAAgBD,CAAY,EAC5BH,EAAMO,CAAO,EAAE,MAAMf,EAAO,KAAK,CAAA,CACrC,EACD,CAACQ,EAAOG,EAAcC,CAAe,CAAC,EAEzCH,EAAU,IAAM,OAKZ,OAJoBC,EAAA,OAAO,cAAP,YAAAA,EAAoB,UAAU,CAACM,EAAIC,IAAQ,CAC3D7C,EAAS,IAAI6C,CAAG,EAAE,CAAA,EAGf,EACR,CAAC7C,CAAQ,CAAC,EAGTqB,EAACyB,GAAA,CACG,SAAA1B,EAAC,MAAA,CAAI,UAAU,WACV,SAAA,CAAA2B,GACG3B,EAAC,MAAA,CACG,UAAW;AAAA,sBACb4B,IAAS,gBAAgB;AAAA,kDAGvB,SAAA,CAAA3B,EAAC4B,GAAA,CAAS,UAAU,mBAAA,CAAoB,EACxC5B,EAAC6B,GAAA,CAAY,UAAU,WAAA,CAAY,CAAA,CAAA,CAAA,EAG3C7B,EAAC,MAAA,CACG,UAAW;AAAA,0BACL0B,EAAa,eAAiB,UAAU;AAAA,sBAE9C,KAAK,eACL,SAAU,EAEV,SAAA3B,EAAC+B,EAAA,CAAS,KAAK,OACX,SAAA,CAAA9B,EAACxB,GAAA,EAAQ,IACR,MAAA,CAAI,UAAU,gCACX,SAAAwB,EAAC+B,IAAO,CAAA,CACZ,CAAA,CAAA,CACJ,CAAA,CAAA,CACJ,CAAA,CACJ,CAAA,CACJ,CAER,CC1EO,MAAMC,GAAqB,IAAM,CACpC,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAA,EAEd,SACK,MAAA,CACG,SAAA,CAAAlC,EAAC,IAAA,CAAE,UAAU,cAAe,SAAAiC,EAAE,yBAAyB,EAAE,EACzDlC,EAAC,SAAA,CACG,QAAS,IAAM,SAAS,OAAA,EACxB,UAAU,gDAET,SAAA,CAAAkC,EAAE,sBAAsB,EAAE,KAAA,CAAA,CAAA,CAC/B,EACJ,CAER,ECKME,GAAc,IAEdC,GAAuB,CAACC,EAAsBC,IAC3CA,EAEED,EACF,oBACA,SAAS,eAAeC,CAAU,YAAY,EAJ3B,GAOfC,GAAwB,IAA0B,CAC3D,KAAM,CAACC,EAAoBC,CAAqB,EAAIC,EAAmB,CAAA,CAAE,EACnE,CAACC,EAAyBC,CAA0B,EAAIF,EAE5D,IAAI,GAAK,EACL,CACF,WAAAG,EACA,cAAAC,EACA,gCAAAC,EACA,YAAAC,EACA,eAAAC,EACA,eAAAC,EACA,oBAAAC,CAAA,EACAC,EAAA,EAEYC,GAAA,EAEhB,MAAMC,EAA6BC,EAA4B,IAAI,GAAK,EAElEC,EAAmB5D,EACrB,MAAO6D,EAAiBC,EAAkBC,IAAwB,CAC9DlB,EAAsBmB,GAAS,CAAC,GAAGA,EAAOD,CAAW,CAAC,EAEtD,MAAME,EACFH,EAAQ,KAEZ,GAAI,CACA,IAAII,EACAnB,EAAwB,IAAIgB,CAAW,EAEtCG,IACDA,EACI,MAAMf,EACFU,EACAI,EAAY,IACZ,CACI,aACI,OAAOA,EAAY,QAAQ,GAAK,GAAA,CACxC,EAGRlB,EAAwB,IACpBgB,EACAG,CAAA,EAEJlB,EAA2BD,CAAuB,GAGtD,MAAMG,EAAcW,EAASC,EAAQ,EAAE,EACvC,MAAMb,EAAWY,EAASK,CAAoB,EAE9CR,EAA2B,QAAQ,OAAOK,CAAW,CAAA,OAChDI,EAAO,CACZ,MAAMC,EACFV,EAA2B,QAAQ,IAAIK,CAAW,GAAK,EAC3DL,EAA2B,QAAQ,IAC/BK,EACAK,IAAU7B,GAAc6B,EAAQA,EAAQ,EAAA,EAG5CzD,EAAO,MAAMwD,CAAK,CAAA,QACtB,CACItB,EAAsBmB,GAClBA,EAAM,OAAOK,GAAQA,IAASN,CAAW,CAAA,CAC7C,CACJ,EAEJ,CACIhB,EACAG,EACAD,EACAS,EACAP,CAAA,CACJ,EAGEmB,EAAsBtE,EACxB,MAAO6D,EAAiBC,EAAkBC,IAAwB,OAC9DlB,EAAsBmB,GAAS,CAAC,GAAGA,EAAOD,CAAW,CAAC,EACtD,GAAI,CAEA,MAAMQ,EAAQjB,EAAe,KACzBiB,GAASA,EAAM,OAAO,KAAOV,CAAA,EAEjC,GAAI,CAACU,EAAO,OAUZ,GATA,MAAMrB,EAAcW,EAASC,EAAQ,EAAE,EAEvC,MAAMV,EACFS,EACAU,EAAM,MAAM,OAAO,KAAO,KAAKA,EAAM,OAAO,EAAE,GAAA,EAGlD,MAAMhB,EAAoBM,EAASW,CAAK,GAEpCnD,EAAAyC,EAAQ,OAAR,MAAAzC,EAAc,KAAOkD,EAAM,OAAO,KAAM,CACxC,MAAME,EAAQ,MAAMC,EAChBZ,EAAQ,KAAK,IACbS,EAAM,OAAO,IAAA,EAEjB,GAAIE,EAAO,CACP,MAAME,EAAWb,EAAQ,KAAK,IAAI,MAAM,GAAG,EAC3Ca,EAASA,EAAS,OAAS,CAAC,EAAIF,EAChC,MAAMG,EAASD,EAAS,KAAK,GAAG,EAEhC,MAAMtB,EAAeuB,EAAQ,CACzB,iBAAkB,GAClB,YAAa,SACb,UAAW,CAAA,EACX,SAAU,CAAA,CAAC,CACd,CAAA,CACL,CACJ,OACKC,EAAY,CACjBlE,EAAO,MAAMkE,CAAC,CAAA,QAClB,CACIhC,EAAsBmB,GAClBA,EAAM,OAAOK,GAAQA,IAASN,CAAW,CAAA,CAC7C,CACJ,EAEJ,CACIT,EACAJ,EACAE,EACAG,EACAmB,EACArB,CAAA,CACJ,EAGEyB,EACF9E,EACI,MAAO6D,EAASC,EAASiB,EAAQtC,IAAiB,OAC9C,OAAQsC,EAAA,CACJ,IAAK,KAAK,CACN,GACIvC,GACIC,GACApB,EAAAyC,EAAQ,OAAR,YAAAzC,EAAc,UAAA,EAEpB,CAME,GAAI,EAJA,aAAa,QACT,8BAAA,IACE,SAEsB,OAChC,MAAM0C,EAAc,WAAWF,CAAO,IAAIkB,CAAM,GAIhD,GAFInC,EAAmB,SAASmB,CAAW,GAEvC,CAACD,EAAQ,KAAM,OAEnB,MAAMM,EACFV,EAA2B,QAAQ,IAC/BK,CAAA,GACC,EAET,WACI,IACIH,EACIC,EACAC,EACAC,CAAA,EAERK,CAAA,CACJ,CAGJ,KAAA,CAGJ,IAAK,KAAK,CACN,MAAML,EAAc,WAAWF,CAAO,IAAIkB,CAAM,GAChD,GAAInC,EAAmB,SAASmB,CAAW,EAAG,OAC9C,WACI,IACIO,EACIT,EACAC,EACAC,CAAA,EAER,CAAA,EAEJ,KAAA,CACJ,CACJ,EAEJ,CAACO,EAAqBV,EAAkBhB,CAAkB,CAAA,EAGlE,OAAOoC,EAAQ,KAAO,CAAE,oBAAAF,IAAwB,CAACA,CAAmB,CAAC,CACzE,EC/NMG,EAAiB,OAAA,YAAA,YAEVnD,EAAa,OAAO,UAAU,UAAU,SAAS,UAAU,EAG3DC,GAAQ,OAAO,UAAU,WAAW,SAAS,KAAK,EAEzDmD,EAAuC,CACzC,mBAAoB,+BACpB,mBAAoB,WACpB,qBAAsB,UACtB,SAAU,uBACV,SAAU,uBACV,UAAW,uBACX,UAAW,SACf,EAEMC,GAAuB,IAAM,CAC/B,MAAMC,EACF,2DACExD,EAAM,OAAO,SAAS,KAEtByD,EAAM,OAAO,KAAKH,CAAY,EAAE,KAAKG,GAAOzD,EAAI,SAASyD,CAAG,CAAC,EAC7DC,EAAQD,EAAMH,EAAaG,CAAG,EAAI,OACxC,GAAKC,EAGD,MAAO,GAAGF,CAAU,IAAIE,CAAK,eAErC,EAEMC,GAAqB,SAAY,CACnC,MAAMC,EAAOL,GAAA,EACb,GAAI,CAACK,EACD,OAGJ,MAAMC,EAAQ,MADC,MAAM,MAAMD,CAAI,GACJ,KAAA,EACrB,CAAE,QAAAE,GAAYD,EACpB,OAAOC,CACX,EAEaC,GAAkB,SAAY,CACvC,MAAMC,EAAW,MAAML,GAAA,EAEvB,OAAIK,EACO,CACH,SAAUA,IAAaX,EACvB,eAAAA,EACA,cAAeW,CAAA,EAIhB,IACX,EC/Ba3E,GAAqB,IAAM,CACpC,KAAM,CAAE,EAAAoB,CAAA,EAAMC,EAAA,EACR,CAAE,cAAAuD,EAAe,eAAAvC,EAAgB,aAAAwC,CAAA,EACnCtC,EAAA,EACE,CAAE,WAAAnE,EAAY,cAAA0G,CAAA,EAAkBvG,EAAA,EAChCwG,EAAkBrC,EAAO,CAAC,GAAGtE,CAAU,CAAC,EACxC4G,EAAkBtC,EAAsB,EAAE,EAC1C,CAAA,CAAA,CAAKuC,CAAsB,EAAIC,GAAA,EAC/B,CAAE,WAAAC,CAAA,EAAeC,EAAA,EACjBC,EAAqB3D,GAAA,EACrB,CAAC4D,CAAa,EAAI7G,EAAA,EAGxB,eAAe8G,GAAqB,CAChC,MAAMC,EAAS,MAAMd,GAAA,EACrB,GAAIc,IAAW,KAEf,IAAIA,EAAO,UAAYA,EAAO,eAAe,SAAS,GAAG,EACrD,MAAO,GAIP,OAAA,YAAA,OAAyB,eACzBF,EAAc,YACd,CAACA,EAAc,gBAEf5F,EAAO,KACH;AAAA,WAAmC8F,EAAO,cAAc;AAAA,UAAaA,EAAO,aAAa,EAAA,EAG7FC,EAAMtG,EAACgC,KAAmB,EAAI,CAC1B,KAAM,kBACN,QAAS,eACT,UAAW,EAAA,CACd,EACL,CAGJhB,EAAU,IAAM,CACZoF,IAAqB,MAAM,QAAQ,KAAK,CAAA,EACzC,EAAE,EAELpF,EAAU,IACc8E,EAAuBI,CAAkB,EAE9D,CAACJ,EAAwB5C,EAAgBgD,CAAkB,CAAC,EAE/D,MAAMK,EAAoB3G,EACtB,MAAOX,EAA2BgD,IAAiB,CAC/ChD,EAAW,QAAQkF,GAAS,CACxB,MAAMqC,EAAYZ,EAAgB,QAAQ,KACtCY,GAAaA,EAAU,KAAOrC,EAAM,EAAA,EAGxC,GAAKqC,EAEL,IACIrC,EAAM,cAAgBC,GACtBD,EAAM,aAAesC,IACrBZ,EAAgB,QAAQ,SAAS1B,CAAK,EAGtC,OAAA0B,EAAgB,QAAUA,EAAgB,QAAQ,OAC9Ca,GAAKA,EAAE,KAAOvC,EAAM,EAAA,EAGjBmC,EAAMrE,EAAE,gCAAgC,EAAG,CAC9C,KAAM,iBAAA,CACT,GAIAkC,EAAM,aAAewC,GAClBxC,EAAM,aAAeyC,KACzBzC,EAAM,aAAeqC,EAAU,YAG/BX,EAAgB,QAAQ,KAAK1B,CAAK,EACtC,CACH,EAEDyB,EAAgB,QAAU,CAAC,GAAG3G,CAAU,EAEpC4G,EAAgB,QAAQ,OAAS,GACf,MAAMO,EAAA,GAEpBP,EAAgB,QAAQ,QAAQ1B,GAAS,CACrCmC,EACIrE,EACI,iBAAiBkC,EAAM,aAAewC,EAAW,oBAAsB,gBAAgB,GACvF,CAAE,MAAOxC,EAAM,IAAA,CAAK,EAExB,CACI,KAAM,kBACN,QAAS,GAAGA,EAAM,aAAewC,EAAW,oBAAsB,gBAAgB,IAAIxC,EAAM,EAAE,EAAA,CAClG,CACJ,CACH,CAET,EAEJ,CAAA,CAAC,EAGLnD,EAAU,IAAM,CACZuF,EAAkBtH,EAAYgD,CAAC,EAAE,MAAM,QAAQ,KAAK,CAAA,EACrD,CAAChD,EAAYgD,EAAGsE,CAAiB,CAAC,EAErC,MAAMM,EAAkBC,GAAA,EAElBC,EAAmBnH,EACrB,MAAOsD,GACI,QAAQ,IAAIA,EAAe,IAAI2D,CAAe,CAAC,EAE1D,CAACA,CAAe,CAAA,EAGdG,EAAqBpH,EACvB,MAAOsD,GAA4C,CAC/C,MAAM+D,EAAe,MAAMF,EAAiB7D,CAAc,EAC1DyC,EAAcsB,CAAY,CAAA,EAE9B,CAACF,EAAkBpB,CAAa,CAAA,EAEpC3E,EAAU,IAAM,CACZ,MAAMkG,EAAkC,CACpC,GAAGlB,EACH,GAAG9C,CAAA,EAEP8D,EAAmBE,CAAM,EAAE,MAAM,QAAQ,KAAK,CAAA,EAC/C,CAAChE,EAAgB8C,EAAYgB,CAAkB,CAAC,EAEnDhG,EAAU,IACDyE,EAISC,EAAa,IAAMsB,EAAmB9D,CAAc,CAAC,EAH/D,OAKL,CAACuC,EAAevC,EAAgBwC,EAAcsB,CAAkB,CAAC,CACxE,ECpJA,SAASG,GAAcC,EAA4B,CAC/C,MAAMjH,EAAYiH,EAAiB,CAAC,EACpC,GAAI,CAACjH,EACD,OAEJ,GAAIA,EAAU,OAASkH,GACnB,MAAM,IAAI,MACN,uDAAA,EAGR,MAAMC,EAAqBC,GAA0BpH,CAAS,EACxDqH,EAAqBJ,EACtB,MAAM,CAAC,EACP,IAAI5G,GAAQ,mBAAmBA,EAAK,MAAQA,EAAK,IAAI,CAAC,EAE3D,MADiB,CAAC8G,EAAoB,GAAGE,CAAkB,EAAE,KAAK,GAAG,CAEzE,CAEA,SAASD,GAA0BpH,EAAwB,CACvD,MAAMsH,EAAYtH,EAAU,MAAQA,EAAU,MAAQA,EAAU,GAEhE,MAAO,MAAM,mBAAmBsH,CAAS,CAAC,EAC9C,CAEA,SAASC,EACLzI,EACA0I,EACAC,EACF,CACE,GAAI,CAACD,EACD,OAAO,KAGX,MAAMlE,EAAU,mBAAmBkE,CAAmB,EAChDxH,EAAYlB,EAAW,KACzBuB,IACIA,GAAA,YAAAA,EAAM,MAAOiD,IACbjD,GAAA,YAAAA,EAAM,QAASiD,IACfjD,GAAA,YAAAA,EAAM,QAASiD,CAAA,EAGvB,GAAI,CAACtD,EAAW,OAAO,KACvB,GAAI,CAACyH,EAAuB,OAAOzH,EAEnC,MAAM0H,EAAYD,EACb,MAAM,GAAG,EACT,OAAO,OAAO,EACd,IAAI,kBAAkB,EAE3B,IAAIzI,EAAuBgB,EAE3B,UAAW2H,KAAYD,EAAW,CAC9B,GAAI1I,EAAa,OAAS4I,GAAM,MAEhC,MAAMC,EAA+B7I,EAAa,SAAS,KACvDqB,GAAQA,EAAK,OAASsH,GAAYtH,EAAK,OAASsH,CAAA,EAGpD,GAAI,CAACE,EAAU,CACX,QAAQ,MAAM,kBAAmBF,CAAQ,EACzC,KAAA,CAGJ3I,EAAe6I,CAAA,CAGnB,OAAO7I,CACX,CAEO,MAAM2B,GAAoB,IAAM,CACnC,MAAMnC,EAAWC,EAAA,EACXqJ,EAAWC,EAAA,EACX,CAAE,OAAAC,EAAQ,SAAAC,CAAA,EAAaH,EACvBI,EAASC,EAAA,EACT,CAAE,WAAArJ,EAAY,aAAAE,EAAc,iBAAAiI,EAAkB,gBAAAlI,CAAA,EAChDE,EAAA,EACEuI,EAAsBU,EAAO,QAC7BT,EAAwBS,EAAO,GAAG,EAClCE,EAA2Bb,EAC7BzI,EACA0I,EACAC,CAAA,EAEEY,EAAuBrB,GAAcC,CAAgB,EAG3DpG,EAAU,IAAM,CACR,CAACwH,GAAwBA,IAAyBJ,GAEtDzJ,EAAS,CAAE,SAAU6J,EAAsB,OAAAL,CAAA,CAAQ,CAAA,EACpD,CAACA,EAAQxJ,EAAU6J,CAAoB,CAAC,EAI3CxH,EAAU,IAAM,CACR7B,GAAgB,CAACoJ,GAErBrJ,EAAgBqJ,CAAwB,CAAA,EACzC,CAACpJ,EAAcoJ,EAA0BrJ,CAAe,CAAC,EAI5D8B,EAAU,IAAM,CACZ,MAAMuH,EAA2Bb,EAC7BzI,EACA0I,EACAC,CAAA,EAGCW,GAELrJ,EAAgBqJ,CAAwB,CAAA,EACzC,CACCtJ,EACA0I,EACAC,EACA1I,CAAA,CACH,CACL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ak as e}from"./index.
|
|
2
|
-
//# sourceMappingURL=toast.
|
|
1
|
+
import{ak as e}from"./index.BcBVmRI8.js";const r="connect";function i(t,o){const{type:n="default",containerId:s=r,...a}=o||{};return e(t,{type:n,containerId:s,...a})}export{i as t};
|
|
2
|
+
//# sourceMappingURL=toast.BwLkWP-U.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.
|
|
1
|
+
{"version":3,"file":"toast.BwLkWP-U.js","sources":["../../src/services/toast.tsx"],"sourcesContent":["import {\n ToastContainer as BaseToastContainer,\n toast as baseToast,\n type ConnectToastOptions,\n} from '@powerhousedao/design-system';\n\nexport const CONNECT_TOAST_CONTAINER_ID = 'connect';\n\nexport const ToastContainer = () => (\n <BaseToastContainer containerId={CONNECT_TOAST_CONTAINER_ID} />\n);\n\ntype ToastArgs = Parameters<typeof baseToast>;\nexport function toast(content: ToastArgs[0], options?: ConnectToastOptions) {\n const {\n type = 'default',\n containerId = CONNECT_TOAST_CONTAINER_ID,\n ...restOptions\n } = options || {};\n return baseToast(content, { type, containerId, ...restOptions });\n}\n"],"names":["CONNECT_TOAST_CONTAINER_ID","toast","content","options","type","containerId","restOptions","baseToast"],"mappings":"yCAMO,MAAMA,EAA6B,UAOnC,SAASC,EAAMC,EAAuBC,EAA+B,CACxE,KAAM,CACF,KAAAC,EAAO,UACP,YAAAC,EAAcL,EACd,GAAGM,CAAA,EACHH,GAAW,CAAA,EACf,OAAOI,EAAUL,EAAS,CAAE,KAAAE,EAAM,YAAAC,EAAa,GAAGC,EAAa,CACnE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c}from"./connect.config.
|
|
2
|
-
//# sourceMappingURL=useAcceptedCookies.
|
|
1
|
+
import{c}from"./connect.config.QPxkaHWU.js";import{useSyncExternalStore as r}from"react";const i=c.routerBasename,s=`${i}:acceptedCookies`,o=new Set;let t=l();function l(){try{const e=localStorage.getItem(s);return e?JSON.parse(e):{analytics:!1,marketing:!1,functional:!1}}catch{return{analytics:!1,marketing:!1,functional:!1}}}function n(){return t}function u(e){t=e(t),localStorage.setItem(s,JSON.stringify(t)),o.forEach(a=>a())}function f(e){return o.add(e),()=>o.delete(e)}const k=()=>[r(f,n,n),u];export{k as u};
|
|
2
|
+
//# sourceMappingURL=useAcceptedCookies.Buwp7LOR.js.map
|
package/dist/assets/{useAcceptedCookies.B2E2vhVo.js.map → useAcceptedCookies.Buwp7LOR.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAcceptedCookies.
|
|
1
|
+
{"version":3,"file":"useAcceptedCookies.Buwp7LOR.js","sources":["../../src/hooks/useAcceptedCookies.ts"],"sourcesContent":["import connectConfig from '#connect-config';\nimport { useSyncExternalStore } from 'react';\n\nconst namespace = connectConfig.routerBasename;\n\nconst ACCEPTED_COOKIES_KEY_STORAGE = `${namespace}:acceptedCookies`;\n\nexport interface AcceptedCookies {\n analytics: boolean;\n marketing: boolean;\n functional: boolean;\n}\n\nconst listeners = new Set<() => void>();\n\nlet cookies: AcceptedCookies = getInitial();\n\nfunction getInitial(): AcceptedCookies {\n try {\n const value = localStorage.getItem(ACCEPTED_COOKIES_KEY_STORAGE);\n return value\n ? (JSON.parse(value) as AcceptedCookies)\n : { analytics: false, marketing: false, functional: false };\n } catch {\n return { analytics: false, marketing: false, functional: false };\n }\n}\n\nfunction getCookies(): AcceptedCookies {\n return cookies;\n}\n\nfunction setCookies(setter: (prev: AcceptedCookies) => AcceptedCookies) {\n cookies = setter(cookies);\n localStorage.setItem(ACCEPTED_COOKIES_KEY_STORAGE, JSON.stringify(cookies));\n listeners.forEach(fn => fn());\n}\n\nfunction subscribe(fn: () => void) {\n listeners.add(fn);\n return () => listeners.delete(fn);\n}\n\nexport const useAcceptedCookies = () => {\n const cookies = useSyncExternalStore(subscribe, getCookies, getCookies);\n return [cookies, setCookies] as const;\n};\n"],"names":["namespace","connectConfig","ACCEPTED_COOKIES_KEY_STORAGE","listeners","cookies","getInitial","value","getCookies","setCookies","setter","fn","subscribe","useAcceptedCookies","useSyncExternalStore"],"mappings":"yFAGA,MAAMA,EAAYC,EAAc,eAE1BC,EAA+B,GAAGF,CAAS,mBAQ3CG,MAAgB,IAEtB,IAAIC,EAA2BC,EAAA,EAE/B,SAASA,GAA8B,CACnC,GAAI,CACA,MAAMC,EAAQ,aAAa,QAAQJ,CAA4B,EAC/D,OAAOI,EACA,KAAK,MAAMA,CAAK,EACjB,CAAE,UAAW,GAAO,UAAW,GAAO,WAAY,EAAA,CAAM,MAC1D,CACJ,MAAO,CAAE,UAAW,GAAO,UAAW,GAAO,WAAY,EAAA,CAAM,CAEvE,CAEA,SAASC,GAA8B,CACnC,OAAOH,CACX,CAEA,SAASI,EAAWC,EAAoD,CACpEL,EAAUK,EAAOL,CAAO,EACxB,aAAa,QAAQF,EAA8B,KAAK,UAAUE,CAAO,CAAC,EAC1ED,EAAU,QAAQO,GAAMA,EAAA,CAAI,CAChC,CAEA,SAASC,EAAUD,EAAgB,CAC/B,OAAAP,EAAU,IAAIO,CAAE,EACT,IAAMP,EAAU,OAAOO,CAAE,CACpC,CAEO,MAAME,EAAqB,IAEvB,CADSC,EAAqBF,EAAWJ,EAAYA,CAAU,EACrDC,CAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectConfig.
|
|
1
|
+
{"version":3,"file":"useConnectConfig.6WMomTcV.js","sources":["../../src/hooks/useConnectConfig.ts"],"sourcesContent":["import connectConfig from '#connect-config';\nimport { atom, useAtom } from 'jotai';\n\nconst atomConnectConfig = atom(connectConfig);\n\nexport function useConnectConfig() {\n const config = useAtom(atomConnectConfig);\n return config;\n}\n"],"names":["atomConnectConfig","atom","connectConfig","useConnectConfig","useAtom"],"mappings":"gGAGA,MAAMA,EAAoBC,EAAKC,CAAa,EAErC,SAASC,GAAmB,CAE/B,OADeC,EAAQJ,CAAiB,CAE5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultDocumentModelEditor.
|
|
1
|
+
{"version":3,"file":"useDefaultDocumentModelEditor.DdcMIW4a.js","sources":["../../src/hooks/useDefaultDocumentModelEditor/atom.ts","../../src/hooks/useDefaultDocumentModelEditor/useDefaultDocumentModelEditor.ts"],"sourcesContent":["import { atomWithStorage } from '#store';\n\nexport const DEFAULT_DOCUMENT_MODL_EDITOR = 'defaultDocumentModelEditor';\n\nexport type DefaultDocumentModelEditor =\n | { label: 'V1'; value: 'document-model-editor' }\n | { label: 'V2'; value: 'document-model-editor-v2' };\n\nexport const defaultDocumentModelEditorAtom =\n atomWithStorage<DefaultDocumentModelEditor>(DEFAULT_DOCUMENT_MODL_EDITOR, {\n label: 'V2',\n value: 'document-model-editor-v2',\n });\n","import { useAtom } from 'jotai';\nimport { defaultDocumentModelEditorAtom } from './atom.js';\n\nexport const useDefaultDocumentModelEditor = () => {\n return useAtom(defaultDocumentModelEditorAtom);\n};\n"],"names":["DEFAULT_DOCUMENT_MODL_EDITOR","defaultDocumentModelEditorAtom","atomWithStorage","useDefaultDocumentModelEditor","useAtom"],"mappings":"0FAEO,MAAMA,EAA+B,6BAM/BC,EACTC,EAA4CF,EAA8B,CACtE,MAAO,KACP,MAAO,0BACX,CAAC,ECTQG,EAAgC,IAClCC,EAAQH,CAA8B"}
|
package/dist/assets/{useDocumentDriveServer.ArDMFxnb.js → useDocumentDriveServer.KfZLuxGa.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{k as ie,b9 as le,ba as we,bb as ue,m as de,bc as fe,bd as ee,be as he,l as U,bf as pe,bg as te,bh as me,bi as ge,bj as ye,bk as De,bl as Ee,J as oe,bm as ve,bn as be,bo as Se,bp as Te,bq as $e,br as Fe,bs as Ne,ae as re,bt as ne,ah as ae,bu as Ue,bv as Re,bw as Oe}from"./index.BGemDCBc.js";import{useState as se,useEffect as Ae,useCallback as c,useMemo as Ie}from"react";import{b as Le,c as Me,d as Pe}from"./user.DBQJIPxu.js";import{a as Ce,h as xe,n as _e,e as He,i as je}from"./useFeatureFlags.BTVpX3W5.js";const R=ie(["utils/document-model",Math.floor(Math.random()*999).toString()]),ze=parseInt(window.__VITE_ENVS.FILE_UPLOAD_OPERATIONS_CHUNK_SIZE||"50");function Be(a,n,w=R.error){const[f,g]=se(n),[y,t]=se(),D=u=>{t(u),w(u)};return Ae(()=>{g(n),t(void 0)},[n]),[f,(u,h,v)=>{t(void 0),g(T=>{if(!a||!T)return T;try{const S=a(T,u),O=u.scope??"global",l=S.operations[O],$=l[l.length-1];if($.error){const F=new Error($.error);D(F),v==null||v(F)}return h==null||h($,{prevState:{...T},newState:{...S}}),S}catch(S){return D(S),v==null||v(S),T}})},y]}async function ke(a,n,w,f,g,y){const t=(y==null?void 0:y.operationsLimit)||ze;R.verbose(`uploadDocumentOperations(drive: ${a}, documentId:${n}, ops: ${Object.keys(w.operations).join(",")}, limit:${t})`);for(const D of Object.values(w.operations))for(let b=0;b<D.length;b+=t){R.verbose(`uploadDocumentOperations:for(i:${b}, ops:${D.length}, limit:${t}): START`);const u=D.slice(b,b+t),h=u.at(-1);if(!h)break;const{scope:v}=h;await g(a,n,u),R.verbose(`uploadDocumentOperations:for:waitForUpdate(${n}:${v} rev ${h.index}): NEXT`)}R.verbose(`uploadDocumentOperations:for:waitForUpdate(${n}): END`)}const qe=async a=>{ue(a).generateAsync({type:"blob"}).then(w=>{const f=window.document.createElement("a");f.style.display="none",f.href=URL.createObjectURL(w),f.download=`${a.header.name||"Untitled"}.zip`,window.document.body.appendChild(f),f.click(),window.document.body.removeChild(f)}).catch(de.error)};async function Qe(a,n){var g,y;const w=n(a.header.documentType);if(!w)throw new Error(`Document model not supported: ${a.header.documentType}`);const f=w.documentModel.extension;if(!window.showSaveFilePicker){await qe(a);return}try{const t=await window.showSaveFilePicker({suggestedName:`${a.name||((g=a.state.global)==null?void 0:g.name)||"Untitled"}.${f?`${f}.`:""}zip`});await we(a,t);const D=(await t.getFile()).path;return typeof window<"u"&&((y=window.electronAPI)==null||y.fileSaved(a,D)),D}catch(t){if(!(t instanceof DOMException&&t.name==="AbortError"))throw t}}async function Ze(a,n){const w=await le(a,g=>g,{checkHashes:!0}),f=n(w.header.documentType);if(!f)throw new Error(`Document "${w.header.documentType}" is not supported`);return f.utils.loadFromInput(a)}async function Ke(a,n,w,f,g,y){if(!y||!a.context||!a.context.signer)return a;if(!g)return de.error(`Document model '${f.header.documentType}' does not have a reducer`),a;const t={documentId:w,signer:a.context.signer};return await fe(a,g,f,t,n)}function Ve(a,n,w){return w?{context:{signer:{app:{name:"Connect",key:n||""},user:{address:w.address,networkId:w.networkId,chainId:w.chainId},signatures:[]}},...a}:a}function We(){const a=ie(["useDocumentDriveServer",Math.floor(Math.random()*999).toString()]),{isAllowedToCreateDocuments:n,isAllowedToEditDocuments:w}=Ce()||{isAllowedToCreateDocuments:!1,isAllowedToEditDocuments:!1},f=Le()||void 0,g=Me(),{sign:y}=Pe(),t=xe(),D=_e(),b=He(),[u,h,,v]=je(),T=!!t,S=c(async(e,o,r)=>{if(!t)throw new Error("Reactor is not loaded");const d=await t.getDocument(e,o,r);if(!d)throw new Error(`There was an error opening file with id ${o} on drive ${e}`);return d},[t]),O=c(async e=>{if(!t)throw new Error("Reactor is not loaded");return await t.getDocuments(e)},[t]),l=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");let r=u.find(m=>m.header.id===e);if(!r)throw new Error(`Drive with id ${e} not found`);const d={...r};r=ee(r,Ve(o,g,f));const s=o.scope??"global",p=r.operations[s].findLast(m=>m.type===o.type);if(!p)throw new Error("There was an error applying the operation");const E=await Ke(p,y,e,d,ee,f);try{const m=await t.queueDriveOperation(e,E);if(m.status!=="SUCCESS"&&a.error(m.error),m.operations.length&&await h(),m.document&&!he(m.document))throw new Error("Received document is not a Document Drive");return m.document}catch(m){return a.error(m),r}},[u,h,t,y,f,g]),$=c(async(e,o,r,d,s)=>{if(!n)throw new Error("User is not allowed to create documents");let i=u.find(N=>N.header.id===e);if(!i)throw new Error(`Drive with id ${e} not found`);const p=U(),E=pe(i.state.global,{id:p,name:o,parentFolder:d??null,documentType:r,document:s},["global"]);i=await l(e,E);const m=i==null?void 0:i.state.global.nodes.find(N=>N.id===p);if(!m||!te(m))throw new Error("There was an error adding document");return m},[l,u,n]),F=c(async(e,o,r)=>{if(!w)throw new Error("User is not allowed to edit documents");if(!t)throw new Error("Reactor is not loaded");if(!u.find(i=>i.header.id===e))throw new Error(`Drive with id ${e} not found`);const s=o!==void 0?await t.queueOperations(e,o,r):await t.queueDriveOperations(e,r);return s.operations.length&&await h(),h().catch(a.error),s.document},[u,w,t]),A=c(async(e,o,r,d)=>{if(a.verbose(`addFile(drive: ${o}, name: ${r}, folder: ${d})`),!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to create files");const s=await Ze(e,b),i={header:s.header,history:s.history,initialState:s.initialState,state:s.state,operations:{global:[],local:[]},clipboard:[]},p=await $(o,r||(typeof e=="string"?s.header.name:e.name),s.header.documentType,d,i);u.find(E=>E.header.id===o),ke(o,p.id,s,t,F,{}).catch(E=>{throw E})},[$,F,b,n,t]),I=c(async(e,o,r,d,s)=>{if(!n)throw new Error("User is not allowed to update files");const i=await l(e,me({id:o,name:d||void 0,parentFolder:s,documentType:r})),p=i==null?void 0:i.state.global.nodes.find(E=>E.id===o);if(!p||!te(p))throw new Error("There was an error updating document");return p},[l,n]),L=c(async(e,o,r)=>{if(!n)throw new Error("User is not allowed to create folders");const d=U(),s=await l(e,ge({id:d,name:o,parentFolder:r})),i=s==null?void 0:s.state.global.nodes.find(p=>p.id===d);if(!i||!ye(i))throw new Error("There was an error adding folder");return i},[l,n]),M=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to delete documents");await l(e,De({id:o}))},[l,n]),P=c(async(e,o,r)=>{if(!n)throw new Error("User is not allowed to rename documents");const d=await l(e,Ee({id:o,name:r})),s=d==null?void 0:d.state.global.nodes.find(i=>i.id===o);if(!s)throw new Error("There was an error renaming node");return s},[l,n]),C=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to move documents");o.kind===oe||e.parentFolder===o.id||await l(o.driveId,ve({srcFolder:e.id,targetParentFolder:o.id}))},[l,n]),x=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to copy documents");if(o.kind===oe)return;const r=u.find(p=>p.header.id===e.driveId);if(!r)return;const s=be({srcId:e.id,targetParentFolder:o.id,targetName:e.name},()=>U(),r.state.global.nodes).map(p=>Se(p)),i=await t.addDriveActions(e.driveId,s);i.operations.length?await h():i.status!=="SUCCESS"&&a.error(`Error copying files: ${i.status}`,i.error)},[u,n,h,t]),_=c(async(e,o,r)=>{if(!w)throw new Error("User is not allowed to edit documents");if(!t)throw new Error("Reactor is not loaded");if(!u.find(i=>i.header.id===e))throw new Error(`Drive with id ${e} not found`);return(await t.addOperation(e,o,r)).document},[u,w,t]),H=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to create drives");const r=e.id||U();e=Te(e);const d=await t.addDrive({global:e.global,local:e.local,id:r},o);return await h(),d},[n,h,t]),j=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");const r=await t.addRemoteDrive(e,o);return await h(),r},[h,t]),z=c(async e=>{if(!n)throw new Error("User is not allowed to delete drives");if(!t)throw new Error("Reactor is not loaded");if(!u.find(r=>r.header.id===e))throw new Error(`Drive with id ${e} not found`);return await t.deleteDrive(e),h()},[u,n,h,t]),k=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to rename drives");return l(e,$e({name:o}))},[l,n]),q=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to change drive availability");return l(e,Fe({availableOffline:o}))},[l,n]),Z=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to change drive availability");return l(e,Ne({type:o}))},[l,n]),K=c(async(e,o)=>{if(o!==re){if(!t)throw new Error("Reactor is not loaded");try{const r=t.getSyncStatus(e);return r instanceof ne?"INITIAL_SYNC":r}catch(r){return console.error(r),ae}}},[t]),V=c((e,o)=>{if(o!==re){if(!t)throw new Error("Reactor is not loaded");try{const r=t.getSyncStatus(e);return r instanceof ne?"INITIAL_SYNC":r}catch(r){return console.error(r),ae}}},[t]),Y=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("strandUpdate",e)},[t]),G=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("operationsAdded",e)},[t]),J=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("syncStatus",e)},[t]),X=c(async()=>{t&&(await D.clear(),await h())},[h,t,D]),B=c(async(e,o)=>{const r=await l(e,Ue({triggerId:o}));if(r==null?void 0:r.state.local.triggers.find(s=>s.id===o))throw new Error(`There was an error removing trigger ${o}`)},[l]),Q=c(async(e,o,r)=>{var p,E,m,N;if(!t)throw new Error("Reactor is not loaded");const d=U(),s={driveId:e,listenerId:d,block:!1,filter:{branch:((p=r.pullFilter)==null?void 0:p.branch)??[],documentId:((E=r.pullFilter)==null?void 0:E.documentId)??[],documentType:((m=r.pullFilter)==null?void 0:m.documentType)??[],scope:((N=r.pullFilter)==null?void 0:N.scope)??[]},system:!1,label:`Pullresponder #${d}`,callInfo:{data:"",name:"PullResponder",transmitterType:"PullResponder"}},i=t.listeners;s.transmitter=new Re(s,i);try{await i.setListener(e,s)}catch(ce){throw new Error(`Listener couldn't be registered: ${ce}`)}return{driveId:e,filter:s.filter,data:{interval:`${r.pullInterval}`||"1000",listenerId:d,url:o},id:d,type:"PullResponder"}},[t]),W=c(async(e,o)=>{const r=await l(e,Oe({trigger:o}));if(!(r==null?void 0:r.state.local.triggers.find(s=>s.id===s.id)))throw new Error(`There was an error adding the trigger ${o.id}`)},[l]);return Ie(()=>({reactorLoaded:T,documentDrives:u,documentDrivesStatus:v,addDocument:$,openFile:S,addFile:A,updateFile:I,addFolder:L,deleteNode:M,renameNode:P,moveNode:C,copyNode:x,addOperation:_,addOperations:F,addDrive:H,addRemoteDrive:j,deleteDrive:z,renameDrive:k,setDriveAvailableOffline:q,setDriveSharingType:Z,getSyncStatus:K,getSyncStatusSync:V,onStrandUpdate:Y,onSyncStatus:J,clearStorage:X,removeTrigger:B,addTrigger:W,registerNewPullResponderTrigger:Q,getDocumentsIds:O,onOperationsAdded:G}),[T,$,H,A,L,_,F,j,W,X,x,z,M,u,v,K,V,C,Y,J,S,Q,B,k,P,q,Z,I,O,G])}export{Be as a,Ve as b,Qe as e,Ke as s,We as u};
|
|
2
|
-
//# sourceMappingURL=useDocumentDriveServer.
|
|
1
|
+
import{k as ie,b9 as le,ba as we,bb as ue,m as de,bc as fe,bd as ee,be as he,l as U,bf as pe,bg as te,bh as me,bi as ge,bj as ye,bk as De,bl as Ee,J as oe,bm as ve,bn as be,bo as Se,bp as Te,bq as $e,br as Fe,bs as Ne,ae as re,bt as ne,ah as ae,bu as Ue,bv as Re,bw as Oe}from"./index.BcBVmRI8.js";import{useState as se,useEffect as Ae,useCallback as c,useMemo as Ie}from"react";import{b as Le,c as Me,d as Pe}from"./user.Bc_RsKKN.js";import{a as Ce,h as xe,n as _e,e as He,i as je}from"./useFeatureFlags.BsV79IJF.js";const R=ie(["utils/document-model",Math.floor(Math.random()*999).toString()]),ze=parseInt(window.__VITE_ENVS.FILE_UPLOAD_OPERATIONS_CHUNK_SIZE||"50");function Be(a,n,w=R.error){const[f,g]=se(n),[y,t]=se(),D=u=>{t(u),w(u)};return Ae(()=>{g(n),t(void 0)},[n]),[f,(u,h,v)=>{t(void 0),g(T=>{if(!a||!T)return T;try{const S=a(T,u),O=u.scope??"global",l=S.operations[O],$=l[l.length-1];if($.error){const F=new Error($.error);D(F),v==null||v(F)}return h==null||h($,{prevState:{...T},newState:{...S}}),S}catch(S){return D(S),v==null||v(S),T}})},y]}async function ke(a,n,w,f,g,y){const t=(y==null?void 0:y.operationsLimit)||ze;R.verbose(`uploadDocumentOperations(drive: ${a}, documentId:${n}, ops: ${Object.keys(w.operations).join(",")}, limit:${t})`);for(const D of Object.values(w.operations))for(let b=0;b<D.length;b+=t){R.verbose(`uploadDocumentOperations:for(i:${b}, ops:${D.length}, limit:${t}): START`);const u=D.slice(b,b+t),h=u.at(-1);if(!h)break;const{scope:v}=h;await g(a,n,u),R.verbose(`uploadDocumentOperations:for:waitForUpdate(${n}:${v} rev ${h.index}): NEXT`)}R.verbose(`uploadDocumentOperations:for:waitForUpdate(${n}): END`)}const qe=async a=>{ue(a).generateAsync({type:"blob"}).then(w=>{const f=window.document.createElement("a");f.style.display="none",f.href=URL.createObjectURL(w),f.download=`${a.header.name||"Untitled"}.zip`,window.document.body.appendChild(f),f.click(),window.document.body.removeChild(f)}).catch(de.error)};async function Qe(a,n){var g,y;const w=n(a.header.documentType);if(!w)throw new Error(`Document model not supported: ${a.header.documentType}`);const f=w.documentModel.extension;if(!window.showSaveFilePicker){await qe(a);return}try{const t=await window.showSaveFilePicker({suggestedName:`${a.name||((g=a.state.global)==null?void 0:g.name)||"Untitled"}.${f?`${f}.`:""}zip`});await we(a,t);const D=(await t.getFile()).path;return typeof window<"u"&&((y=window.electronAPI)==null||y.fileSaved(a,D)),D}catch(t){if(!(t instanceof DOMException&&t.name==="AbortError"))throw t}}async function Ze(a,n){const w=await le(a,g=>g,{checkHashes:!0}),f=n(w.header.documentType);if(!f)throw new Error(`Document "${w.header.documentType}" is not supported`);return f.utils.loadFromInput(a)}async function Ke(a,n,w,f,g,y){if(!y||!a.context||!a.context.signer)return a;if(!g)return de.error(`Document model '${f.header.documentType}' does not have a reducer`),a;const t={documentId:w,signer:a.context.signer};return await fe(a,g,f,t,n)}function Ve(a,n,w){return w?{context:{signer:{app:{name:"Connect",key:n||""},user:{address:w.address,networkId:w.networkId,chainId:w.chainId},signatures:[]}},...a}:a}function We(){const a=ie(["useDocumentDriveServer",Math.floor(Math.random()*999).toString()]),{isAllowedToCreateDocuments:n,isAllowedToEditDocuments:w}=Ce()||{isAllowedToCreateDocuments:!1,isAllowedToEditDocuments:!1},f=Le()||void 0,g=Me(),{sign:y}=Pe(),t=xe(),D=_e(),b=He(),[u,h,,v]=je(),T=!!t,S=c(async(e,o,r)=>{if(!t)throw new Error("Reactor is not loaded");const d=await t.getDocument(e,o,r);if(!d)throw new Error(`There was an error opening file with id ${o} on drive ${e}`);return d},[t]),O=c(async e=>{if(!t)throw new Error("Reactor is not loaded");return await t.getDocuments(e)},[t]),l=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");let r=u.find(m=>m.header.id===e);if(!r)throw new Error(`Drive with id ${e} not found`);const d={...r};r=ee(r,Ve(o,g,f));const s=o.scope??"global",p=r.operations[s].findLast(m=>m.type===o.type);if(!p)throw new Error("There was an error applying the operation");const E=await Ke(p,y,e,d,ee,f);try{const m=await t.queueDriveOperation(e,E);if(m.status!=="SUCCESS"&&a.error(m.error),m.operations.length&&await h(),m.document&&!he(m.document))throw new Error("Received document is not a Document Drive");return m.document}catch(m){return a.error(m),r}},[u,h,t,y,f,g]),$=c(async(e,o,r,d,s)=>{if(!n)throw new Error("User is not allowed to create documents");let i=u.find(N=>N.header.id===e);if(!i)throw new Error(`Drive with id ${e} not found`);const p=U(),E=pe(i.state.global,{id:p,name:o,parentFolder:d??null,documentType:r,document:s},["global"]);i=await l(e,E);const m=i==null?void 0:i.state.global.nodes.find(N=>N.id===p);if(!m||!te(m))throw new Error("There was an error adding document");return m},[l,u,n]),F=c(async(e,o,r)=>{if(!w)throw new Error("User is not allowed to edit documents");if(!t)throw new Error("Reactor is not loaded");if(!u.find(i=>i.header.id===e))throw new Error(`Drive with id ${e} not found`);const s=o!==void 0?await t.queueOperations(e,o,r):await t.queueDriveOperations(e,r);return s.operations.length&&await h(),h().catch(a.error),s.document},[u,w,t]),A=c(async(e,o,r,d)=>{if(a.verbose(`addFile(drive: ${o}, name: ${r}, folder: ${d})`),!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to create files");const s=await Ze(e,b),i={header:s.header,history:s.history,initialState:s.initialState,state:s.state,operations:{global:[],local:[]},clipboard:[]},p=await $(o,r||(typeof e=="string"?s.header.name:e.name),s.header.documentType,d,i);u.find(E=>E.header.id===o),ke(o,p.id,s,t,F,{}).catch(E=>{throw E})},[$,F,b,n,t]),I=c(async(e,o,r,d,s)=>{if(!n)throw new Error("User is not allowed to update files");const i=await l(e,me({id:o,name:d||void 0,parentFolder:s,documentType:r})),p=i==null?void 0:i.state.global.nodes.find(E=>E.id===o);if(!p||!te(p))throw new Error("There was an error updating document");return p},[l,n]),L=c(async(e,o,r)=>{if(!n)throw new Error("User is not allowed to create folders");const d=U(),s=await l(e,ge({id:d,name:o,parentFolder:r})),i=s==null?void 0:s.state.global.nodes.find(p=>p.id===d);if(!i||!ye(i))throw new Error("There was an error adding folder");return i},[l,n]),M=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to delete documents");await l(e,De({id:o}))},[l,n]),P=c(async(e,o,r)=>{if(!n)throw new Error("User is not allowed to rename documents");const d=await l(e,Ee({id:o,name:r})),s=d==null?void 0:d.state.global.nodes.find(i=>i.id===o);if(!s)throw new Error("There was an error renaming node");return s},[l,n]),C=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to move documents");o.kind===oe||e.parentFolder===o.id||await l(o.driveId,ve({srcFolder:e.id,targetParentFolder:o.id}))},[l,n]),x=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to copy documents");if(o.kind===oe)return;const r=u.find(p=>p.header.id===e.driveId);if(!r)return;const s=be({srcId:e.id,targetParentFolder:o.id,targetName:e.name},()=>U(),r.state.global.nodes).map(p=>Se(p)),i=await t.addDriveActions(e.driveId,s);i.operations.length?await h():i.status!=="SUCCESS"&&a.error(`Error copying files: ${i.status}`,i.error)},[u,n,h,t]),_=c(async(e,o,r)=>{if(!w)throw new Error("User is not allowed to edit documents");if(!t)throw new Error("Reactor is not loaded");if(!u.find(i=>i.header.id===e))throw new Error(`Drive with id ${e} not found`);return(await t.addOperation(e,o,r)).document},[u,w,t]),H=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");if(!n)throw new Error("User is not allowed to create drives");const r=e.id||U();e=Te(e);const d=await t.addDrive({global:e.global,local:e.local,id:r},o);return await h(),d},[n,h,t]),j=c(async(e,o)=>{if(!t)throw new Error("Reactor is not loaded");const r=await t.addRemoteDrive(e,o);return await h(),r},[h,t]),z=c(async e=>{if(!n)throw new Error("User is not allowed to delete drives");if(!t)throw new Error("Reactor is not loaded");if(!u.find(r=>r.header.id===e))throw new Error(`Drive with id ${e} not found`);return await t.deleteDrive(e),h()},[u,n,h,t]),k=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to rename drives");return l(e,$e({name:o}))},[l,n]),q=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to change drive availability");return l(e,Fe({availableOffline:o}))},[l,n]),Z=c(async(e,o)=>{if(!n)throw new Error("User is not allowed to change drive availability");return l(e,Ne({type:o}))},[l,n]),K=c(async(e,o)=>{if(o!==re){if(!t)throw new Error("Reactor is not loaded");try{const r=t.getSyncStatus(e);return r instanceof ne?"INITIAL_SYNC":r}catch(r){return console.error(r),ae}}},[t]),V=c((e,o)=>{if(o!==re){if(!t)throw new Error("Reactor is not loaded");try{const r=t.getSyncStatus(e);return r instanceof ne?"INITIAL_SYNC":r}catch(r){return console.error(r),ae}}},[t]),Y=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("strandUpdate",e)},[t]),G=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("operationsAdded",e)},[t]),J=c(e=>{if(!t)throw new Error("Reactor is not loaded");return t.on("syncStatus",e)},[t]),X=c(async()=>{t&&(await D.clear(),await h())},[h,t,D]),B=c(async(e,o)=>{const r=await l(e,Ue({triggerId:o}));if(r==null?void 0:r.state.local.triggers.find(s=>s.id===o))throw new Error(`There was an error removing trigger ${o}`)},[l]),Q=c(async(e,o,r)=>{var p,E,m,N;if(!t)throw new Error("Reactor is not loaded");const d=U(),s={driveId:e,listenerId:d,block:!1,filter:{branch:((p=r.pullFilter)==null?void 0:p.branch)??[],documentId:((E=r.pullFilter)==null?void 0:E.documentId)??[],documentType:((m=r.pullFilter)==null?void 0:m.documentType)??[],scope:((N=r.pullFilter)==null?void 0:N.scope)??[]},system:!1,label:`Pullresponder #${d}`,callInfo:{data:"",name:"PullResponder",transmitterType:"PullResponder"}},i=t.listeners;s.transmitter=new Re(s,i);try{await i.setListener(e,s)}catch(ce){throw new Error(`Listener couldn't be registered: ${ce}`)}return{driveId:e,filter:s.filter,data:{interval:`${r.pullInterval}`||"1000",listenerId:d,url:o},id:d,type:"PullResponder"}},[t]),W=c(async(e,o)=>{const r=await l(e,Oe({trigger:o}));if(!(r==null?void 0:r.state.local.triggers.find(s=>s.id===s.id)))throw new Error(`There was an error adding the trigger ${o.id}`)},[l]);return Ie(()=>({reactorLoaded:T,documentDrives:u,documentDrivesStatus:v,addDocument:$,openFile:S,addFile:A,updateFile:I,addFolder:L,deleteNode:M,renameNode:P,moveNode:C,copyNode:x,addOperation:_,addOperations:F,addDrive:H,addRemoteDrive:j,deleteDrive:z,renameDrive:k,setDriveAvailableOffline:q,setDriveSharingType:Z,getSyncStatus:K,getSyncStatusSync:V,onStrandUpdate:Y,onSyncStatus:J,clearStorage:X,removeTrigger:B,addTrigger:W,registerNewPullResponderTrigger:Q,getDocumentsIds:O,onOperationsAdded:G}),[T,$,H,A,L,_,F,j,W,X,x,z,M,u,v,K,V,C,Y,J,S,Q,B,k,P,q,Z,I,O,G])}export{Be as a,Ve as b,Qe as e,Ke as s,We as u};
|
|
2
|
+
//# sourceMappingURL=useDocumentDriveServer.KfZLuxGa.js.map
|