@powerhousedao/connect 6.2.0-dev.9 → 6.2.0-rc.0
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/{AddDriveModal-kzL41qdg.js → AddDriveModal-BoKLJyUY.js} +4 -7
- package/dist/{AddDriveModal-kzL41qdg.js.map → AddDriveModal-BoKLJyUY.js.map} +1 -1
- package/dist/{ClearStorageModal-9qqxbO1y.js → ClearStorageModal-kAd_wAOs.js} +4 -4
- package/dist/{ClearStorageModal-9qqxbO1y.js.map → ClearStorageModal-kAd_wAOs.js.map} +1 -1
- package/dist/{DebugSettingsModal-DL2byDNM.js → DebugSettingsModal-BMCpNo7G.js} +8 -8
- package/dist/DebugSettingsModal-BMCpNo7G.js.map +1 -0
- package/dist/DriveAuthRequiredModal-B3VdLwSH.js +36 -0
- package/dist/DriveAuthRequiredModal-B3VdLwSH.js.map +1 -0
- package/dist/{DriveSettingsModal-L5sM-rIh.js → DriveSettingsModal-CsNFEJ9E.js} +5 -5
- package/dist/DriveSettingsModal-CsNFEJ9E.js.map +1 -0
- package/dist/{InspectorModal-v4CyjztA.js → InspectorModal-so7krTny.js} +4 -4
- package/dist/{InspectorModal-v4CyjztA.js.map → InspectorModal-so7krTny.js.map} +1 -1
- package/dist/{MissingPackageModal-D_N96M6a.js → MissingPackageModal-Bn036mWQ.js} +4 -4
- package/dist/{MissingPackageModal-D_N96M6a.js.map → MissingPackageModal-Bn036mWQ.js.map} +1 -1
- package/dist/{SettingsModal-V2LEfVtr.js → SettingsModal-mslhNfDQ.js} +34 -41
- package/dist/SettingsModal-mslhNfDQ.js.map +1 -0
- package/dist/{UpgradeDriveModal-CyAUDCU7.js → UpgradeDriveModal-C7lV4rAX.js} +3 -3
- package/dist/{UpgradeDriveModal-CyAUDCU7.js.map → UpgradeDriveModal-C7lV4rAX.js.map} +1 -1
- package/dist/{app-loader-CI2xLPWx.js → app-loader-4hDsMW8y.js} +67 -47
- package/dist/app-loader-4hDsMW8y.js.map +1 -0
- package/dist/app-loader-C0eLtDmc.js +4 -0
- package/dist/{build-info-1USAKlmN.js → build-info-DOqVIoUe.js} +4 -4
- package/dist/{build-info-1USAKlmN.js.map → build-info-DOqVIoUe.js.map} +1 -1
- package/dist/{components-BrHWoVhT.js → components-CiKy5Y4Y.js} +3 -3
- package/dist/{load-8SeZZVg5.js → load-hFcxdWCu.js} +5 -5
- package/dist/{load-8SeZZVg5.js.map → load-hFcxdWCu.js.map} +1 -1
- package/dist/main.js +1 -1
- package/dist/{package-CLWzWyke.js → package-DPnL2ERr.js} +6 -5
- package/dist/package-DPnL2ERr.js.map +1 -0
- package/dist/{reactor-BAZd7zrS.js → reactor-BkaNhcsJ.js} +14 -23
- package/dist/reactor-BkaNhcsJ.js.map +1 -0
- package/dist/start-connect.js +1 -1
- package/dist/style.css +851 -2392
- package/dist/{useRegistryPackages-Bh0luCvV.js → useRegistryPackages-B-gFECmd.js} +44 -8
- package/dist/useRegistryPackages-B-gFECmd.js.map +1 -0
- package/package.json +12 -11
- package/dist/DebugSettingsModal-DL2byDNM.js.map +0 -1
- package/dist/DriveSettingsModal-L5sM-rIh.js.map +0 -1
- package/dist/SettingsModal-V2LEfVtr.js.map +0 -1
- package/dist/app-loader-CI2xLPWx.js.map +0 -1
- package/dist/app-loader-D_bqwNxD.js +0 -4
- package/dist/package-CLWzWyke.js.map +0 -1
- package/dist/reactor-BAZd7zrS.js.map +0 -1
- package/dist/useRegistryPackages-Bh0luCvV.js.map +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
-
import { t as package_default } from "./package-
|
|
4
|
-
import { n as getGitUrl, r as shortGitSha, t as getGitSha } from "./build-info-
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0dd1146a-0b04-571c-9b74-3288b9da4b40")}catch(e){}}();
|
|
3
|
+
import { t as package_default } from "./package-DPnL2ERr.js";
|
|
4
|
+
import { n as getGitUrl, r as shortGitSha, t as getGitSha } from "./build-info-DOqVIoUe.js";
|
|
5
5
|
import { r as connectConfig } from "./connect.config-Bt4pvvWV.js";
|
|
6
6
|
import { n as toast } from "./toast-BEy42aYx.js";
|
|
7
|
-
import { t as useRegistryPackages } from "./useRegistryPackages-
|
|
7
|
+
import { t as useRegistryPackages } from "./useRegistryPackages-B-gFECmd.js";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { t } from "i18next";
|
|
10
10
|
import { useCallback, useMemo, useState } from "react";
|
|
11
|
-
import { closePHModal, deleteDrive,
|
|
12
|
-
import { About, DangerZone, DefaultEditor, PackageManager, SettingsModal as SettingsModal$1 } from "@powerhousedao/design-system/connect";
|
|
11
|
+
import { DriveCollectionId, closePHModal, deleteDrive, setSelectedDrive, showPHModal, useDriveSystemInfo, useDrives, usePHModal, useSyncList, useVetraPackageManager } from "@powerhousedao/reactor-browser";
|
|
12
|
+
import { About, DangerZone, DefaultEditor, PackageManager, SettingsModal as SettingsModal$1, ThemeSwitch } from "@powerhousedao/design-system/connect";
|
|
13
13
|
import { Icon } from "@powerhousedao/design-system";
|
|
14
|
+
import { CircleHelp, Package, PenLine, TriangleAlert } from "lucide-react";
|
|
14
15
|
//#region src/components/modal/modals/settings/about.tsx
|
|
15
16
|
const About$1 = () => {
|
|
16
17
|
const onOpenInspector = () => {
|
|
@@ -25,18 +26,18 @@ const About$1 = () => {
|
|
|
25
26
|
/* @__PURE__ */ jsx(AppGitHash, {}),
|
|
26
27
|
/* @__PURE__ */ jsx(ConnectedDrives, {}),
|
|
27
28
|
/* @__PURE__ */ jsxs("div", {
|
|
28
|
-
className: "bg-
|
|
29
|
+
className: "bg-background p-3",
|
|
29
30
|
children: [
|
|
30
31
|
/* @__PURE__ */ jsx("h2", {
|
|
31
|
-
className: "mb-2 font-semibold text-
|
|
32
|
+
className: "mb-2 font-semibold text-foreground",
|
|
32
33
|
children: "Inspector"
|
|
33
34
|
}),
|
|
34
35
|
/* @__PURE__ */ jsx("p", {
|
|
35
|
-
className: "mb-3 text-sm font-normal text-
|
|
36
|
+
className: "mb-3 text-sm font-normal text-foreground",
|
|
36
37
|
children: "Explore the local database and sync state for debugging."
|
|
37
38
|
}),
|
|
38
39
|
/* @__PURE__ */ jsxs("button", {
|
|
39
|
-
className: "flex items-center gap-x-2 rounded-md border border-
|
|
40
|
+
className: "flex items-center gap-x-2 rounded-md border border-border bg-transparent px-3 py-1 text-sm font-medium text-foreground transition-colors hover:hover-effect",
|
|
40
41
|
onClick: onOpenInspector,
|
|
41
42
|
type: "button",
|
|
42
43
|
children: ["Open Inspector ", /* @__PURE__ */ jsx(Icon, {
|
|
@@ -54,7 +55,7 @@ function AppGitHash() {
|
|
|
54
55
|
const url = getGitUrl();
|
|
55
56
|
const label = shortGitSha(sha);
|
|
56
57
|
return /* @__PURE__ */ jsxs("div", {
|
|
57
|
-
className: "bg-
|
|
58
|
+
className: "bg-background p-3 text-sm",
|
|
58
59
|
children: [/* @__PURE__ */ jsx("span", {
|
|
59
60
|
className: "font-semibold",
|
|
60
61
|
children: "Git hash: "
|
|
@@ -75,14 +76,14 @@ function AppGitHash() {
|
|
|
75
76
|
function ConnectedDrives() {
|
|
76
77
|
const drives = useDrives() ?? [];
|
|
77
78
|
const remotes = useSyncList();
|
|
78
|
-
const remoteDrives = useMemo(() => drives.filter((d) => remotes.some((r) => r.collectionId
|
|
79
|
+
const remoteDrives = useMemo(() => drives.filter((d) => remotes.some((r) => r.collectionId.equals(DriveCollectionId.forDrive(d.header.id)))), [drives, remotes]);
|
|
79
80
|
return /* @__PURE__ */ jsxs("div", {
|
|
80
|
-
className: "my-4 bg-
|
|
81
|
+
className: "my-4 bg-background p-3",
|
|
81
82
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
82
|
-
className: "mb-2 font-semibold text-
|
|
83
|
+
className: "mb-2 font-semibold text-foreground",
|
|
83
84
|
children: "Connected drives"
|
|
84
85
|
}), remoteDrives.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
85
|
-
className: "text-sm font-normal text-
|
|
86
|
+
className: "text-sm font-normal text-foreground",
|
|
86
87
|
children: "No connected remote drives."
|
|
87
88
|
}) : /* @__PURE__ */ jsx("ul", {
|
|
88
89
|
className: "flex flex-col gap-3",
|
|
@@ -93,7 +94,7 @@ function ConnectedDrives() {
|
|
|
93
94
|
function DriveAboutEntry({ drive }) {
|
|
94
95
|
const info = useDriveSystemInfo(drive);
|
|
95
96
|
return /* @__PURE__ */ jsxs("li", {
|
|
96
|
-
className: "text-sm text-
|
|
97
|
+
className: "text-sm text-foreground",
|
|
97
98
|
children: [
|
|
98
99
|
/* @__PURE__ */ jsxs("div", {
|
|
99
100
|
className: "flex items-baseline gap-2",
|
|
@@ -101,20 +102,20 @@ function DriveAboutEntry({ drive }) {
|
|
|
101
102
|
className: "font-medium",
|
|
102
103
|
children: drive.state.global.name || drive.header.name
|
|
103
104
|
}), info.status === "ready" && /* @__PURE__ */ jsx("span", {
|
|
104
|
-
className: "text-xs text-
|
|
105
|
+
className: "text-xs text-muted-foreground",
|
|
105
106
|
children: info.host
|
|
106
107
|
})]
|
|
107
108
|
}),
|
|
108
109
|
info.status === "loading" && /* @__PURE__ */ jsx("div", {
|
|
109
|
-
className: "mt-1 text-xs text-
|
|
110
|
+
className: "mt-1 text-xs text-muted-foreground",
|
|
110
111
|
children: "Loading…"
|
|
111
112
|
}),
|
|
112
113
|
info.status === "error" && /* @__PURE__ */ jsx("div", {
|
|
113
|
-
className: "mt-1 text-xs text-
|
|
114
|
+
className: "mt-1 text-xs text-destructive",
|
|
114
115
|
children: "Could not load system info"
|
|
115
116
|
}),
|
|
116
117
|
info.status === "ready" && /* @__PURE__ */ jsxs("div", {
|
|
117
|
-
className: "mt-1 text-xs text-
|
|
118
|
+
className: "mt-1 text-xs text-foreground",
|
|
118
119
|
children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
119
120
|
/* @__PURE__ */ jsx("span", {
|
|
120
121
|
className: "font-medium",
|
|
@@ -139,7 +140,7 @@ function DriveAboutEntry({ drive }) {
|
|
|
139
140
|
})] })]
|
|
140
141
|
}),
|
|
141
142
|
info.status === "local" && /* @__PURE__ */ jsx("div", {
|
|
142
|
-
className: "mt-1 text-xs text-
|
|
143
|
+
className: "mt-1 text-xs text-muted-foreground",
|
|
143
144
|
children: "Local drive — N/A"
|
|
144
145
|
})
|
|
145
146
|
]
|
|
@@ -236,46 +237,37 @@ const ConnectPackageManager = () => {
|
|
|
236
237
|
};
|
|
237
238
|
//#endregion
|
|
238
239
|
//#region src/components/modal/modals/SettingsModal.tsx
|
|
240
|
+
const iconProps = { size: 16 };
|
|
239
241
|
const SettingsModal = () => {
|
|
240
242
|
const open = usePHModal()?.type === "settings";
|
|
241
243
|
const tabs = useMemo(() => [
|
|
242
244
|
{
|
|
243
245
|
id: "package-manager",
|
|
244
|
-
icon: /* @__PURE__ */ jsx(
|
|
245
|
-
name: "PackageManager",
|
|
246
|
-
size: 12
|
|
247
|
-
}),
|
|
246
|
+
icon: /* @__PURE__ */ jsx(Package, { ...iconProps }),
|
|
248
247
|
label: "Package Manager",
|
|
249
248
|
content: ConnectPackageManager
|
|
250
249
|
},
|
|
251
250
|
{
|
|
252
251
|
id: "default-editors",
|
|
253
|
-
icon: /* @__PURE__ */ jsx(
|
|
254
|
-
name: "Edit",
|
|
255
|
-
size: 12
|
|
256
|
-
}),
|
|
252
|
+
icon: /* @__PURE__ */ jsx(PenLine, { ...iconProps }),
|
|
257
253
|
label: "Default Editors",
|
|
258
254
|
content: DefaultEditor$1
|
|
259
255
|
},
|
|
260
256
|
{
|
|
261
257
|
id: "danger-zone",
|
|
262
|
-
icon: /* @__PURE__ */ jsx(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
className: "text-red-900 dark:text-red-400"
|
|
258
|
+
icon: /* @__PURE__ */ jsx(TriangleAlert, {
|
|
259
|
+
...iconProps,
|
|
260
|
+
className: "text-destructive"
|
|
266
261
|
}),
|
|
267
262
|
label: /* @__PURE__ */ jsx("span", {
|
|
268
|
-
className: "text-
|
|
263
|
+
className: "text-destructive",
|
|
269
264
|
children: "Danger Zone"
|
|
270
265
|
}),
|
|
271
266
|
content: () => /* @__PURE__ */ jsx(DangerZone$1, {})
|
|
272
267
|
},
|
|
273
268
|
{
|
|
274
269
|
id: "about",
|
|
275
|
-
icon: /* @__PURE__ */ jsx(
|
|
276
|
-
name: "QuestionSquare",
|
|
277
|
-
size: 12
|
|
278
|
-
}),
|
|
270
|
+
icon: /* @__PURE__ */ jsx(CircleHelp, { ...iconProps }),
|
|
279
271
|
label: "About",
|
|
280
272
|
content: About$1
|
|
281
273
|
}
|
|
@@ -286,11 +278,12 @@ const SettingsModal = () => {
|
|
|
286
278
|
onOpenChange: (status) => {
|
|
287
279
|
if (!status) return closePHModal();
|
|
288
280
|
},
|
|
289
|
-
tabs
|
|
281
|
+
tabs,
|
|
282
|
+
navFooter: /* @__PURE__ */ jsx(ThemeSwitch, { horizontal: true })
|
|
290
283
|
});
|
|
291
284
|
};
|
|
292
285
|
//#endregion
|
|
293
286
|
export { SettingsModal };
|
|
294
287
|
|
|
295
|
-
//# sourceMappingURL=SettingsModal-
|
|
296
|
-
//# debugId=
|
|
288
|
+
//# sourceMappingURL=SettingsModal-mslhNfDQ.js.map
|
|
289
|
+
//# debugId=0dd1146a-0b04-571c-9b74-3288b9da4b40
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsModal-mslhNfDQ.js","sources":["../src/components/modal/modals/settings/about.tsx","../src/components/modal/modals/settings/danger-zone.tsx","../src/components/modal/modals/settings/default-editor.tsx","../src/components/modal/modals/settings/package-manager.tsx","../src/components/modal/modals/SettingsModal.tsx"],"sourcesContent":["import { connectConfig } from \"@powerhousedao/connect/config\";\nimport {\n getGitSha,\n getGitUrl,\n packageJson,\n shortGitSha,\n} from \"@powerhousedao/connect/utils\";\nimport { Icon } from \"@powerhousedao/design-system\";\nimport { About as BaseAbout } from \"@powerhousedao/design-system/connect\";\nimport {\n closePHModal,\n DriveCollectionId,\n showPHModal,\n useDrives,\n useDriveSystemInfo,\n useSyncList,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\nimport { useMemo } from \"react\";\n\nexport const About: React.FC = () => {\n const onOpenInspector = () => {\n closePHModal();\n showPHModal({ type: \"inspector\" });\n };\n\n return (\n <div>\n <BaseAbout\n packageJson={packageJson}\n phCliVersion={\n typeof connectConfig.phCliVersion === \"string\"\n ? connectConfig.phCliVersion\n : undefined\n }\n />\n <AppGitHash />\n <ConnectedDrives />\n <div className=\"bg-background p-3\">\n <h2 className=\"mb-2 font-semibold text-foreground\">Inspector</h2>\n <p className=\"mb-3 text-sm font-normal text-foreground\">\n Explore the local database and sync state for debugging.\n </p>\n <button\n className=\"flex items-center gap-x-2 rounded-md border border-border bg-transparent px-3 py-1 text-sm font-medium text-foreground transition-colors hover:hover-effect\"\n onClick={onOpenInspector}\n type=\"button\"\n >\n Open Inspector <Icon name=\"CircleInfo\" size={16} />\n </button>\n </div>\n </div>\n );\n};\n\nfunction AppGitHash() {\n const sha = getGitSha();\n if (sha === \"unknown\") return null;\n const url = getGitUrl();\n const label = shortGitSha(sha);\n return (\n <div className=\"bg-background p-3 text-sm\">\n <span className=\"font-semibold\">Git hash: </span>\n {url ? (\n <a\n className=\"font-mono underline\"\n href={url}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n title={sha}\n >\n {label}\n </a>\n ) : (\n <span className=\"font-mono\" title={sha}>\n {label}\n </span>\n )}\n </div>\n );\n}\n\nfunction ConnectedDrives() {\n const drives = useDrives() ?? [];\n const remotes = useSyncList();\n\n const remoteDrives = useMemo(\n () =>\n drives.filter((d) =>\n remotes.some((r) =>\n r.collectionId.equals(DriveCollectionId.forDrive(d.header.id)),\n ),\n ),\n [drives, remotes],\n );\n\n return (\n <div className=\"my-4 bg-background p-3\">\n <h2 className=\"mb-2 font-semibold text-foreground\">Connected drives</h2>\n {remoteDrives.length === 0 ? (\n <p className=\"text-sm font-normal text-foreground\">\n No connected remote drives.\n </p>\n ) : (\n <ul className=\"flex flex-col gap-3\">\n {remoteDrives.map((drive) => (\n <DriveAboutEntry key={drive.header.id} drive={drive} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\nfunction DriveAboutEntry({ drive }: { drive: DocumentDriveDocument }) {\n const info = useDriveSystemInfo(drive);\n const name = drive.state.global.name || drive.header.name;\n\n return (\n <li className=\"text-sm text-foreground\">\n <div className=\"flex items-baseline gap-2\">\n <span className=\"font-medium\">{name}</span>\n {info.status === \"ready\" && (\n <span className=\"text-xs text-muted-foreground\">{info.host}</span>\n )}\n </div>\n {info.status === \"loading\" && (\n <div className=\"mt-1 text-xs text-muted-foreground\">Loading…</div>\n )}\n {info.status === \"error\" && (\n <div className=\"mt-1 text-xs text-destructive\">\n Could not load system info\n </div>\n )}\n {info.status === \"ready\" && (\n <div className=\"mt-1 text-xs text-foreground\">\n <div>\n <span className=\"font-medium\">Version:</span> {info.version}\n </div>\n <div>\n <span className=\"font-medium\">Git hash: </span>\n {info.gitUrl ? (\n <a\n className=\"font-mono hover:underline\"\n href={info.gitUrl}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n title={info.gitHash}\n >\n {shortGitSha(info.gitHash)}\n </a>\n ) : (\n <span className=\"font-mono\" title={info.gitHash}>\n {shortGitSha(info.gitHash)}\n </span>\n )}\n </div>\n </div>\n )}\n {info.status === \"local\" && (\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Local drive — N/A\n </div>\n )}\n </li>\n );\n}\n","import { DangerZone as BaseDangerZone } from \"@powerhousedao/design-system/connect\";\nimport {\n deleteDrive,\n setSelectedDrive,\n showPHModal,\n useDrives,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\n\nexport const DangerZone: React.FC = () => {\n const drives = useDrives();\n\n const handleDeleteDrive = async (drive: DocumentDriveDocument) => {\n await deleteDrive(drive.header.id);\n setSelectedDrive(undefined);\n };\n\n const handleClearStorage = () => {\n showPHModal({ type: \"clearStorage\" });\n };\n\n return (\n <BaseDangerZone\n drives={drives ?? []}\n onDeleteDrive={(drive) => {\n void handleDeleteDrive(drive);\n }}\n onClearStorage={handleClearStorage}\n />\n );\n};\n","import { DefaultEditor as BaseDefaultEditor } from \"@powerhousedao/design-system/connect\";\nimport { useCallback, useState } from \"react\";\n\nconst documentModelEditorOptions = [\n { label: \"V1\", value: \"document-model-editor\" },\n { label: \"V2\", value: \"document-model-editor-v2\" },\n] as const;\n\nexport const DefaultEditor: React.FC = () => {\n const [documentModelEditor, setDocumentModelEditor] = useState<\n (typeof documentModelEditorOptions)[number]\n >(documentModelEditorOptions[1]);\n\n const handleSetDocumentEditor = useCallback((value: string) => {\n const option = documentModelEditorOptions.find((dm) => dm.value == value);\n if (option) {\n setDocumentModelEditor(option);\n }\n }, []);\n\n return (\n <BaseDefaultEditor\n documentModelEditor={documentModelEditor.value}\n setDocumentModelEditor={handleSetDocumentEditor}\n documentModelEditorOptions={\n documentModelEditorOptions as unknown as {\n value: string;\n label: string;\n }[]\n }\n />\n );\n};\n","import { useRegistryPackages } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { PackageManager } from \"@powerhousedao/design-system/connect\";\nimport { useVetraPackageManager } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\n\n/**\n * Split a `name@tag` spec into its bare package name. Mirrors the design-system's\n * `parsePackageSpec` — duplicated here to avoid reaching into a deep subpath\n * export. Scoped names split on the LAST `@`, unscoped on the first.\n */\nfunction parseBareName(spec: string): string {\n const trimmed = spec.trim();\n const at = trimmed.startsWith(\"@\")\n ? trimmed.lastIndexOf(\"@\")\n : trimmed.indexOf(\"@\");\n return at > 0 ? trimmed.slice(0, at) : trimmed;\n}\n\nexport const ConnectPackageManager: React.FC = () => {\n const packageManager = useVetraPackageManager();\n const {\n registryPackageList,\n updateRegistryPackageStatus,\n registerFallbackRegistryPackage,\n } = useRegistryPackages();\n\n async function handleInstall(packageSpec: string) {\n if (!packageManager) return;\n\n // The spec may include an explicit `@tag` / `@version` suffix from the\n // search input. Pass it through to the package manager as-is (the CDN\n // route already handles `name@tag` specs), but track status under the\n // bare name so the Settings list doesn't fragment.\n const bareName = parseBareName(packageSpec);\n // Packages that were in `/packages` when the user clicked Install go\n // through `updateRegistryPackageStatus` and hit an existing entry.\n // Packages that landed via the npm-uplink fallback weren't in the list,\n // so we register them explicitly rather than silently upserting a\n // placeholder — keeping the \"does not exist\" error as a signal for any\n // other code path that reaches update without a matching entry.\n const wasKnownToRegistry = registryPackageList.some(\n (p) => p.name === bareName,\n );\n const result = await packageManager.addPackage(packageSpec);\n if (result.type === \"success\") {\n if (wasKnownToRegistry) {\n updateRegistryPackageStatus(bareName, \"registry-install\");\n } else {\n registerFallbackRegistryPackage(\n bareName,\n result.package,\n packageManager.getPackageVersion(bareName) ??\n packageManager.getPackageVersion(packageSpec),\n \"registry-install\",\n );\n }\n toast(`Package \"${packageSpec}\" installed successfully`, {\n type: \"connect-success\",\n });\n } else {\n const message = result.error.message;\n // `BrowserPackageManager` raises a generic \"Failed to fetch dynamically\n // imported module\" when the registry CDN returns an error. That covers\n // both \"the name exists nowhere (not on this registry AND not on the\n // npmjs uplink)\" and \"the tarball is there but doesn't look like a\n // Powerhouse package\". Tell the user in plain terms before dumping the\n // raw error so the \"install from npm\" fallback case is self-explanatory.\n const isLikelyNotFound = /failed to fetch|404|not found/i.test(message);\n const userMessage = isLikelyNotFound\n ? `Could not install \"${packageSpec}\". The package isn't available on this registry, and the npmjs.org fallback could not resolve it either.`\n : `Failed to install \"${packageSpec}\": ${message}`;\n toast(userMessage, { type: \"error\" });\n }\n }\n\n function handleUninstall(packageName: string) {\n if (!packageManager) return;\n try {\n packageManager.removePackage(packageName);\n updateRegistryPackageStatus(packageName, \"available\");\n\n toast(`Package \"${packageName}\" uninstalled successfully`, {\n type: \"connect-success\",\n });\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unknown error\";\n toast(`Failed to uninstall \"${packageName}\": ${message}`, {\n type: \"error\",\n });\n }\n }\n\n return (\n <div className=\"flex h-full flex-1 flex-col\">\n <PackageManager\n mutable={true}\n registryPackageList={registryPackageList}\n onInstall={handleInstall}\n onUninstall={handleUninstall}\n />\n </div>\n );\n};\n","import {\n SettingsModal as SettingsModalV2,\n ThemeSwitch,\n} from \"@powerhousedao/design-system/connect\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport { t } from \"i18next\";\nimport { CircleHelp, Package, PenLine, TriangleAlert } from \"lucide-react\";\nimport React, { useMemo } from \"react\";\nimport { About } from \"./settings/about.js\";\nimport { DangerZone } from \"./settings/danger-zone.js\";\nimport { DefaultEditor } from \"./settings/default-editor.js\";\nimport { ConnectPackageManager } from \"./settings/package-manager.js\";\n\nconst iconProps = { size: 16 } as const;\n\nexport const SettingsModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"settings\";\n\n const tabs = useMemo(\n () => [\n {\n id: \"package-manager\",\n icon: <Package {...iconProps} />,\n label: \"Package Manager\",\n content: ConnectPackageManager,\n },\n {\n id: \"default-editors\",\n icon: <PenLine {...iconProps} />,\n label: \"Default Editors\",\n content: DefaultEditor,\n },\n {\n id: \"danger-zone\",\n icon: <TriangleAlert {...iconProps} className=\"text-destructive\" />,\n label: <span className=\"text-destructive\">Danger Zone</span>,\n content: () => <DangerZone />,\n },\n {\n id: \"about\",\n icon: <CircleHelp {...iconProps} />,\n label: \"About\",\n content: About,\n },\n ],\n [],\n );\n\n return (\n <SettingsModalV2\n open={open}\n title={t(\"modals.connectSettings.title\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n tabs={tabs}\n navFooter={<ThemeSwitch horizontal />}\n />\n );\n};\n"],"names":["About","BaseAbout","packageJson","DangerZone","BaseDangerZone","DefaultEditor","BaseDefaultEditor","DefaultEditor","DangerZone","About","SettingsModalV2"],"mappings":"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","debug_id":"0dd1146a-0b04-571c-9b74-3288b9da4b40"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c6e40a20-1073-5d21-ba94-170c9adec293")}catch(e){}}();
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import "react";
|
|
@@ -30,5 +30,5 @@ const UpgradeDriveModal = () => {
|
|
|
30
30
|
//#endregion
|
|
31
31
|
export { UpgradeDriveModal };
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=UpgradeDriveModal-
|
|
34
|
-
//# debugId=
|
|
33
|
+
//# sourceMappingURL=UpgradeDriveModal-C7lV4rAX.js.map
|
|
34
|
+
//# debugId=c6e40a20-1073-5d21-ba94-170c9adec293
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpgradeDriveModal-
|
|
1
|
+
{"version":3,"file":"UpgradeDriveModal-C7lV4rAX.js","sources":["../src/components/modal/modals/UpgradeDriveModal.tsx"],"sourcesContent":["import { ConnectUpgradeDriveModal } from \"@powerhousedao/design-system/connect\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nexport const UpgradeDriveModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"upgradeDrive\";\n const driveId = open ? phModal.driveId : undefined;\n\n const { t } = useTranslation();\n\n const onContinue = () => {\n // TODO: Implement upgrade drive\n console.log(\"Upgrade drive: \", driveId);\n closePHModal();\n };\n\n return (\n <ConnectUpgradeDriveModal\n open={open}\n onContinue={onContinue}\n header={t(\"modals.upgradeDrive.header\")}\n body={t(\"modals.upgradeDrive.body\")}\n cancelLabel={t(\"common.cancel\")}\n continueLabel={t(\"common.continue\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAa,0BAAoC;CAC/C,MAAM,UAAU,YAAY;CAC5B,MAAM,OAAO,SAAS,SAAS;CAC/B,MAAM,UAAU,OAAO,QAAQ,UAAU,KAAA;CAEzC,MAAM,EAAE,MAAM,gBAAgB;CAE9B,MAAM,mBAAmB;AAEvB,UAAQ,IAAI,mBAAmB,QAAQ;AACvC,gBAAc;;AAGhB,QACE,oBAAC,0BAAD;EACQ;EACM;EACZ,QAAQ,EAAE,6BAA6B;EACvC,MAAM,EAAE,2BAA2B;EACnC,aAAa,EAAE,gBAAgB;EAC/B,eAAe,EAAE,kBAAkB;EACnC,eAAe,WAAoB;AACjC,OAAI,CAAC,OAAQ,QAAO,cAAc;;EAEpC,CAAA","debug_id":"c6e40a20-1073-5d21-ba94-170c9adec293"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f6a73b34-e60d-575f-aa22-95bcb1f704e4")}catch(e){}}();
|
|
3
3
|
import { n as getRuntimeConfig } from "./runtime-config-DL3QjcfM.js";
|
|
4
4
|
import { n as i18n } from "./reload-connect-toast-CwvSc6F-.js";
|
|
5
5
|
import { a as defaultPHDocumentEditorConfig, i as defaultPHAppConfig, r as connectConfig } from "./connect.config-Bt4pvvWV.js";
|
|
@@ -10,9 +10,9 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
10
10
|
import { PGlite } from "@electric-sql/pglite";
|
|
11
11
|
import { Trans, useTranslation } from "react-i18next";
|
|
12
12
|
import React, { StrictMode, Suspense, lazy, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
13
|
-
import {
|
|
13
|
+
import { DriveCollectionId, getRevisionFromDate, initTheme, logout, openRenown, setPHAppConfig, setPHDocumentEditorConfig, setRevisionHistoryVisible, setSelectedDrive, setSelectedNode, showPHModal, useAppModuleById, useConnectionStates, useDefaultAppModule, useDocumentById, useDocumentModelModuleById, useDocumentOperations, useDrives, useEditorModuleById, useFallbackEditorModule, useIsAddDriveEnabled, useNodeParentFolderById, usePHModal, usePackageDiscoveryService, useReactorClientModule, useRevisionHistoryVisible, useSelectedDocument, useSelectedDocumentId, useSelectedDriveSafe, useSelectedFolder, useSelectedTimelineItem, useSyncList, useTheme, useUser, useVetraPackageManager, useVetraPackages } from "@powerhousedao/reactor-browser";
|
|
14
14
|
import { childLogger } from "document-model";
|
|
15
|
-
import { ConnectSidebar, ConnectTooltipProvider, CookieBanner, DefaultEditorLoader, DropZoneWrapper, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, LogoAnimation, PackageInstallModal, RevisionHistory, SidebarAddDriveItem, SidebarItem, useEns } from "@powerhousedao/design-system/connect";
|
|
15
|
+
import { ConnectSidebar, ConnectTooltipProvider, CookieBanner, DefaultEditorLoader, DriveAuthGate, DropZoneWrapper, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, LogoAnimation, PackageInstallModal, RevisionHistory, SidebarAddDriveItem, SidebarItem, useEns } from "@powerhousedao/design-system/connect";
|
|
16
16
|
import { z } from "zod";
|
|
17
17
|
import { Outlet, RouterProvider, createBrowserRouter, createRoutesFromChildren, matchRoutes, useLocation, useNavigationType } from "react-router-dom";
|
|
18
18
|
import { useHotkeys } from "react-hotkeys-hook";
|
|
@@ -743,12 +743,12 @@ const MigrationOverlay = () => {
|
|
|
743
743
|
return /* @__PURE__ */ jsx("div", {
|
|
744
744
|
className: "absolute inset-0 z-20 flex items-center justify-center",
|
|
745
745
|
children: /* @__PURE__ */ jsxs("div", {
|
|
746
|
-
className: "rounded-lg bg-
|
|
746
|
+
className: "rounded-lg bg-card/90 px-6 py-4 text-sm text-foreground shadow-lg",
|
|
747
747
|
children: [/* @__PURE__ */ jsx("div", {
|
|
748
748
|
className: "font-medium",
|
|
749
749
|
children: "Upgrading local database…"
|
|
750
750
|
}), /* @__PURE__ */ jsx("div", {
|
|
751
|
-
className: "text-
|
|
751
|
+
className: "text-foreground",
|
|
752
752
|
children: PHASE_LABEL[status.phase]
|
|
753
753
|
})]
|
|
754
754
|
})
|
|
@@ -780,7 +780,7 @@ const AppSkeleton = (props) => {
|
|
|
780
780
|
const isSSR = typeof window === "undefined";
|
|
781
781
|
const isHomeScreen = !isSSR && window.location.pathname === getBasePath();
|
|
782
782
|
return /* @__PURE__ */ jsxs("div", {
|
|
783
|
-
className: "flex h-screen overflow-hidden bg-
|
|
783
|
+
className: "flex h-screen overflow-hidden bg-background",
|
|
784
784
|
children: [
|
|
785
785
|
!(!isSSR && getIsEmbedded()) && /* @__PURE__ */ jsx(ConnectSidebar, {
|
|
786
786
|
className: "animate-pulse",
|
|
@@ -790,7 +790,7 @@ const AppSkeleton = (props) => {
|
|
|
790
790
|
address: void 0
|
|
791
791
|
}),
|
|
792
792
|
/* @__PURE__ */ jsx(HomeScreen, {
|
|
793
|
-
containerClassName: isSSR || !isHomeScreen ? "
|
|
793
|
+
containerClassName: isSSR || !isHomeScreen ? "home-screen hidden" : void 0,
|
|
794
794
|
children: props.children ?? null
|
|
795
795
|
}),
|
|
796
796
|
isSSR ? /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: `
|
|
@@ -835,7 +835,7 @@ function DetailedFallback({ error, resetErrorBoundary }) {
|
|
|
835
835
|
return /* @__PURE__ */ jsx("div", {
|
|
836
836
|
className: "z-10 mx-auto flex max-w-[80%] flex-1 items-center justify-center p-6",
|
|
837
837
|
children: /* @__PURE__ */ jsxs("div", {
|
|
838
|
-
className: "w-full max-w-lg rounded-lg border border-
|
|
838
|
+
className: "w-full max-w-lg rounded-lg border border-border bg-background p-6 shadow-sm",
|
|
839
839
|
children: [
|
|
840
840
|
/* @__PURE__ */ jsxs("div", {
|
|
841
841
|
className: "mb-3 flex items-center gap-2",
|
|
@@ -848,16 +848,16 @@ function DetailedFallback({ error, resetErrorBoundary }) {
|
|
|
848
848
|
})]
|
|
849
849
|
}),
|
|
850
850
|
/* @__PURE__ */ jsx("p", {
|
|
851
|
-
className: "mb-4 text-sm text-
|
|
851
|
+
className: "mb-4 text-sm text-foreground",
|
|
852
852
|
children: errorMessage
|
|
853
853
|
}),
|
|
854
854
|
errorDetails !== "{}" && /* @__PURE__ */ jsxs("details", {
|
|
855
855
|
className: "group",
|
|
856
856
|
children: [/* @__PURE__ */ jsx("summary", {
|
|
857
|
-
className: "cursor-pointer text-sm font-medium text-
|
|
857
|
+
className: "cursor-pointer text-sm font-medium text-foreground underline select-none hover:hover-effect",
|
|
858
858
|
children: "Show details"
|
|
859
859
|
}), /* @__PURE__ */ jsx("pre", {
|
|
860
|
-
className: "mt-2 max-h-48 overflow-auto rounded-sm bg-
|
|
860
|
+
className: "mt-2 max-h-48 overflow-auto rounded-sm bg-muted p-3 text-xs",
|
|
861
861
|
children: errorDetails
|
|
862
862
|
})]
|
|
863
863
|
}),
|
|
@@ -1219,11 +1219,11 @@ function MissingModelBanner() {
|
|
|
1219
1219
|
const [open, setOpen] = useState(false);
|
|
1220
1220
|
if (failed.length === 0) return null;
|
|
1221
1221
|
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("div", {
|
|
1222
|
-
className: "flex items-center justify-between gap-3 bg-
|
|
1222
|
+
className: "flex items-center justify-between gap-3 bg-warning/10 px-4 py-2 text-sm text-warning",
|
|
1223
1223
|
children: [/* @__PURE__ */ jsx("span", { children: failed.length === 1 ? "1 document type couldn't load (missing model)." : `${failed.length} document types couldn't load (missing models).` }), /* @__PURE__ */ jsx("button", {
|
|
1224
1224
|
type: "button",
|
|
1225
1225
|
onClick: () => setOpen(true),
|
|
1226
|
-
className: "rounded-md border border-
|
|
1226
|
+
className: "rounded-md border border-warning bg-background px-3 py-1 text-warning hover:hover-effect",
|
|
1227
1227
|
children: "View"
|
|
1228
1228
|
})]
|
|
1229
1229
|
}), /* @__PURE__ */ jsx(MissingModelDetailsModal, {
|
|
@@ -1256,18 +1256,18 @@ function MissingModelDetailsModal(props) {
|
|
|
1256
1256
|
},
|
|
1257
1257
|
contentProps: { className: "rounded-3xl" },
|
|
1258
1258
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1259
|
-
className: "w-[520px] max-w-[90vw] bg-
|
|
1259
|
+
className: "w-[520px] max-w-[90vw] bg-background p-6",
|
|
1260
1260
|
children: [
|
|
1261
1261
|
/* @__PURE__ */ jsx("div", {
|
|
1262
|
-
className: "border-b border-
|
|
1262
|
+
className: "border-b border-border pb-2 text-2xl font-bold text-foreground",
|
|
1263
1263
|
children: "Missing document models"
|
|
1264
1264
|
}),
|
|
1265
1265
|
/* @__PURE__ */ jsx("div", {
|
|
1266
|
-
className: "my-4 text-sm text-
|
|
1266
|
+
className: "my-4 text-sm text-foreground",
|
|
1267
1267
|
children: "The following document types couldn't be loaded. Documents using them won't display until the underlying package is installed."
|
|
1268
1268
|
}),
|
|
1269
1269
|
failed.length === 0 ? /* @__PURE__ */ jsx("div", {
|
|
1270
|
-
className: "rounded-xl bg-
|
|
1270
|
+
className: "rounded-xl bg-background p-4 text-sm text-foreground",
|
|
1271
1271
|
children: "No outstanding failures."
|
|
1272
1272
|
}) : /* @__PURE__ */ jsx("div", {
|
|
1273
1273
|
className: "flex max-h-[60vh] flex-col gap-3 overflow-y-auto",
|
|
@@ -1275,18 +1275,18 @@ function MissingModelDetailsModal(props) {
|
|
|
1275
1275
|
const isRetrying = retrying.has(entry.documentType);
|
|
1276
1276
|
const retryDisabled = !canRetry(entry.reason) || isRetrying;
|
|
1277
1277
|
return /* @__PURE__ */ jsxs("div", {
|
|
1278
|
-
className: "rounded-xl bg-
|
|
1278
|
+
className: "rounded-xl bg-background p-4",
|
|
1279
1279
|
children: [
|
|
1280
1280
|
/* @__PURE__ */ jsx("div", {
|
|
1281
|
-
className: "mb-1 font-mono text-sm font-semibold text-
|
|
1281
|
+
className: "mb-1 font-mono text-sm font-semibold text-foreground",
|
|
1282
1282
|
children: entry.documentType
|
|
1283
1283
|
}),
|
|
1284
1284
|
/* @__PURE__ */ jsx("div", {
|
|
1285
|
-
className: "mb-2 text-xs text-
|
|
1285
|
+
className: "mb-2 text-xs text-foreground",
|
|
1286
1286
|
children: reasonLabels[entry.reason]
|
|
1287
1287
|
}),
|
|
1288
1288
|
entry.packageNames.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
1289
|
-
className: "mb-2 text-xs text-
|
|
1289
|
+
className: "mb-2 text-xs text-muted-foreground",
|
|
1290
1290
|
children: [
|
|
1291
1291
|
"Package",
|
|
1292
1292
|
entry.packageNames.length > 1 ? "s" : "",
|
|
@@ -1296,7 +1296,7 @@ function MissingModelDetailsModal(props) {
|
|
|
1296
1296
|
]
|
|
1297
1297
|
}) : null,
|
|
1298
1298
|
entry.error ? /* @__PURE__ */ jsx("div", {
|
|
1299
|
-
className: "mb-2 font-mono text-xs wrap-break-word text-
|
|
1299
|
+
className: "mb-2 font-mono text-xs wrap-break-word text-destructive",
|
|
1300
1300
|
children: entry.error.message
|
|
1301
1301
|
}) : null,
|
|
1302
1302
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -1306,7 +1306,7 @@ function MissingModelDetailsModal(props) {
|
|
|
1306
1306
|
onClick: () => void handleRetry(entry.documentType),
|
|
1307
1307
|
disabled: retryDisabled,
|
|
1308
1308
|
title: canRetry(entry.reason) ? void 0 : "No registry is configured; nothing to retry against.",
|
|
1309
|
-
className: twMerge("min-h-[32px] rounded-xl px-3 py-1 text-sm font-semibold text-
|
|
1309
|
+
className: twMerge("min-h-[32px] rounded-xl px-3 py-1 text-sm font-semibold text-foreground transition-all hover:hover-effect", retryDisabled ? "cursor-not-allowed bg-secondary hover:hover-effect" : "bg-primary text-primary-foreground active:active-effect"),
|
|
1310
1310
|
children: isRetrying ? "Retrying..." : "Try install again"
|
|
1311
1311
|
})
|
|
1312
1312
|
})
|
|
@@ -1319,7 +1319,7 @@ function MissingModelDetailsModal(props) {
|
|
|
1319
1319
|
children: /* @__PURE__ */ jsx("button", {
|
|
1320
1320
|
type: "button",
|
|
1321
1321
|
onClick: onClose,
|
|
1322
|
-
className: "min-h-[36px] rounded-xl border border-
|
|
1322
|
+
className: "min-h-[36px] rounded-xl border border-border bg-background px-4 py-2 text-sm font-semibold text-foreground hover:hover-effect",
|
|
1323
1323
|
children: "Close"
|
|
1324
1324
|
})
|
|
1325
1325
|
})
|
|
@@ -1410,8 +1410,8 @@ const CookieBanner$1 = () => {
|
|
|
1410
1410
|
if (!showBanner) return null;
|
|
1411
1411
|
return /* @__PURE__ */ jsxs("div", {
|
|
1412
1412
|
className: "absolute inset-0 z-10000 backdrop-blur-sm",
|
|
1413
|
-
children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-
|
|
1414
|
-
className: "absolute inset-x-0 bottom-0 flex justify-center bg-
|
|
1413
|
+
children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-primary opacity-15" }), /* @__PURE__ */ jsx("div", {
|
|
1414
|
+
className: "absolute inset-x-0 bottom-0 flex justify-center bg-background px-10 pt-10 pb-16 shadow-lg",
|
|
1415
1415
|
children: /* @__PURE__ */ jsx(CookieBanner, {
|
|
1416
1416
|
className: "max-w-[1024px]",
|
|
1417
1417
|
cookies: cookiesInput,
|
|
@@ -1420,12 +1420,12 @@ const CookieBanner$1 = () => {
|
|
|
1420
1420
|
submitLabel: t("cookieBanner.accept"),
|
|
1421
1421
|
rejectLabel: t("cookieBanner.reject"),
|
|
1422
1422
|
children: /* @__PURE__ */ jsx("p", {
|
|
1423
|
-
className: "font-semibold text-
|
|
1423
|
+
className: "font-semibold text-muted-foreground",
|
|
1424
1424
|
children: /* @__PURE__ */ jsx(Trans, {
|
|
1425
1425
|
i18nKey: "cookieBanner.message",
|
|
1426
1426
|
components: { a: /* @__PURE__ */ jsx("a", {
|
|
1427
1427
|
onClick: () => showPHModal({ type: "cookiesPolicy" }),
|
|
1428
|
-
className: "cursor-pointer text-
|
|
1428
|
+
className: "cursor-pointer text-foreground hover:underline"
|
|
1429
1429
|
}, "cookieBanner.message-link") }
|
|
1430
1430
|
}, "cookieBanner.message")
|
|
1431
1431
|
})
|
|
@@ -1439,7 +1439,7 @@ function DriveIcon({ drive }) {
|
|
|
1439
1439
|
const remotes = useSyncList();
|
|
1440
1440
|
const isRemoteDrive = useMemo(() => {
|
|
1441
1441
|
if (!drive) return false;
|
|
1442
|
-
return remotes.some((remote) => remote.collectionId
|
|
1442
|
+
return remotes.some((remote) => remote.collectionId.equals(DriveCollectionId.forDrive(drive.header.id)));
|
|
1443
1443
|
}, [remotes, drive]);
|
|
1444
1444
|
const driveIconSrc = drive?.state.global.icon;
|
|
1445
1445
|
if (driveIconSrc) return /* @__PURE__ */ jsx("img", {
|
|
@@ -1604,7 +1604,7 @@ const DocumentEditor = (props) => {
|
|
|
1604
1604
|
//#region src/components/root.tsx
|
|
1605
1605
|
function Root() {
|
|
1606
1606
|
return /* @__PURE__ */ jsx("div", {
|
|
1607
|
-
className: "h-screen bg-
|
|
1607
|
+
className: "h-screen bg-background",
|
|
1608
1608
|
children: /* @__PURE__ */ jsx("div", {
|
|
1609
1609
|
className: `flex h-screen items-stretch overflow-auto`,
|
|
1610
1610
|
role: "presentation",
|
|
@@ -1620,8 +1620,24 @@ function Root() {
|
|
|
1620
1620
|
});
|
|
1621
1621
|
}
|
|
1622
1622
|
//#endregion
|
|
1623
|
+
//#region src/components/use-drive-auth-gate.ts
|
|
1624
|
+
/** Gate an anonymous user only when a remote failed with an auth rejection
|
|
1625
|
+
* (`requiresAuth`) — the switchboard refusing the caller for lack of login. */
|
|
1626
|
+
function computeNeedsLogin(isAuthenticated, connectionStates) {
|
|
1627
|
+
if (isAuthenticated) return false;
|
|
1628
|
+
for (const snap of connectionStates.values()) if (snap.state === "error" && snap.requiresAuth) return true;
|
|
1629
|
+
return false;
|
|
1630
|
+
}
|
|
1631
|
+
/** Live wrapper over {@link computeNeedsLogin}. */
|
|
1632
|
+
function useDriveAuthGate() {
|
|
1633
|
+
const user = useUser();
|
|
1634
|
+
const connectionStates = useConnectionStates();
|
|
1635
|
+
return { needsLogin: computeNeedsLogin(Boolean(user), connectionStates) };
|
|
1636
|
+
}
|
|
1637
|
+
//#endregion
|
|
1623
1638
|
//#region src/pages/content.tsx
|
|
1624
1639
|
function Content() {
|
|
1640
|
+
const { needsLogin } = useDriveAuthGate();
|
|
1625
1641
|
const [selectedDrive] = useSelectedDriveSafe();
|
|
1626
1642
|
const selectedFolder = useSelectedFolder();
|
|
1627
1643
|
const selectedDocumentId = useSelectedDocumentId();
|
|
@@ -1631,7 +1647,10 @@ function Content() {
|
|
|
1631
1647
|
useEffect(() => {
|
|
1632
1648
|
if (!selectedDrive) setPHAppConfig(defaultPHAppConfig);
|
|
1633
1649
|
}, [selectedDrive]);
|
|
1634
|
-
return /* @__PURE__ */ jsx(ContentContainer, { children:
|
|
1650
|
+
return /* @__PURE__ */ jsx(ContentContainer, { children: needsLogin ? /* @__PURE__ */ jsx("div", {
|
|
1651
|
+
className: "flex h-full items-center justify-center p-4",
|
|
1652
|
+
children: /* @__PURE__ */ jsx(DriveAuthGate, { onLogin: openRenown })
|
|
1653
|
+
}) : !selectedDocumentId && !selectedDrive && !selectedFolder ? /* @__PURE__ */ jsx(HomeScreenContainer, {}) : /* @__PURE__ */ jsx(AppContainer, {}) });
|
|
1635
1654
|
}
|
|
1636
1655
|
function ContentContainer({ children }) {
|
|
1637
1656
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -1777,7 +1796,7 @@ const MigrationBanner = () => {
|
|
|
1777
1796
|
return /* @__PURE__ */ jsx("div", {
|
|
1778
1797
|
className: "absolute inset-x-0 top-0 z-30 flex justify-center p-3",
|
|
1779
1798
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1780
|
-
className: "flex max-w-3xl items-center gap-3 rounded-lg border border-
|
|
1799
|
+
className: "flex max-w-3xl items-center gap-3 rounded-lg border border-warning bg-warning px-4 py-3 text-sm text-warning-foreground shadow-lg",
|
|
1781
1800
|
children: [
|
|
1782
1801
|
/* @__PURE__ */ jsxs("div", {
|
|
1783
1802
|
className: "flex-1",
|
|
@@ -1791,7 +1810,7 @@ const MigrationBanner = () => {
|
|
|
1791
1810
|
]
|
|
1792
1811
|
}),
|
|
1793
1812
|
/* @__PURE__ */ jsxs("div", {
|
|
1794
|
-
className: "text-
|
|
1813
|
+
className: "text-foreground",
|
|
1795
1814
|
children: [
|
|
1796
1815
|
"Migrate to Postgres ",
|
|
1797
1816
|
17,
|
|
@@ -1799,7 +1818,7 @@ const MigrationBanner = () => {
|
|
|
1799
1818
|
]
|
|
1800
1819
|
}),
|
|
1801
1820
|
error && /* @__PURE__ */ jsxs("div", {
|
|
1802
|
-
className: "mt-2 font-medium text-
|
|
1821
|
+
className: "mt-2 font-medium text-destructive",
|
|
1803
1822
|
children: ["Migration failed: ", error]
|
|
1804
1823
|
})
|
|
1805
1824
|
]
|
|
@@ -1808,14 +1827,14 @@ const MigrationBanner = () => {
|
|
|
1808
1827
|
type: "button",
|
|
1809
1828
|
disabled: migrating,
|
|
1810
1829
|
onClick: handleMigrate,
|
|
1811
|
-
className: "rounded-sm bg-
|
|
1830
|
+
className: "rounded-sm bg-primary px-3 py-1 text-sm font-medium text-primary-foreground hover:hover-effect disabled:disabled-effect",
|
|
1812
1831
|
children: migrating ? "Migrating…" : "Migrate now"
|
|
1813
1832
|
}),
|
|
1814
1833
|
/* @__PURE__ */ jsx("button", {
|
|
1815
1834
|
type: "button",
|
|
1816
1835
|
disabled: migrating,
|
|
1817
1836
|
onClick: dismiss,
|
|
1818
|
-
className: "rounded-sm border border-
|
|
1837
|
+
className: "rounded-sm border border-foreground bg-transparent px-3 py-1 text-sm font-medium text-foreground hover:hover-effect disabled:disabled-effect",
|
|
1819
1838
|
children: "Dismiss"
|
|
1820
1839
|
})
|
|
1821
1840
|
]
|
|
@@ -1824,18 +1843,18 @@ const MigrationBanner = () => {
|
|
|
1824
1843
|
};
|
|
1825
1844
|
//#endregion
|
|
1826
1845
|
//#region src/components/modal/modals-container.tsx
|
|
1827
|
-
const AddDriveModal$1 = lazy(() => import("./AddDriveModal-
|
|
1828
|
-
const ClearStorageModal = lazy(() => import("./ClearStorageModal-
|
|
1846
|
+
const AddDriveModal$1 = lazy(() => import("./AddDriveModal-BoKLJyUY.js").then((m) => ({ default: m.AddDriveModal })));
|
|
1847
|
+
const ClearStorageModal = lazy(() => import("./ClearStorageModal-kAd_wAOs.js").then((m) => ({ default: m.ClearStorageModal })));
|
|
1829
1848
|
const CookiesPolicyModal = lazy(() => import("./CookiesPolicyModal-1nOh6oN3.js").then((m) => ({ default: m.CookiesPolicyModal })));
|
|
1830
1849
|
const CreateDocumentModal$1 = lazy(() => import("./CreateDocumentModal-nQbLVDq3.js").then((m) => ({ default: m.CreateDocumentModal })));
|
|
1831
|
-
const DebugSettingsModal = lazy(() => import("./DebugSettingsModal-
|
|
1850
|
+
const DebugSettingsModal = lazy(() => import("./DebugSettingsModal-BMCpNo7G.js").then((m) => ({ default: m.DebugSettingsModal })));
|
|
1832
1851
|
const DeleteDriveModal = lazy(() => import("./DeleteDriveModal-6P0T1QgD.js").then((m) => ({ default: m.DeleteDriveModal })));
|
|
1833
1852
|
const DeleteItemModal = lazy(() => import("./DeleteItemModal-BmV1aQyZ.js").then((m) => ({ default: m.DeleteItemModal })));
|
|
1834
1853
|
const DisclaimerModal = lazy(() => import("./DisclaimerModal-CVTFfN0_.js").then((m) => ({ default: m.DisclaimerModal })));
|
|
1835
|
-
const DriveSettingsModal$1 = lazy(() => import("./DriveSettingsModal-
|
|
1854
|
+
const DriveSettingsModal$1 = lazy(() => import("./DriveSettingsModal-CsNFEJ9E.js").then((m) => ({ default: m.DriveSettingsModal })));
|
|
1836
1855
|
const DownloadDocumentWithErrorsModal = lazy(() => import("./DownloadDocumentWithErrorsModal-CXeFUtaz.js").then((m) => ({ default: m.DownloadDocumentWithErrorsModal })));
|
|
1837
|
-
const SettingsModal$1 = lazy(() => import("./SettingsModal-
|
|
1838
|
-
const UpgradeDriveModal = lazy(() => import("./UpgradeDriveModal-
|
|
1856
|
+
const SettingsModal$1 = lazy(() => import("./SettingsModal-mslhNfDQ.js").then((m) => ({ default: m.SettingsModal })));
|
|
1857
|
+
const UpgradeDriveModal = lazy(() => import("./UpgradeDriveModal-C7lV4rAX.js").then((m) => ({ default: m.UpgradeDriveModal })));
|
|
1839
1858
|
const modalComponents = {
|
|
1840
1859
|
addDrive: AddDriveModal$1,
|
|
1841
1860
|
clearStorage: ClearStorageModal,
|
|
@@ -1847,10 +1866,11 @@ const modalComponents = {
|
|
|
1847
1866
|
disclaimer: DisclaimerModal,
|
|
1848
1867
|
driveSettings: DriveSettingsModal$1,
|
|
1849
1868
|
downloadDocumentWithErrors: DownloadDocumentWithErrorsModal,
|
|
1850
|
-
inspector: lazy(() => import("./InspectorModal-
|
|
1869
|
+
inspector: lazy(() => import("./InspectorModal-so7krTny.js").then((m) => ({ default: m.InspectorModal }))),
|
|
1851
1870
|
settings: SettingsModal$1,
|
|
1852
1871
|
upgradeDrive: UpgradeDriveModal,
|
|
1853
|
-
missingPackage: lazy(() => import("./MissingPackageModal-
|
|
1872
|
+
missingPackage: lazy(() => import("./MissingPackageModal-Bn036mWQ.js").then((m) => ({ default: m.ConnectMissingPackageModal }))),
|
|
1873
|
+
driveAuthRequired: lazy(() => import("./DriveAuthRequiredModal-B3VdLwSH.js").then((m) => ({ default: m.DriveAuthRequiredModal })))
|
|
1854
1874
|
};
|
|
1855
1875
|
const ModalsContainer = lazy(() => {
|
|
1856
1876
|
return Promise.resolve({ default: () => {
|
|
@@ -1870,7 +1890,7 @@ const ModalsContainer = lazy(() => {
|
|
|
1870
1890
|
//#endregion
|
|
1871
1891
|
//#region src/components/app-loader.tsx
|
|
1872
1892
|
const AppLoader = (props) => {
|
|
1873
|
-
const Load = lazy(() => import("./load-
|
|
1893
|
+
const Load = lazy(() => import("./load-hFcxdWCu.js").then((m) => m.loadComponent(props.localPackage)));
|
|
1874
1894
|
return /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsxs(ErrorBoundary$1, {
|
|
1875
1895
|
fallbackRender: (props) => /* @__PURE__ */ jsx(AppSkeleton, { children: /* @__PURE__ */ jsx(DetailedFallback, { ...props }) }),
|
|
1876
1896
|
resetKeys: [props.localPackage],
|
|
@@ -1899,5 +1919,5 @@ const AppLoader = (props) => {
|
|
|
1899
1919
|
//#endregion
|
|
1900
1920
|
export { DocumentEditor as a, App as c, DocumentEditorContainer as d, OpenPanel as f, Root as i, AppContainer as l, AppSkeleton as m, Sidebar as n, DriveIcon as o, Analytics as p, Router as r, CookieBanner$1 as s, AppLoader as t, EditorLoader as u };
|
|
1901
1921
|
|
|
1902
|
-
//# sourceMappingURL=app-loader-
|
|
1903
|
-
//# debugId=
|
|
1922
|
+
//# sourceMappingURL=app-loader-4hDsMW8y.js.map
|
|
1923
|
+
//# debugId=f6a73b34-e60d-575f-aa22-95bcb1f704e4
|