@powerhousedao/connect 5.1.0-dev.4 → 5.1.0-dev.40
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/.env +1 -0
- package/dist/assets/AddDriveModal-B0BJbb7V.js +1 -0
- package/dist/assets/ClearStorageModal-i8ZGETjQ.js +1 -0
- package/dist/assets/CookiesPolicyModal-BwjmJbrm.js +1 -0
- package/dist/assets/CreateDocumentModal-DPVzin5z.js +1 -0
- package/dist/assets/DebugSettingsModal-D1gb8edA.js +1 -0
- package/dist/assets/DeleteDriveModal-C-dfGwTm.js +1 -0
- package/dist/assets/DeleteItemModal-Btvqqu2u.js +1 -0
- package/dist/assets/DisclaimerModal-Cpyn6VQS.js +1 -0
- package/dist/assets/DriveSettingsModal-D1XL765u.js +1 -0
- package/dist/assets/ExportDocumentWithErrorsModal-BSgb0yls.js +1 -0
- package/dist/assets/SettingsModal-fw_kNd_b.js +1 -0
- package/dist/assets/UpgradeDriveModal-Cq74G4UV.js +1 -0
- package/dist/assets/{design_system-BtMgNfie.js → design_system-DL9J1XTp.js} +2 -2
- package/dist/assets/design_system_connect-CISKydOj.js +45 -0
- package/dist/assets/design_system_ui-DtMSMFD-.js +1 -0
- package/dist/assets/document_drive-BjCTBivJ.js +316 -0
- package/dist/assets/{document_engineering-L3MHJaU7.js → document_engineering-H5WHF82B.js} +1 -1
- package/dist/assets/document_model-DXYoB_YO.js +230 -0
- package/dist/assets/document_model_editor-Ib_f5qZi.js +25 -0
- package/dist/assets/{drive_explorer-DW9_q4_8.js → drive_explorer-BKMfWnQL.js} +2 -2
- package/dist/assets/{graphql-BS4Brs_E.js → graphql-AKTCpY7l.js} +45 -45
- package/dist/assets/{graphql-editor-CMYQCTTf.js → graphql-editor-xhOcRrtr.js} +2 -2
- package/dist/assets/{graphql_request-9RNJ00DB.js → graphql_request-BJtmW2JS.js} +1 -1
- package/dist/assets/{hooks-DTA7Pz3J.js → hooks-CNcTloQw.js} +1 -1
- package/dist/assets/index-4Fn7VRBH.js +18 -0
- package/dist/assets/index-6ooL5A0g.js +25 -0
- package/dist/assets/index-SqSJYSgG.css +1 -0
- package/dist/assets/{json-editor-VC0XSZvv.js → json-editor-CfsREnfc.js} +1 -1
- package/dist/assets/nodefs-D5eWehIq.js +1 -0
- package/dist/assets/opfs-ahp-BhtgbgIQ.js +3 -0
- package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
- package/dist/assets/postgres-CkP7QCDB.data +0 -0
- package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
- package/dist/assets/reactor_browser-Bo-Pj3Xo.js +129 -0
- package/dist/assets/state-schemas-CVg0B4xO.js +2 -0
- package/dist/assets/zod-BpTyxkjy.js +20 -0
- package/dist/index.html +14 -14
- package/heroku/Dockerfile +3 -0
- package/lib/package.copy.json +17 -8
- package/lib/src/components/app-loader.d.ts +0 -4
- package/lib/src/components/app-loader.d.ts.map +1 -1
- package/lib/src/components/app-loader.js +2 -2
- package/lib/src/components/app-loader.js.map +1 -1
- package/lib/src/components/app.d.ts.map +1 -1
- package/lib/src/components/app.js +11 -0
- package/lib/src/components/app.js.map +1 -1
- package/lib/src/components/drive-editor-container.d.ts.map +1 -1
- package/lib/src/components/drive-editor-container.js +3 -6
- package/lib/src/components/drive-editor-container.js.map +1 -1
- package/lib/src/components/editors.d.ts.map +1 -1
- package/lib/src/components/editors.js +3 -9
- package/lib/src/components/editors.js.map +1 -1
- package/lib/src/components/error-boundary.d.ts +103 -0
- package/lib/src/components/error-boundary.d.ts.map +1 -0
- package/lib/src/components/error-boundary.js +104 -0
- package/lib/src/components/error-boundary.js.map +1 -0
- package/lib/src/components/modal/index.d.ts +0 -1
- package/lib/src/components/modal/index.d.ts.map +1 -1
- package/lib/src/components/modal/index.js +0 -1
- package/lib/src/components/modal/index.js.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.js +35 -27
- package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +2 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +27 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/index.d.ts +2 -0
- package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/index.js +2 -0
- package/lib/src/components/modal/modals/InspectorModal/index.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +32 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +109 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +4 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +12 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -0
- package/lib/src/components/modal/modals-container.d.ts.map +1 -1
- package/lib/src/components/modal/modals-container.js +6 -2
- package/lib/src/components/modal/modals-container.js.map +1 -1
- package/lib/src/components/sidebar.d.ts.map +1 -1
- package/lib/src/components/sidebar.js +7 -4
- package/lib/src/components/sidebar.js.map +1 -1
- package/lib/src/connect.config.d.ts +2 -0
- package/lib/src/connect.config.d.ts.map +1 -1
- package/lib/src/connect.config.js +1 -0
- package/lib/src/connect.config.js.map +1 -1
- package/lib/src/feature-flags.d.ts +22 -3
- package/lib/src/feature-flags.d.ts.map +1 -1
- package/lib/src/feature-flags.js +48 -3
- package/lib/src/feature-flags.js.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.js +13 -2
- package/lib/src/hooks/useClientErrorHandler.js.map +1 -1
- package/lib/src/pages/demo/atlas-import.js +2 -2
- package/lib/src/pages/demo/atlas-import.js.map +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +108 -52
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/src/utils/reactor.d.ts +7 -0
- package/lib/src/utils/reactor.d.ts.map +1 -1
- package/lib/src/utils/reactor.js +37 -2
- package/lib/src/utils/reactor.js.map +1 -1
- package/lib/style.css +12451 -0
- package/lib/test/utils/signer.test.d.ts +2 -0
- package/lib/test/utils/signer.test.d.ts.map +1 -0
- package/lib/test/utils/signer.test.js +330 -0
- package/lib/test/utils/signer.test.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/vite.config.d.ts.map +1 -1
- package/lib/vite.config.js +4 -0
- package/lib/vite.config.js.map +1 -1
- package/lib/vitest.config.d.ts +3 -0
- package/lib/vitest.config.d.ts.map +1 -0
- package/lib/vitest.config.js +8 -0
- package/lib/vitest.config.js.map +1 -0
- package/nginx.conf +7 -0
- package/package.copy.json +17 -8
- package/package.json +24 -15
- package/src/index.css +1 -0
- package/dist/assets/AddDriveModal-CHmzH2i5.js +0 -1
- package/dist/assets/ClearStorageModal-DO1rvW0q.js +0 -1
- package/dist/assets/CookiesPolicyModal-0E_7S0XS.js +0 -1
- package/dist/assets/CreateDocumentModal-BinBv7yz.js +0 -1
- package/dist/assets/DebugSettingsModal-DGwsZbWT.js +0 -1
- package/dist/assets/DeleteDriveModal-Bmr-id92.js +0 -1
- package/dist/assets/DeleteItemModal-SMMknmr6.js +0 -1
- package/dist/assets/DisclaimerModal-DpBYCJ_a.js +0 -1
- package/dist/assets/DriveSettingsModal-DadASDNA.js +0 -1
- package/dist/assets/ExportDocumentWithErrorsModal-YrTFPJEX.js +0 -1
- package/dist/assets/SettingsModal-BCIL5JiU.js +0 -1
- package/dist/assets/UpgradeDriveModal-dw68X-NA.js +0 -1
- package/dist/assets/design_system_connect-DjkmiEuL.js +0 -45
- package/dist/assets/design_system_ui-CYeo2hRa.js +0 -1
- package/dist/assets/document_drive-BEIKnuGM.js +0 -305
- package/dist/assets/document_model-DXcLJEjZ.js +0 -230
- package/dist/assets/document_model_editor-C5OPKuqK.js +0 -23
- package/dist/assets/index-Br7E7qjt.css +0 -1
- package/dist/assets/index-JlxfzgMH.js +0 -18
- package/dist/assets/reactor_browser-D2nouCxc.js +0 -25
- package/dist/assets/state-schemas-Crl7-SId.js +0 -2
- package/dist/assets/zod-C6yxFxyo.js +0 -1
- package/lib/src/components/modal/modals-error-boundary.d.ts +0 -18
- package/lib/src/components/modal/modals-error-boundary.d.ts.map +0 -1
- package/lib/src/components/modal/modals-error-boundary.js +0 -22
- package/lib/src/components/modal/modals-error-boundary.js.map +0 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { childLogger } from "document-drive";
|
|
3
|
+
import { ErrorBoundary as ReactErrorBoundary, } from "react-error-boundary";
|
|
4
|
+
const logger = childLogger(["Connect"]);
|
|
5
|
+
function hasCustomFallback(props) {
|
|
6
|
+
return "fallbackRender" in props;
|
|
7
|
+
}
|
|
8
|
+
function SilentFallback() {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Simple text-based fallback component.
|
|
13
|
+
* Displays a centered message when an error occurs.
|
|
14
|
+
*/
|
|
15
|
+
function TextFallback({ message = "Something went wrong", }) {
|
|
16
|
+
return _jsx("div", { className: "text-center", children: message });
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Detailed fallback component showing full error information.
|
|
20
|
+
* Displays error message and JSON representation of the error object.
|
|
21
|
+
* Useful for development and debugging purposes.
|
|
22
|
+
*/
|
|
23
|
+
function DetailedFallback({ error }) {
|
|
24
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
25
|
+
return (_jsxs("div", { className: "mx-auto flex max-w-[80%] flex-1 flex-col items-center justify-center", children: [_jsx("h1", { className: "mb-2 text-xl font-semibold", children: "Error" }), _jsx("i", { children: errorMessage }), _jsx("pre", { children: JSON.stringify(error, null, 2) })] }));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Centered error message fallback component.
|
|
29
|
+
* Displays the error message in a centered, full-size container.
|
|
30
|
+
* Suitable for use as a custom fallbackRender when you need simple error display.
|
|
31
|
+
*/
|
|
32
|
+
function CenteredErrorMessage({ error }) {
|
|
33
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
34
|
+
return (_jsx("div", { className: "flex size-full items-center justify-center", children: _jsx("h3", { className: "text-lg font-semibold", children: errorMessage }) }));
|
|
35
|
+
}
|
|
36
|
+
function getFallbackComponent(variant, fallbackMessage) {
|
|
37
|
+
switch (variant) {
|
|
38
|
+
case "silent":
|
|
39
|
+
return SilentFallback;
|
|
40
|
+
case "text":
|
|
41
|
+
return () => _jsx(TextFallback, { message: fallbackMessage });
|
|
42
|
+
case "detailed":
|
|
43
|
+
return DetailedFallback;
|
|
44
|
+
default:
|
|
45
|
+
return CenteredErrorMessage;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Unified error boundary component for catching and handling React errors.
|
|
50
|
+
*
|
|
51
|
+
* Built on top of `react-error-boundary`, this component provides:
|
|
52
|
+
* - Automatic error logging with configurable context
|
|
53
|
+
* - Multiple fallback UI variants (silent, text, detailed)
|
|
54
|
+
* - Support for custom fallback render functions
|
|
55
|
+
* - Reset capability via `resetKeys`
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* // Using a predefined variant
|
|
59
|
+
* <ErrorBoundary variant="detailed" loggerContext={["Connect", "Editor"]}>
|
|
60
|
+
* <EditorComponent />
|
|
61
|
+
* </ErrorBoundary>
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Using a custom message with the text variant
|
|
65
|
+
* <ErrorBoundary variant="text" fallbackMessage="Failed to load drives">
|
|
66
|
+
* <DrivesList />
|
|
67
|
+
* </ErrorBoundary>
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* // Using a custom fallback render
|
|
71
|
+
* <ErrorBoundary
|
|
72
|
+
* fallbackRender={CenteredErrorMessage}
|
|
73
|
+
* onError={(error) => trackError(error)}
|
|
74
|
+
* >
|
|
75
|
+
* <MyComponent />
|
|
76
|
+
* </ErrorBoundary>
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* // Silent mode for modals (renders null on error)
|
|
80
|
+
* <ErrorBoundary variant="silent" loggerContext={["Connect", "Modals"]}>
|
|
81
|
+
* <ModalContent />
|
|
82
|
+
* </ErrorBoundary>
|
|
83
|
+
*/
|
|
84
|
+
export function ErrorBoundary(props) {
|
|
85
|
+
const { children, onError, resetKeys, loggerContext } = props;
|
|
86
|
+
const handleError = (error, info) => {
|
|
87
|
+
if (error.message.includes("Failed to fetch dynamically imported module") &&
|
|
88
|
+
error.message.includes("node_modules/.vite")) {
|
|
89
|
+
console.error(error);
|
|
90
|
+
console.log("Outdated chunk detected, reloading page...");
|
|
91
|
+
window.location.reload();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const contextLogger = loggerContext ? childLogger(loggerContext) : logger;
|
|
95
|
+
contextLogger.error(error, info);
|
|
96
|
+
onError?.(error, info);
|
|
97
|
+
};
|
|
98
|
+
const fallbackRender = hasCustomFallback(props)
|
|
99
|
+
? props.fallbackRender
|
|
100
|
+
: getFallbackComponent(props.variant, props.fallbackMessage);
|
|
101
|
+
return (_jsx(ReactErrorBoundary, { fallbackRender: fallbackRender, onError: handleError, resetKeys: resetKeys, children: children }));
|
|
102
|
+
}
|
|
103
|
+
export { CenteredErrorMessage, DetailedFallback, TextFallback };
|
|
104
|
+
//# sourceMappingURL=error-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.js","sourceRoot":"","sources":["../../../src/components/error-boundary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,aAAa,IAAI,kBAAkB,GAEpC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAmDxC,SAAS,iBAAiB,CACxB,KAAyB;IAEzB,OAAO,gBAAgB,IAAI,KAAK,CAAC;AACnC,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,EACpB,OAAO,GAAG,sBAAsB,GAGjC;IACC,OAAO,cAAK,SAAS,EAAC,aAAa,YAAE,OAAO,GAAO,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAAiB;IAChD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,CACL,eAAK,SAAS,EAAC,sEAAsE,aACnF,aAAI,SAAS,EAAC,4BAA4B,sBAAW,EACrD,sBAAI,YAAY,GAAK,EACrB,wBAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAO,IACvC,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,EAAE,KAAK,EAAiB;IACpD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,CACL,cAAK,SAAS,EAAC,4CAA4C,YACzD,aAAI,SAAS,EAAC,uBAAuB,YAAE,YAAY,GAAM,GACrD,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA6B,EAC7B,eAAwB;IAExB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,GAAG,EAAE,CAAC,KAAC,YAAY,IAAC,OAAO,EAAE,eAAe,GAAI,CAAC;QAC1D,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE9D,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,IAAqB,EAAE,EAAE;QAC1D,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACrE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAC5C,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC7C,CAAC,CAAC,KAAK,CAAC,cAAc;QACtB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAE/D,OAAO,CACL,KAAC,kBAAkB,IACjB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,SAAS,YAEnB,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddDriveModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/modals/AddDriveModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddDriveModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/modals/AddDriveModal.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,aAAa,4CAgJ5B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { toast } from "@powerhousedao/connect/services";
|
|
3
3
|
import { AddDriveModal as ConnectAddLocalDriveModal } from "@powerhousedao/design-system/connect";
|
|
4
|
-
import { addDrive, addRemoteDrive, closePHModal, setSelectedDrive, useDriveEditorModules, usePHModal, } from "@powerhousedao/reactor-browser";
|
|
4
|
+
import { addDrive, addRemoteDrive, closePHModal, isLegacyWriteEnabledSync, setSelectedDrive, useDriveEditorModules, usePHModal, } from "@powerhousedao/reactor-browser";
|
|
5
5
|
import { useConnectCrypto, useUser, } from "@powerhousedao/reactor-browser/connect";
|
|
6
|
-
import { requestPublicDrive } from "document-drive";
|
|
6
|
+
import { requestPublicDrive, requestPublicDriveFromReactor, } from "document-drive";
|
|
7
7
|
import { t } from "i18next";
|
|
8
8
|
export function AddDriveModal() {
|
|
9
9
|
const phModal = usePHModal();
|
|
@@ -42,30 +42,34 @@ export function AddDriveModal() {
|
|
|
42
42
|
};
|
|
43
43
|
const onAddRemoteDrive = async (data) => {
|
|
44
44
|
try {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
45
|
+
const useLegacy = isLegacyWriteEnabledSync();
|
|
46
|
+
// Legacy path uses listeners/triggers, new path uses channel-based sync
|
|
47
|
+
const newDrive = useLegacy
|
|
48
|
+
? await addRemoteDrive(data.url, {
|
|
49
|
+
sharingType: data.sharingType,
|
|
50
|
+
availableOffline: data.availableOffline,
|
|
51
|
+
listeners: [
|
|
52
|
+
{
|
|
53
|
+
block: true,
|
|
54
|
+
callInfo: {
|
|
55
|
+
data: data.url,
|
|
56
|
+
name: "switchboard-push",
|
|
57
|
+
transmitterType: "SwitchboardPush",
|
|
58
|
+
},
|
|
59
|
+
filter: {
|
|
60
|
+
branch: ["main"],
|
|
61
|
+
documentId: ["*"],
|
|
62
|
+
documentType: ["*"],
|
|
63
|
+
scope: ["global"],
|
|
64
|
+
},
|
|
65
|
+
label: "Switchboard Sync",
|
|
66
|
+
listenerId: "1",
|
|
67
|
+
system: true,
|
|
61
68
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
],
|
|
67
|
-
triggers: [],
|
|
68
|
-
});
|
|
69
|
+
],
|
|
70
|
+
triggers: [],
|
|
71
|
+
})
|
|
72
|
+
: await addRemoteDrive(data.url, {});
|
|
69
73
|
toast(t("notifications.addDriveSuccess"), {
|
|
70
74
|
type: "connect-success",
|
|
71
75
|
});
|
|
@@ -88,16 +92,20 @@ export function AddDriveModal() {
|
|
|
88
92
|
}
|
|
89
93
|
const ready = !!driveEditorModules?.length;
|
|
90
94
|
return (_jsx(ConnectAddLocalDriveModal, { open: open && ready, onAddLocalDrive: onAddLocalDriveSubmit, onAddRemoteDrive: onAddRemoteDriveSubmit, requestPublicDrive: async (url) => {
|
|
95
|
+
const useLegacy = isLegacyWriteEnabledSync();
|
|
96
|
+
const requestFn = useLegacy
|
|
97
|
+
? requestPublicDrive
|
|
98
|
+
: requestPublicDriveFromReactor;
|
|
91
99
|
try {
|
|
92
100
|
const authToken = await connectCrypto?.getBearerToken?.(url, user?.address, true, { expiresIn: 10 });
|
|
93
|
-
return
|
|
101
|
+
return requestFn(url, {
|
|
94
102
|
Authorization: `Bearer ${authToken}`,
|
|
95
103
|
});
|
|
96
104
|
}
|
|
97
105
|
catch (error) {
|
|
98
106
|
console.error(error);
|
|
99
107
|
const authToken = await connectCrypto?.getBearerToken?.(url, user?.address, true, { expiresIn: 10 });
|
|
100
|
-
return
|
|
108
|
+
return requestFn(url, {
|
|
101
109
|
Authorization: `Bearer ${authToken}`,
|
|
102
110
|
});
|
|
103
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddDriveModal.js","sourceRoot":"","sources":["../../../../../src/components/modal/modals/AddDriveModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAKxD,OAAO,EAAE,aAAa,IAAI,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gBAAgB,EAChB,OAAO,GACR,MAAM,wCAAwC,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"AddDriveModal.js","sourceRoot":"","sources":["../../../../../src/components/modal/modals/AddDriveModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectorModal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/InspectorModal.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EA0BlC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { InspectorModal as ConnectInspectorModal } from "@powerhousedao/design-system/connect";
|
|
3
|
+
import { REACTOR_SCHEMA } from "@powerhousedao/reactor";
|
|
4
|
+
import { closePHModal, usePHModal } from "@powerhousedao/reactor-browser";
|
|
5
|
+
import { useDbExplorer } from "./useDbExplorer.js";
|
|
6
|
+
import { useRemotesInspector } from "./useRemotesInspector.js";
|
|
7
|
+
const DEFAULT_PAGE_SIZE = 25;
|
|
8
|
+
export const InspectorModal = () => {
|
|
9
|
+
const phModal = usePHModal();
|
|
10
|
+
const open = phModal?.type === "inspector";
|
|
11
|
+
const { getTables, getTableRows, onExportDb, onImportDb } = useDbExplorer();
|
|
12
|
+
const { getRemotes } = useRemotesInspector();
|
|
13
|
+
return (_jsx(ConnectInspectorModal, { open: open, onOpenChange: (status) => {
|
|
14
|
+
if (!status)
|
|
15
|
+
closePHModal();
|
|
16
|
+
}, dbExplorerProps: {
|
|
17
|
+
schema: REACTOR_SCHEMA,
|
|
18
|
+
getTables,
|
|
19
|
+
getTableRows,
|
|
20
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
21
|
+
onExportDb,
|
|
22
|
+
onImportDb,
|
|
23
|
+
}, remotesInspectorProps: {
|
|
24
|
+
getRemotes,
|
|
25
|
+
} }));
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=InspectorModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectorModal.js","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/InspectorModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAa,GAAG,EAAE;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC;IAE3C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE7C,OAAO,CACL,KAAC,qBAAqB,IACpB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM;gBAAE,YAAY,EAAE,CAAC;QAC9B,CAAC,EACD,eAAe,EAAE;YACf,MAAM,EAAE,cAAc;YACtB,SAAS;YACT,YAAY;YACZ,QAAQ,EAAE,iBAAiB;YAC3B,UAAU;YACV,UAAU;SACX,EACD,qBAAqB,EAAE;YACrB,UAAU;SACX,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type ColumnInfo = {
|
|
2
|
+
readonly name: string;
|
|
3
|
+
readonly dataType: string;
|
|
4
|
+
readonly isNullable: boolean;
|
|
5
|
+
};
|
|
6
|
+
type TableInfo = {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly columns: ColumnInfo[];
|
|
9
|
+
};
|
|
10
|
+
type SortOptions = {
|
|
11
|
+
readonly column: string;
|
|
12
|
+
readonly direction: "asc" | "desc";
|
|
13
|
+
};
|
|
14
|
+
type GetTableRowsOptions = {
|
|
15
|
+
readonly schema?: string;
|
|
16
|
+
readonly limit: number;
|
|
17
|
+
readonly offset: number;
|
|
18
|
+
readonly sort?: SortOptions;
|
|
19
|
+
};
|
|
20
|
+
type TablePage = {
|
|
21
|
+
readonly columns: string[];
|
|
22
|
+
readonly rows: Record<string, unknown>[];
|
|
23
|
+
readonly total: number | null;
|
|
24
|
+
};
|
|
25
|
+
export declare function useDbExplorer(): {
|
|
26
|
+
getTables: () => Promise<TableInfo[]>;
|
|
27
|
+
getTableRows: (table: string, options: GetTableRowsOptions) => Promise<TablePage>;
|
|
28
|
+
onExportDb: () => Promise<void>;
|
|
29
|
+
onImportDb: (sqlContent: string) => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=useDbExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDbExplorer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/useDbExplorer.ts"],"names":[],"mappings":"AAMA,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;CAChC,CAAC;AASF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,aAAa;qBAIa,OAAO,CAAC,SAAS,EAAE,CAAC;0BAqC5C,MAAM,WAAW,mBAAmB,KAAG,OAAO,CAAC,SAAS,CAAC;;6BA4DpD,MAAM;EAoB5B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { pgDump } from "@electric-sql/pglite-tools/pg_dump";
|
|
2
|
+
import { REACTOR_SCHEMA } from "@powerhousedao/reactor";
|
|
3
|
+
import { useDatabase, usePGlite } from "@powerhousedao/reactor-browser/connect";
|
|
4
|
+
import { sql } from "kysely";
|
|
5
|
+
import { useCallback } from "react";
|
|
6
|
+
export function useDbExplorer() {
|
|
7
|
+
const database = useDatabase();
|
|
8
|
+
const pglite = usePGlite();
|
|
9
|
+
const getTables = useCallback(async () => {
|
|
10
|
+
if (!database)
|
|
11
|
+
return [];
|
|
12
|
+
const result = await sql `
|
|
13
|
+
SELECT
|
|
14
|
+
c.table_name,
|
|
15
|
+
c.column_name,
|
|
16
|
+
c.data_type,
|
|
17
|
+
c.is_nullable
|
|
18
|
+
FROM information_schema.columns c
|
|
19
|
+
INNER JOIN information_schema.tables t
|
|
20
|
+
ON c.table_name = t.table_name
|
|
21
|
+
AND c.table_schema = t.table_schema
|
|
22
|
+
WHERE c.table_schema = ${REACTOR_SCHEMA}
|
|
23
|
+
AND t.table_type = 'BASE TABLE'
|
|
24
|
+
ORDER BY c.table_name, c.ordinal_position
|
|
25
|
+
`.execute(database);
|
|
26
|
+
const tableMap = new Map();
|
|
27
|
+
for (const row of result.rows) {
|
|
28
|
+
if (!tableMap.has(row.table_name)) {
|
|
29
|
+
tableMap.set(row.table_name, []);
|
|
30
|
+
}
|
|
31
|
+
tableMap.get(row.table_name).push({
|
|
32
|
+
name: row.column_name,
|
|
33
|
+
dataType: row.data_type,
|
|
34
|
+
isNullable: row.is_nullable === "YES",
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return Array.from(tableMap).map(([name, columns]) => ({
|
|
38
|
+
name,
|
|
39
|
+
columns,
|
|
40
|
+
}));
|
|
41
|
+
}, [database]);
|
|
42
|
+
const getTableRows = useCallback(async (table, options) => {
|
|
43
|
+
if (!database) {
|
|
44
|
+
return { columns: [], rows: [], total: null };
|
|
45
|
+
}
|
|
46
|
+
const { limit, offset, sort } = options;
|
|
47
|
+
const tableRef = sql.raw(`${REACTOR_SCHEMA}."${table}"`);
|
|
48
|
+
let query;
|
|
49
|
+
if (sort) {
|
|
50
|
+
const columnRef = sql.raw(`"${sort.column}"`);
|
|
51
|
+
const direction = sort.direction === "desc" ? sql `DESC` : sql `ASC`;
|
|
52
|
+
query = sql `
|
|
53
|
+
SELECT * FROM ${tableRef}
|
|
54
|
+
ORDER BY ${columnRef} ${direction}
|
|
55
|
+
LIMIT ${limit} OFFSET ${offset}
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
query = sql `
|
|
60
|
+
SELECT * FROM ${tableRef}
|
|
61
|
+
LIMIT ${limit} OFFSET ${offset}
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
const result = await query.execute(database);
|
|
65
|
+
const countResult = await sql `
|
|
66
|
+
SELECT COUNT(*) as count FROM ${tableRef}
|
|
67
|
+
`.execute(database);
|
|
68
|
+
const total = countResult.rows[0]
|
|
69
|
+
? parseInt(countResult.rows[0].count, 10)
|
|
70
|
+
: null;
|
|
71
|
+
const columns = result.rows.length > 0 ? Object.keys(result.rows[0]) : [];
|
|
72
|
+
return {
|
|
73
|
+
columns,
|
|
74
|
+
rows: result.rows,
|
|
75
|
+
total,
|
|
76
|
+
};
|
|
77
|
+
}, [database]);
|
|
78
|
+
const onExportDb = useCallback(async () => {
|
|
79
|
+
if (!pglite)
|
|
80
|
+
return;
|
|
81
|
+
const dump = await pgDump({ pg: pglite });
|
|
82
|
+
const sqlContent = await dump.text();
|
|
83
|
+
const blob = new Blob([sqlContent], { type: "text/sql" });
|
|
84
|
+
const url = URL.createObjectURL(blob);
|
|
85
|
+
const a = document.createElement("a");
|
|
86
|
+
a.href = url;
|
|
87
|
+
a.download = `database-export-${Date.now()}.sql`;
|
|
88
|
+
a.click();
|
|
89
|
+
URL.revokeObjectURL(url);
|
|
90
|
+
}, [pglite]);
|
|
91
|
+
const onImportDb = useCallback(async (sqlContent) => {
|
|
92
|
+
if (!pglite)
|
|
93
|
+
return;
|
|
94
|
+
// Use explicit transaction to ensure writable transaction context
|
|
95
|
+
await pglite.transaction(async (tx) => {
|
|
96
|
+
await tx.exec(`DROP SCHEMA ${REACTOR_SCHEMA} CASCADE`);
|
|
97
|
+
await tx.exec(`CREATE SCHEMA ${REACTOR_SCHEMA}`);
|
|
98
|
+
await tx.exec(sqlContent);
|
|
99
|
+
await tx.exec(`SET search_path TO ${REACTOR_SCHEMA}`);
|
|
100
|
+
});
|
|
101
|
+
}, [pglite]);
|
|
102
|
+
return {
|
|
103
|
+
getTables,
|
|
104
|
+
getTableRows,
|
|
105
|
+
onExportDb,
|
|
106
|
+
onImportDb,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=useDbExplorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDbExplorer.js","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/useDbExplorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRemotesInspector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/useRemotesInspector.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB;;EAUlC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useSync } from "@powerhousedao/reactor-browser/connect";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
export function useRemotesInspector() {
|
|
4
|
+
const syncManager = useSync();
|
|
5
|
+
const getRemotes = useCallback(() => {
|
|
6
|
+
return Promise.resolve(syncManager?.list() ?? []);
|
|
7
|
+
}, [syncManager]);
|
|
8
|
+
return {
|
|
9
|
+
getRemotes,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=useRemotesInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRemotesInspector.js","sourceRoot":"","sources":["../../../../../../src/components/modal/modals/InspectorModal/useRemotesInspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,UAAU,mBAAmB;IACjC,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO;QACL,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modals-container.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/modals-container.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modals-container.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/modals-container.tsx"],"names":[],"mappings":"AAsFA,wBAAgB,eAAe,mDAc9B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { usePHModal } from "@powerhousedao/reactor-browser";
|
|
3
3
|
import { lazy, Suspense } from "react";
|
|
4
|
-
import {
|
|
4
|
+
import { ErrorBoundary } from "../error-boundary.js";
|
|
5
5
|
const AddDriveModal = lazy(() => import("./modals/AddDriveModal.js").then((m) => ({
|
|
6
6
|
default: m.AddDriveModal,
|
|
7
7
|
})));
|
|
@@ -38,6 +38,9 @@ const SettingsModal = lazy(() => import("./modals/SettingsModal.js").then((m) =>
|
|
|
38
38
|
const UpgradeDriveModal = lazy(() => import("./modals/UpgradeDriveModal.js").then((m) => ({
|
|
39
39
|
default: m.UpgradeDriveModal,
|
|
40
40
|
})));
|
|
41
|
+
const InspectorModal = lazy(() => import("./modals/InspectorModal/index.js").then((m) => ({
|
|
42
|
+
default: m.InspectorModal,
|
|
43
|
+
})));
|
|
41
44
|
const modalComponents = {
|
|
42
45
|
addDrive: AddDriveModal,
|
|
43
46
|
clearStorage: ClearStorageModal,
|
|
@@ -49,6 +52,7 @@ const modalComponents = {
|
|
|
49
52
|
disclaimer: DisclaimerModal,
|
|
50
53
|
driveSettings: DriveSettingsModal,
|
|
51
54
|
exportDocumentWithErrors: ExportDocumentWithErrorsModal,
|
|
55
|
+
inspector: InspectorModal,
|
|
52
56
|
settings: SettingsModal,
|
|
53
57
|
upgradeDrive: UpgradeDriveModal,
|
|
54
58
|
};
|
|
@@ -57,6 +61,6 @@ export function ModalsContainer() {
|
|
|
57
61
|
if (!phModal?.type)
|
|
58
62
|
return null;
|
|
59
63
|
const ModalComponent = modalComponents[phModal.type];
|
|
60
|
-
return ModalComponent ? (_jsx(
|
|
64
|
+
return ModalComponent ? (_jsx(ErrorBoundary, { variant: "silent", loggerContext: ["Connect", "Modals"], children: _jsx(Suspense, { fallback: null, children: _jsx(ModalComponent, {}) }) })) : null;
|
|
61
65
|
}
|
|
62
66
|
//# sourceMappingURL=modals-container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modals-container.js","sourceRoot":"","sources":["../../../../src/components/modal/modals-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"modals-container.js","sourceRoot":"","sources":["../../../../src/components/modal/modals-container.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,OAAO,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,OAAO,4CA2EtB"}
|
|
@@ -3,14 +3,14 @@ import { DriveIcon } from "@powerhousedao/connect/components";
|
|
|
3
3
|
import { connectConfig } from "@powerhousedao/connect/config";
|
|
4
4
|
import { Icon } from "@powerhousedao/design-system";
|
|
5
5
|
import { ConnectSidebar, SidebarAddDriveItem, SidebarItem, } from "@powerhousedao/design-system/connect";
|
|
6
|
-
import { logout, openRenown, setSelectedDrive, showPHModal, useDrives, useSelectedDriveSafe, } from "@powerhousedao/reactor-browser";
|
|
6
|
+
import { logout, openRenown, setSelectedDrive, showPHModal, useDrives, useInspectorEnabled, useSelectedDriveSafe, } from "@powerhousedao/reactor-browser";
|
|
7
7
|
import { useUser } from "@powerhousedao/reactor-browser/connect";
|
|
8
|
-
import {
|
|
9
|
-
import { ErrorBoundary } from "react-error-boundary";
|
|
8
|
+
import { ErrorBoundary } from "./error-boundary.js";
|
|
10
9
|
export function Sidebar() {
|
|
11
10
|
const user = useUser();
|
|
12
11
|
const drives = useDrives();
|
|
13
12
|
const [selectedDrive] = useSelectedDriveSafe();
|
|
13
|
+
const inspectorEnabled = useInspectorEnabled();
|
|
14
14
|
const connectDebug = localStorage.getItem("CONNECT_DEBUG") === "true";
|
|
15
15
|
const onClickSettings = () => {
|
|
16
16
|
showPHModal({ type: "settings" });
|
|
@@ -18,10 +18,13 @@ export function Sidebar() {
|
|
|
18
18
|
const onAddDriveClick = () => {
|
|
19
19
|
showPHModal({ type: "addDrive" });
|
|
20
20
|
};
|
|
21
|
+
const onInspectorClick = () => {
|
|
22
|
+
showPHModal({ type: "inspector" });
|
|
23
|
+
};
|
|
21
24
|
const headerContent = (_jsxs("div", { className: "flex h-full items-center", children: [_jsx(Icon, { name: "Connect", className: "!h-[30px] !w-[100px] cursor-pointer", onClick: () => setSelectedDrive(undefined) }), connectDebug && (_jsx("button", { "aria-label": "Home", id: "connect-debug-button", className: "ml-6", onClick: () => showPHModal({ type: "debugSettings" }), children: _jsx("img", { src: "settings.png", className: "h-5 text-gray-600" }) }))] }));
|
|
22
25
|
const etherscanUrl = user?.address
|
|
23
26
|
? `https://etherscan.io/address/${user.address}`
|
|
24
27
|
: "";
|
|
25
|
-
return (_jsx(ConnectSidebar, { id: "sidebar", onClick: () => setSelectedDrive(undefined), onClickSettings: onClickSettings, headerContent: headerContent, address: user?.address, onLogin: openRenown, onDisconnect: logout, etherscanUrl: etherscanUrl, children: _jsxs(ErrorBoundary, {
|
|
28
|
+
return (_jsx(ConnectSidebar, { id: "sidebar", onClick: () => setSelectedDrive(undefined), onClickSettings: onClickSettings, onInspectorClick: inspectorEnabled ? onInspectorClick : undefined, headerContent: headerContent, address: user?.address, onLogin: openRenown, onDisconnect: logout, etherscanUrl: etherscanUrl, children: _jsxs(ErrorBoundary, { variant: "text", fallbackMessage: "There was an error loading drives", loggerContext: ["Connect", "Sidebar"], children: [drives?.map((drive, index) => (_jsx(SidebarItem, { title: drive.header.name, onClick: () => setSelectedDrive(drive), active: selectedDrive?.header.id === drive.header.id, icon: _jsx(DriveIcon, { drive: drive }) }, index))), connectConfig.drives.addDriveEnabled && (_jsx(SidebarAddDriveItem, { onClick: onAddDriveClick }))] }) }));
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
|