@powerhousedao/connect 5.1.0-staging.0 → 5.2.0-dev.1
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-BRv5zevW.js +1 -0
- package/dist/assets/ClearStorageModal-Bmlwi1OP.js +1 -0
- package/dist/assets/CookiesPolicyModal-BGTtwA4Q.js +1 -0
- package/dist/assets/CreateDocumentModal-BHEZHI3z.js +1 -0
- package/dist/assets/DebugSettingsModal-BT7jS0nY.js +1 -0
- package/dist/assets/DeleteDriveModal-DkEYNvdw.js +1 -0
- package/dist/assets/DeleteItemModal-DfMv16TH.js +1 -0
- package/dist/assets/DisclaimerModal-CNA6GRIu.js +1 -0
- package/dist/assets/DriveSettingsModal-CLkttAAT.js +1 -0
- package/dist/assets/ExportDocumentWithErrorsModal-DU8T41PS.js +1 -0
- package/dist/assets/SettingsModal-DCj6Qy2Q.js +1 -0
- package/dist/assets/UpgradeDriveModal-D2TGZqOc.js +1 -0
- package/dist/assets/{design_system-pnKFY6jM.js → design_system-ARI9wF1v.js} +2 -2
- package/dist/assets/design_system_connect-DSscHpaC.js +47 -0
- package/dist/assets/design_system_ui-C_xWSidq.js +1 -0
- package/dist/assets/document_drive-Dxgda4aL.js +316 -0
- package/dist/assets/{document_engineering-BAszqzBd.js → document_engineering-CrwXVcGU.js} +1 -1
- package/dist/assets/document_model-DmYROZET.js +230 -0
- package/dist/assets/document_model_editor-BU8h00rB.js +25 -0
- package/dist/assets/{drive_explorer-C6clT2Df.js → drive_explorer-DPkuz-gm.js} +2 -2
- package/dist/assets/{graphql-BS4Brs_E.js → graphql-AKTCpY7l.js} +45 -45
- package/dist/assets/{graphql-editor-C6f63OmN.js → graphql-editor-DVebB5Sl.js} +2 -2
- package/dist/assets/{graphql_request-9RNJ00DB.js → graphql_request-BJtmW2JS.js} +1 -1
- package/dist/assets/{hooks-BySGfjQp.js → hooks-CjEftWjS.js} +1 -1
- package/dist/assets/index-CuGJsoxa.js +28 -0
- package/dist/assets/index-DGEkQuau.css +1 -0
- package/dist/assets/index-Yntz7eQF.js +18 -0
- package/dist/assets/{json-editor-D27WLv4C.js → json-editor-BkmNnzFW.js} +1 -1
- package/dist/assets/nodefs-C2aUDDHr.js +1 -0
- package/dist/assets/opfs-ahp-9SHk6ls5.js +3 -0
- package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
- package/dist/assets/reactor_browser-CRSo3asT.js +129 -0
- package/dist/assets/state-schemas-zCwS5l1s.js +2 -0
- package/dist/assets/zod-l0sSiJ83.js +39 -0
- package/dist/index.html +14 -14
- package/lib/package.copy.json +13 -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/document-editor-container.d.ts +1 -1
- package/lib/src/components/document-editor-container.d.ts.map +1 -1
- package/lib/src/components/document-editor-container.js +19 -16
- package/lib/src/components/document-editor-container.js.map +1 -1
- package/lib/src/components/drive-editor-container.d.ts.map +1 -1
- package/lib/src/components/drive-editor-container.js +6 -9
- 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 +29 -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 +31 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +211 -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 +5 -0
- package/lib/src/feature-flags.d.ts.map +1 -1
- package/lib/src/feature-flags.js +20 -4
- 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/content.d.ts.map +1 -1
- package/lib/src/pages/content.js +5 -5
- package/lib/src/pages/content.js.map +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +90 -37
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/src/utils/reactor.d.ts +4 -4
- package/lib/src/utils/reactor.d.ts.map +1 -1
- package/lib/src/utils/reactor.js +16 -9
- package/lib/src/utils/reactor.js.map +1 -1
- package/lib/style.css +12466 -0
- package/lib/test/utils/signer.test.js +22 -11
- package/lib/test/utils/signer.test.js.map +1 -1
- 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/package.copy.json +13 -8
- package/package.json +21 -16
- package/src/index.css +1 -0
- package/dist/assets/AddDriveModal-CGnuKCkz.js +0 -1
- package/dist/assets/ClearStorageModal-tHn6sdVv.js +0 -1
- package/dist/assets/CookiesPolicyModal-D5y1O9wD.js +0 -1
- package/dist/assets/CreateDocumentModal-DU4C2Y6P.js +0 -1
- package/dist/assets/DebugSettingsModal-BLV4d9N1.js +0 -1
- package/dist/assets/DeleteDriveModal-CQq-0aWd.js +0 -1
- package/dist/assets/DeleteItemModal-JV0AvuwF.js +0 -1
- package/dist/assets/DisclaimerModal-DQZyl_zf.js +0 -1
- package/dist/assets/DriveSettingsModal-yXsOiCLy.js +0 -1
- package/dist/assets/ExportDocumentWithErrorsModal-CPfizBgB.js +0 -1
- package/dist/assets/SettingsModal-GeNqOEFN.js +0 -1
- package/dist/assets/UpgradeDriveModal-BCRmp5F4.js +0 -1
- package/dist/assets/design_system_connect-BrlN-7x3.js +0 -104
- package/dist/assets/design_system_ui-Cz-kMJRJ.js +0 -1
- package/dist/assets/document_drive-CVkeqJ3l.js +0 -305
- package/dist/assets/document_model-LXEZCDPq.js +0 -230
- package/dist/assets/document_model_editor-D5oPro82.js +0 -23
- package/dist/assets/index-BYfBva47.js +0 -20
- package/dist/assets/index-XUlAOLkX.css +0 -1
- package/dist/assets/nodefs-AYr2EwM_.js +0 -1
- package/dist/assets/opfs-ahp-rEGVoJkP.js +0 -3
- package/dist/assets/reactor_browser-D4maXKS-.js +0 -25
- package/dist/assets/state-schemas-DGMOULa-.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
- package/lib/src/utils/signer.d.ts +0 -18
- package/lib/src/utils/signer.d.ts.map +0 -1
- package/lib/src/utils/signer.js +0 -215
- package/lib/src/utils/signer.js.map +0 -1
|
@@ -6,16 +6,10 @@ import { RevisionHistory } from "@powerhousedao/design-system/connect";
|
|
|
6
6
|
import { getRevisionFromDate, setRevisionHistoryVisible, showPHModal, useDocumentById, useDocumentModelModuleById, useEditorModuleById, useFallbackEditorModule, useRevisionHistoryVisible, useSelectedTimelineItem, } from "@powerhousedao/reactor-browser";
|
|
7
7
|
import { redo, undo } from "document-model/core";
|
|
8
8
|
import { Suspense, useEffect, useState } from "react";
|
|
9
|
-
import { ErrorBoundary } from "
|
|
9
|
+
import { CenteredErrorMessage, ErrorBoundary, } from "./error-boundary.js";
|
|
10
10
|
function EditorError({ message }) {
|
|
11
11
|
return (_jsx("div", { className: "flex size-full items-center justify-center", children: _jsx("h3", { className: "text-lg font-semibold", children: message }) }));
|
|
12
12
|
}
|
|
13
|
-
function FallbackEditorError(props) {
|
|
14
|
-
const message = props.error instanceof Error
|
|
15
|
-
? props.error.message
|
|
16
|
-
: props.error;
|
|
17
|
-
return _jsx(EditorError, { message: message });
|
|
18
|
-
}
|
|
19
13
|
export const DocumentEditor = (props) => {
|
|
20
14
|
const { document: initialDocument, onClose, onExport, onOpenSwitchboardLink, } = props;
|
|
21
15
|
const selectedTimelineItem = useSelectedTimelineItem();
|
|
@@ -85,9 +79,9 @@ export const DocumentEditor = (props) => {
|
|
|
85
79
|
const EditorComponent = editorModule.Component;
|
|
86
80
|
return (_jsx("div", { className: "relative h-full", id: "document-editor-context", children: revisionHistoryVisible ? (_jsx(RevisionHistory, { documentTitle: documentName ?? "", documentId: documentId ?? "", globalOperations: globalOperations, localOperations: localOperations, onClose: () => setRevisionHistoryVisible(false), documentState: document.state, onCopyState: () => {
|
|
87
81
|
toast("Copied document state to clipboard", { type: "success" });
|
|
88
|
-
} }, documentId)) : (_jsx(Suspense, { fallback: _jsx(EditorLoader, { message: "Loading editor" }), name: "EditorLoader", children: _jsx(ErrorBoundary, { fallbackRender:
|
|
82
|
+
} }, documentId)) : (_jsx(Suspense, { fallback: _jsx(EditorLoader, { message: "Loading editor" }), name: "EditorLoader", children: _jsx(ErrorBoundary, { fallbackRender: CenteredErrorMessage, resetKeys: [documentId], onError: handleEditorError, loggerContext: ["Connect", "DocumentEditor"], children: !editorError?.error && (_jsx(EditorComponent, { context: {
|
|
89
83
|
readMode: !!selectedTimelineItem,
|
|
90
84
|
selectedTimelineRevision: getRevisionFromDate(selectedTimelineItem?.startDate, selectedTimelineItem?.endDate, globalOperations),
|
|
91
|
-
}, documentId: document.header.id }, documentId)) }
|
|
85
|
+
}, documentId: document.header.id }, documentId)) }) })) }));
|
|
92
86
|
};
|
|
93
87
|
//# sourceMappingURL=editors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/components/editors.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/components/editors.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type FallbackProps } from "react-error-boundary";
|
|
3
|
+
/**
|
|
4
|
+
* Available fallback UI variants for the ErrorBoundary component.
|
|
5
|
+
*
|
|
6
|
+
* - `"silent"` - Renders nothing when an error occurs (useful for modals)
|
|
7
|
+
* - `"text"` - Displays a simple centered text message
|
|
8
|
+
* - `"detailed"` - Shows full error details including message and JSON representation
|
|
9
|
+
*/
|
|
10
|
+
type ErrorFallbackVariant = "silent" | "text" | "detailed";
|
|
11
|
+
/**
|
|
12
|
+
* Base props shared by all ErrorBoundary configurations.
|
|
13
|
+
*/
|
|
14
|
+
type BaseErrorBoundaryProps = {
|
|
15
|
+
/** Content to wrap with error boundary protection */
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
/** Optional callback invoked when an error is caught (in addition to logging) */
|
|
18
|
+
onError?: (error: Error, info: React.ErrorInfo) => void;
|
|
19
|
+
/** When any value in this array changes, the error boundary resets */
|
|
20
|
+
resetKeys?: unknown[];
|
|
21
|
+
/** Logger context path for error logging (e.g., ["Connect", "Editor"]) */
|
|
22
|
+
loggerContext?: string[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Props for using a predefined fallback variant.
|
|
26
|
+
*/
|
|
27
|
+
type VariantErrorBoundaryProps = BaseErrorBoundaryProps & {
|
|
28
|
+
/** The fallback UI variant to display on error */
|
|
29
|
+
variant: ErrorFallbackVariant;
|
|
30
|
+
/** Custom message for the "text" variant (default: "Something went wrong") */
|
|
31
|
+
fallbackMessage?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Props for using a custom fallback render function.
|
|
35
|
+
*/
|
|
36
|
+
type CustomFallbackErrorBoundaryProps = BaseErrorBoundaryProps & {
|
|
37
|
+
/** Custom render function for the fallback UI */
|
|
38
|
+
fallbackRender: (props: FallbackProps) => ReactNode;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Union type for all ErrorBoundary prop configurations.
|
|
42
|
+
* Use either a variant or a custom fallbackRender, but not both.
|
|
43
|
+
*/
|
|
44
|
+
type ErrorBoundaryProps = VariantErrorBoundaryProps | CustomFallbackErrorBoundaryProps;
|
|
45
|
+
/**
|
|
46
|
+
* Simple text-based fallback component.
|
|
47
|
+
* Displays a centered message when an error occurs.
|
|
48
|
+
*/
|
|
49
|
+
declare function TextFallback({ message, }: {
|
|
50
|
+
message?: string;
|
|
51
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
/**
|
|
53
|
+
* Detailed fallback component showing full error information.
|
|
54
|
+
* Displays error message and JSON representation of the error object.
|
|
55
|
+
* Useful for development and debugging purposes.
|
|
56
|
+
*/
|
|
57
|
+
declare function DetailedFallback({ error }: FallbackProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
/**
|
|
59
|
+
* Centered error message fallback component.
|
|
60
|
+
* Displays the error message in a centered, full-size container.
|
|
61
|
+
* Suitable for use as a custom fallbackRender when you need simple error display.
|
|
62
|
+
*/
|
|
63
|
+
declare function CenteredErrorMessage({ error }: FallbackProps): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
/**
|
|
65
|
+
* Unified error boundary component for catching and handling React errors.
|
|
66
|
+
*
|
|
67
|
+
* Built on top of `react-error-boundary`, this component provides:
|
|
68
|
+
* - Automatic error logging with configurable context
|
|
69
|
+
* - Multiple fallback UI variants (silent, text, detailed)
|
|
70
|
+
* - Support for custom fallback render functions
|
|
71
|
+
* - Reset capability via `resetKeys`
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* // Using a predefined variant
|
|
75
|
+
* <ErrorBoundary variant="detailed" loggerContext={["Connect", "Editor"]}>
|
|
76
|
+
* <EditorComponent />
|
|
77
|
+
* </ErrorBoundary>
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* // Using a custom message with the text variant
|
|
81
|
+
* <ErrorBoundary variant="text" fallbackMessage="Failed to load drives">
|
|
82
|
+
* <DrivesList />
|
|
83
|
+
* </ErrorBoundary>
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* // Using a custom fallback render
|
|
87
|
+
* <ErrorBoundary
|
|
88
|
+
* fallbackRender={CenteredErrorMessage}
|
|
89
|
+
* onError={(error) => trackError(error)}
|
|
90
|
+
* >
|
|
91
|
+
* <MyComponent />
|
|
92
|
+
* </ErrorBoundary>
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* // Silent mode for modals (renders null on error)
|
|
96
|
+
* <ErrorBoundary variant="silent" loggerContext={["Connect", "Modals"]}>
|
|
97
|
+
* <ModalContent />
|
|
98
|
+
* </ErrorBoundary>
|
|
99
|
+
*/
|
|
100
|
+
export declare function ErrorBoundary(props: ErrorBoundaryProps): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
export { CenteredErrorMessage, DetailedFallback, TextFallback };
|
|
102
|
+
export type { FallbackProps };
|
|
103
|
+
//# sourceMappingURL=error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../src/components/error-boundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;GAMG;AACH,KAAK,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3D;;GAEG;AACH,KAAK,sBAAsB,GAAG;IAC5B,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACxD,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,KAAK,yBAAyB,GAAG,sBAAsB,GAAG;IACxD,kDAAkD;IAClD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,KAAK,gCAAgC,GAAG,sBAAsB,GAAG;IAC/D,iDAAiD;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,KAAK,kBAAkB,GACnB,yBAAyB,GACzB,gCAAgC,CAAC;AAYrC;;;GAGG;AACH,iBAAS,YAAY,CAAC,EACpB,OAAgC,GACjC,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,2CAEA;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,2CASjD;AAED;;;;GAIG;AACH,iBAAS,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,2CAOrD;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAgCtD;AAED,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -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":"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"}
|
|
@@ -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":";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,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gBAAgB,EAChB,OAAO,GACR,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,SAAS,CAAC;AAE5B,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,eAAe,GAAG,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B;gBACE,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI;iBACX;gBACD,KAAK,EAAE;oBACL,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;oBAC3C,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,EAAE;iBACb;aACF,EACD,GAAG,EAAE,EAAE,CACR,CAAC;YAEF,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC,EAAE;gBACxC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;YAE7C,wEAAwE;YACxE,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE;gCACR,IAAI,EAAE,IAAI,CAAC,GAAG;gCACd,IAAI,EAAE,kBAAkB;gCACxB,eAAe,EAAE,iBAAiB;6BACnC;4BACD,MAAM,EAAE;gCACN,MAAM,EAAE,CAAC,MAAM,CAAC;gCAChB,UAAU,EAAE,CAAC,GAAG,CAAC;gCACjB,YAAY,EAAE,CAAC,GAAG,CAAC;gCACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;6BAClB;4BACD,KAAK,EAAE,kBAAkB;4BACzB,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,IAAI;yBACb;qBACF;oBACD,QAAQ,EAAE,EAAE;iBACb,CAAC;gBACJ,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEvC,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC,EAAE;gBACxC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,UAAU,qBAAqB,CAAC,IAAwB;QAC3D,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,UAAU,sBAAsB,CAAC,IAAyB;QAC7D,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7B,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAE3C,OAAO,CACL,KAAC,yBAAyB,IACxB,IAAI,EAAE,IAAI,IAAI,KAAK,EACnB,eAAe,EAAE,qBAAqB,EACtC,gBAAgB,EAAE,sBAAsB,EACxC,kBAAkB,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,6BAA6B,CAAC;YAElC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,cAAc,EAAE,CACrD,GAAG,EACH,IAAI,EAAE,OAAO,EACb,IAAI,EACJ,EAAE,SAAS,EAAE,EAAE,EAAE,CAClB,CAAC;gBACF,OAAO,SAAS,CAAC,GAAG,EAAE;oBACpB,aAAa,EAAE,UAAU,SAAS,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,cAAc,EAAE,CACrD,GAAG,EACH,IAAI,EAAE,OAAO,EACb,IAAI,EACJ,EAAE,SAAS,EAAE,EAAE,EAAE,CAClB,CAAC;gBACF,OAAO,SAAS,CAAC,GAAG,EAAE;oBACpB,aAAa,EAAE,UAAU,SAAS,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM;gBAAE,OAAO,YAAY,EAAE,CAAC;QACrC,CAAC,EACD,UAAU,EACR,kBAAkB,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,EAAE;SACpB,CAAC,CAAC,IAAI,EAAE,GAEX,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -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,EA6BlC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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, getDefaultSort, 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
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21
|
+
getDefaultSort,
|
|
22
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
23
|
+
onExportDb,
|
|
24
|
+
onImportDb,
|
|
25
|
+
}, remotesInspectorProps: {
|
|
26
|
+
getRemotes,
|
|
27
|
+
} }));
|
|
28
|
+
};
|
|
29
|
+
//# 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,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,GACvE,aAAa,EAAE,CAAC;IAClB,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,mEAAmE;YACnE,cAAc;YACd,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,31 @@
|
|
|
1
|
+
import type { FilterGroup, SortOptions } from "@powerhousedao/design-system/connect";
|
|
2
|
+
type ColumnInfo = {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly dataType: string;
|
|
5
|
+
readonly isNullable: boolean;
|
|
6
|
+
};
|
|
7
|
+
type TableInfo = {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly columns: ColumnInfo[];
|
|
10
|
+
};
|
|
11
|
+
type GetTableRowsOptions = {
|
|
12
|
+
readonly schema?: string;
|
|
13
|
+
readonly limit: number;
|
|
14
|
+
readonly offset: number;
|
|
15
|
+
readonly sort?: SortOptions;
|
|
16
|
+
readonly filters?: FilterGroup;
|
|
17
|
+
};
|
|
18
|
+
type TablePage = {
|
|
19
|
+
readonly columns: string[];
|
|
20
|
+
readonly rows: Record<string, unknown>[];
|
|
21
|
+
readonly total: number | null;
|
|
22
|
+
};
|
|
23
|
+
export declare function useDbExplorer(): {
|
|
24
|
+
getTables: () => Promise<TableInfo[]>;
|
|
25
|
+
getTableRows: (table: string, options: GetTableRowsOptions) => Promise<TablePage>;
|
|
26
|
+
getDefaultSort: (table: string) => SortOptions | undefined;
|
|
27
|
+
onExportDb: () => Promise<void>;
|
|
28
|
+
onImportDb: (sqlContent: string) => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# 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":"AACA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAM9C,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,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;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC,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;AAWF,wBAAgB,aAAa;qBAIa,OAAO,CAAC,SAAS,EAAE,CAAC;0BAmD5C,MAAM,WAAW,mBAAmB,KAAG,OAAO,CAAC,SAAS,CAAC;4BA0K/D,MAAM,KAAG,WAAW,GAAG,SAAS;;6BAfrB,MAAM;EA+B5B"}
|