canopycms 0.0.61-int.74 → 0.0.61
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/ai/handler.js +1 -1
- package/dist/ai/handler.js.map +1 -1
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +36 -4
- package/dist/api/assets.js.map +1 -1
- package/dist/api/branch-status.d.ts.map +1 -1
- package/dist/api/branch-status.js +56 -0
- package/dist/api/branch-status.js.map +1 -1
- package/dist/api/branch-withdraw.d.ts.map +1 -1
- package/dist/api/branch-withdraw.js +14 -3
- package/dist/api/branch-withdraw.js.map +1 -1
- package/dist/api/branch.d.ts +31 -2
- package/dist/api/branch.d.ts.map +1 -1
- package/dist/api/branch.js +252 -13
- package/dist/api/branch.js.map +1 -1
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +12 -4
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +11 -9
- package/dist/api/entries.js.map +1 -1
- package/dist/api/guards.d.ts.map +1 -1
- package/dist/api/guards.js +12 -5
- package/dist/api/guards.js.map +1 -1
- package/dist/api/permissions.d.ts +2 -2
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +51 -3
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/reference-options.d.ts.map +1 -1
- package/dist/api/reference-options.js +10 -17
- package/dist/api/reference-options.js.map +1 -1
- package/dist/api/resolve-references.d.ts.map +1 -1
- package/dist/api/resolve-references.js +3 -1
- package/dist/api/resolve-references.js.map +1 -1
- package/dist/api/schema.d.ts.map +1 -1
- package/dist/api/schema.js +3 -2
- package/dist/api/schema.js.map +1 -1
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +6 -5
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/assets/pipeline.d.ts +11 -2
- package/dist/assets/pipeline.d.ts.map +1 -1
- package/dist/assets/pipeline.js +114 -2
- package/dist/assets/pipeline.js.map +1 -1
- package/dist/assets/transform-directives.d.ts +18 -0
- package/dist/assets/transform-directives.d.ts.map +1 -1
- package/dist/assets/transform-directives.js +18 -0
- package/dist/assets/transform-directives.js.map +1 -1
- package/dist/assets/transform.d.ts.map +1 -1
- package/dist/assets/transform.js +1 -10
- package/dist/assets/transform.js.map +1 -1
- package/dist/auth/types.d.ts +29 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +1 -1
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/protected-branch.d.ts +75 -0
- package/dist/authorization/protected-branch.d.ts.map +1 -1
- package/dist/authorization/protected-branch.js +39 -0
- package/dist/authorization/protected-branch.js.map +1 -1
- package/dist/branch-registry.d.ts.map +1 -1
- package/dist/branch-registry.js +5 -1
- package/dist/branch-registry.js.map +1 -1
- package/dist/branch-schema-cache.d.ts.map +1 -1
- package/dist/branch-schema-cache.js +9 -0
- package/dist/branch-schema-cache.js.map +1 -1
- package/dist/build/generate-ai-content.js +1 -1
- package/dist/build/generate-ai-content.js.map +1 -1
- package/dist/cli/cli.js +1442 -828
- package/dist/cli/generate-ai-content.js +404 -136
- package/dist/cli/init.d.ts +8 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +440 -151
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/project-detect.d.ts +89 -0
- package/dist/cli/project-detect.d.ts.map +1 -0
- package/dist/cli/project-detect.js +240 -0
- package/dist/cli/project-detect.js.map +1 -0
- package/dist/cli/template-files/Dockerfile.cms.template +11 -6
- package/dist/cli/template-files/cdk-app.ts.template +82 -0
- package/dist/cli/template-files/cdk.json.template +9 -0
- package/dist/cli/template-files/cms-stack.ts.template +124 -0
- package/dist/cli/template-files/deploy-cms.yml.template +125 -13
- package/dist/cli/template-files/dockerignore.template +2 -1
- package/dist/cli/templates.d.ts +26 -2
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +36 -4
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/schemas/config.d.ts +2 -3
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +21 -1
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/validation.d.ts +9 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +22 -12
- package/dist/config/validation.js.map +1 -1
- package/dist/content-reader.js +1 -1
- package/dist/content-reader.js.map +1 -1
- package/dist/content-store.d.ts +11 -0
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +2 -1
- package/dist/content-store.js.map +1 -1
- package/dist/dev-content-watcher.d.ts.map +1 -1
- package/dist/dev-content-watcher.js +4 -1
- package/dist/dev-content-watcher.js.map +1 -1
- package/dist/editor/BranchManager.d.ts +15 -0
- package/dist/editor/BranchManager.d.ts.map +1 -1
- package/dist/editor/BranchManager.js +43 -9
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/editor/CanopyEditor.d.ts.map +1 -1
- package/dist/editor/CanopyEditor.js +2 -2
- package/dist/editor/CanopyEditor.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +110 -48
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.js +9 -8
- package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
- package/dist/editor/components/EditorHeader.d.ts +6 -0
- package/dist/editor/components/EditorHeader.d.ts.map +1 -1
- package/dist/editor/components/EditorHeader.js +76 -23
- package/dist/editor/components/EditorHeader.js.map +1 -1
- package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
- package/dist/editor/components/EntryCreateModal.js +21 -6
- package/dist/editor/components/EntryCreateModal.js.map +1 -1
- package/dist/editor/context/SWRProvider.d.ts +31 -0
- package/dist/editor/context/SWRProvider.d.ts.map +1 -0
- package/dist/editor/context/SWRProvider.js +12 -0
- package/dist/editor/context/SWRProvider.js.map +1 -0
- package/dist/editor/context/index.d.ts +3 -0
- package/dist/editor/context/index.d.ts.map +1 -1
- package/dist/editor/context/index.js +3 -0
- package/dist/editor/context/index.js.map +1 -1
- package/dist/editor/editor-utils.d.ts.map +1 -1
- package/dist/editor/editor-utils.js +8 -2
- package/dist/editor/editor-utils.js.map +1 -1
- package/dist/editor/fields/ImageField.d.ts.map +1 -1
- package/dist/editor/fields/ImageField.js +27 -3
- package/dist/editor/fields/ImageField.js.map +1 -1
- package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
- package/dist/editor/fields/ReferenceField.js +52 -31
- package/dist/editor/fields/ReferenceField.js.map +1 -1
- package/dist/editor/hooks/__test__/test-utils.d.ts +38 -3
- package/dist/editor/hooks/__test__/test-utils.d.ts.map +1 -1
- package/dist/editor/hooks/__test__/test-utils.js +50 -4
- package/dist/editor/hooks/__test__/test-utils.js.map +1 -1
- package/dist/editor/hooks/index.d.ts +4 -1
- package/dist/editor/hooks/index.d.ts.map +1 -1
- package/dist/editor/hooks/index.js +4 -1
- package/dist/editor/hooks/index.js.map +1 -1
- package/dist/editor/hooks/useBranchManager.d.ts +21 -1
- package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
- package/dist/editor/hooks/useBranchManager.js +68 -32
- package/dist/editor/hooks/useBranchManager.js.map +1 -1
- package/dist/editor/hooks/useBranchesData.d.ts +57 -0
- package/dist/editor/hooks/useBranchesData.d.ts.map +1 -0
- package/dist/editor/hooks/useBranchesData.js +69 -0
- package/dist/editor/hooks/useBranchesData.js.map +1 -0
- package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
- package/dist/editor/hooks/useCommentSystem.js +24 -22
- package/dist/editor/hooks/useCommentSystem.js.map +1 -1
- package/dist/editor/hooks/useCommentsData.d.ts +29 -0
- package/dist/editor/hooks/useCommentsData.d.ts.map +1 -0
- package/dist/editor/hooks/useCommentsData.js +40 -0
- package/dist/editor/hooks/useCommentsData.js.map +1 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +32 -18
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntriesData.d.ts +35 -0
- package/dist/editor/hooks/useEntriesData.d.ts.map +1 -0
- package/dist/editor/hooks/useEntriesData.js +96 -0
- package/dist/editor/hooks/useEntriesData.js.map +1 -0
- package/dist/editor/hooks/useEntryManager.d.ts +8 -15
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +259 -117
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/usePermissionManager.d.ts +2 -2
- package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
- package/dist/editor/hooks/usePermissionManager.js +11 -9
- package/dist/editor/hooks/usePermissionManager.js.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.js +24 -1
- package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
- package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -1
- package/dist/editor/media/MediaLibraryBody.js +12 -2
- package/dist/editor/media/MediaLibraryBody.js.map +1 -1
- package/dist/editor/permission-manager/GroupSelector.d.ts.map +1 -1
- package/dist/editor/permission-manager/GroupSelector.js +7 -2
- package/dist/editor/permission-manager/GroupSelector.js.map +1 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +3 -3
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +1 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +1 -0
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +1 -1
- package/dist/editor/permission-manager/types.d.ts +6 -4
- package/dist/editor/permission-manager/types.d.ts.map +1 -1
- package/dist/editor/test-setup.js +8 -0
- package/dist/editor/test-setup.js.map +1 -1
- package/dist/git-manager.d.ts +126 -9
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +251 -27
- package/dist/git-manager.js.map +1 -1
- package/dist/github-service.d.ts.map +1 -1
- package/dist/github-service.js +13 -7
- package/dist/github-service.js.map +1 -1
- package/dist/http/handler.d.ts.map +1 -1
- package/dist/http/handler.js +8 -2
- package/dist/http/handler.js.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.js +7 -8
- package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
- package/dist/operating-mode/deployment-name.d.ts +28 -0
- package/dist/operating-mode/deployment-name.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name.js +78 -0
- package/dist/operating-mode/deployment-name.js.map +1 -0
- package/dist/operating-mode/index.d.ts +5 -1
- package/dist/operating-mode/index.d.ts.map +1 -1
- package/dist/operating-mode/index.js +7 -1
- package/dist/operating-mode/index.js.map +1 -1
- package/dist/operating-mode/types.d.ts +13 -3
- package/dist/operating-mode/types.d.ts.map +1 -1
- package/dist/paths/branch-name.d.ts +38 -0
- package/dist/paths/branch-name.d.ts.map +1 -1
- package/dist/paths/branch-name.js +46 -0
- package/dist/paths/branch-name.js.map +1 -1
- package/dist/paths/index.d.ts +1 -1
- package/dist/paths/index.d.ts.map +1 -1
- package/dist/paths/index.js +1 -1
- package/dist/paths/index.js.map +1 -1
- package/dist/reference-resolver.d.ts +6 -2
- package/dist/reference-resolver.d.ts.map +1 -1
- package/dist/reference-resolver.js +8 -1
- package/dist/reference-resolver.js.map +1 -1
- package/dist/schema/meta-loader.d.ts.map +1 -1
- package/dist/schema/meta-loader.js +10 -2
- package/dist/schema/meta-loader.js.map +1 -1
- package/dist/schema/schema-store.d.ts +11 -2
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +23 -11
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/settings-workspace.d.ts +0 -15
- package/dist/settings-workspace.d.ts.map +1 -1
- package/dist/settings-workspace.js +97 -1
- package/dist/settings-workspace.js.map +1 -1
- package/dist/types.d.ts +63 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/debug.d.ts +11 -0
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +12 -1
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/git.d.ts +38 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +69 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/logger.d.ts +71 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +85 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/validation/entry-type-reference-validator.d.ts +33 -0
- package/dist/validation/entry-type-reference-validator.d.ts.map +1 -0
- package/dist/validation/entry-type-reference-validator.js +110 -0
- package/dist/validation/entry-type-reference-validator.js.map +1 -0
- package/dist/worker/cms-worker.d.ts +232 -3
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +856 -87
- package/dist/worker/cms-worker.js.map +1 -1
- package/dist/worker/log.d.ts +61 -0
- package/dist/worker/log.d.ts.map +1 -0
- package/dist/worker/log.js +74 -0
- package/dist/worker/log.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBranchesData.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useBranchesData.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,uCAAuC;AACvC,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAWjG;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GACrC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAKlC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* SWR-backed read of the branches list (GET /branches).
|
|
4
|
+
*
|
|
5
|
+
* Not parameterized by the currently selected branch: the endpoint returns
|
|
6
|
+
* every branch regardless of which one is active, so a single cache key
|
|
7
|
+
* covers the whole editor session. useBranchManager.tsx consumes this for
|
|
8
|
+
* the automatic on-mount fetch (SWR dedupes concurrent mounts -- e.g. React
|
|
9
|
+
* Strict Mode's double effect invoke -- into a single request); its
|
|
10
|
+
* imperative `loadBranches()` reload path fetches independently and writes
|
|
11
|
+
* the result into this same cache key via `mutate(..., { revalidate: false
|
|
12
|
+
* })` -- see the comment on `fetchBranches` for why it doesn't just call
|
|
13
|
+
* `mutate()` to revalidate.
|
|
14
|
+
*/
|
|
15
|
+
import useSWR from 'swr';
|
|
16
|
+
/** Cache key for the branches list. */
|
|
17
|
+
export const BRANCHES_KEY = 'canopy:branches';
|
|
18
|
+
/**
|
|
19
|
+
* Fetch the branches list. Exported for direct testing and for the
|
|
20
|
+
* imperative reload path.
|
|
21
|
+
*/
|
|
22
|
+
export async function fetchBranches(apiClient) {
|
|
23
|
+
const result = await apiClient.branches.list();
|
|
24
|
+
if (result.status === 404) {
|
|
25
|
+
// No branch endpoint available; stay branchless rather than erroring --
|
|
26
|
+
// the branch dropdown stays clickable so the user can retry from there.
|
|
27
|
+
return { branches: [] };
|
|
28
|
+
}
|
|
29
|
+
if (!result.ok) {
|
|
30
|
+
throw new Error(result.error ?? `Failed to load branches: ${result.status}`);
|
|
31
|
+
}
|
|
32
|
+
return { branches: result.data?.branches ?? [], defaultBranch: result.data?.defaultBranch };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* How often to re-poll while at least one branch is mid-flight, in ms.
|
|
36
|
+
* Only ever active in the transient window below, so this is not a
|
|
37
|
+
* standing background poll.
|
|
38
|
+
*/
|
|
39
|
+
export const IN_FLIGHT_POLL_MS = 15_000;
|
|
40
|
+
/**
|
|
41
|
+
* Whether any branch is in a state the WORKER, not the user, will move on.
|
|
42
|
+
*
|
|
43
|
+
* `pending-sync` -> `synced` | `sync-failed` happens asynchronously on the
|
|
44
|
+
* EC2 worker when it drains the task queue, with nothing pushed to the
|
|
45
|
+
* browser. Before SWR, the branches list happened to refetch on every
|
|
46
|
+
* branch switch, so these badges (PR #160) converged incidentally as the
|
|
47
|
+
* user moved around. That effect is gone now -- correctly, since the list
|
|
48
|
+
* isn't branch-scoped -- so without this a user who submits a branch would
|
|
49
|
+
* watch "Pending sync" forever until they reloaded the page or performed
|
|
50
|
+
* some unrelated branch mutation.
|
|
51
|
+
*/
|
|
52
|
+
export function hasInFlightBranch(data) {
|
|
53
|
+
return (data?.branches ?? []).some((b) => b.syncStatus === 'pending-sync');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* SWR-backed read of the branches list. Automatically dedupes concurrent
|
|
57
|
+
* mounts into a single request (see the module doc comment above).
|
|
58
|
+
*
|
|
59
|
+
* Polls ONLY while a branch is waiting on the worker (see
|
|
60
|
+
* `hasInFlightBranch`); once everything has settled the interval returns to
|
|
61
|
+
* 0 and the list goes quiet again. This is strictly narrower than a blanket
|
|
62
|
+
* `refreshInterval`, and narrower than the pre-SWR behavior it replaces.
|
|
63
|
+
*/
|
|
64
|
+
export function useBranchesData(apiClient) {
|
|
65
|
+
return useSWR(BRANCHES_KEY, () => fetchBranches(apiClient), {
|
|
66
|
+
refreshInterval: (data) => hasInFlightBranch(data) ? IN_FLIGHT_POLL_MS : 0,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=useBranchesData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBranchesData.js","sourceRoot":"","sources":["../../../src/editor/hooks/useBranchesData.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;GAYG;AAEH,OAAO,MAA4B,MAAM,KAAK,CAAA;AAI9C,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAO7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAsC;IACxE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,wEAAwE;QACxE,wEAAwE;QACxE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA8B;IAC9D,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAA;AAC5E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAsC;IAEtC,OAAO,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;QAC1D,eAAe,EAAE,CAAC,IAA8B,EAAE,EAAE,CAClD,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAClD,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCommentSystem.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentSystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCommentSystem.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentSystem.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAM5C,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAErC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAErC;;OAEG;IACH,oBAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAE7C;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;CACvD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IACvD,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,oBAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,sBAAsB,EAAE,OAAO,CAAA;IAC/B,yBAAyB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAClD,oBAAoB,EAAE;QACpB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;QAClC,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,GAAG,IAAI,CAAA;IACR,uBAAuB,EAAE,CACvB,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KACxE,IAAI,CAAA;IACT,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,EAClC,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,KACd,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpF,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAiPzF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { useSWRConfig } from 'swr';
|
|
2
3
|
import { notifications } from '@mantine/notifications';
|
|
3
4
|
import { normalizeCanopyPath } from '../canopy-path.js';
|
|
4
5
|
import { useApiClient } from '../context/index.js';
|
|
5
6
|
import { resolveMessageOrigin } from '../preview-bridge.js';
|
|
7
|
+
import { commentsKey, fetchComments, useCommentsData } from './useCommentsData.js';
|
|
6
8
|
/**
|
|
7
9
|
* Custom hook for managing the comment system.
|
|
8
10
|
*
|
|
@@ -33,28 +35,36 @@ import { resolveMessageOrigin } from '../preview-bridge.js';
|
|
|
33
35
|
*/
|
|
34
36
|
export function useCommentSystem(options) {
|
|
35
37
|
const apiClient = useApiClient();
|
|
36
|
-
const
|
|
38
|
+
const { mutate: globalMutate } = useSWRConfig();
|
|
37
39
|
const [focusedFieldPath, setFocusedFieldPath] = useState(undefined);
|
|
38
40
|
const [highlightThreadId, setHighlightThreadId] = useState(undefined);
|
|
39
41
|
const [commentsPanelOpen, setCommentsPanelOpen] = useState(false);
|
|
40
42
|
const [commentThreadPanelOpen, setCommentThreadPanelOpen] = useState(false);
|
|
41
43
|
const [activeCommentContext, setActiveCommentContext] = useState(null);
|
|
44
|
+
// Automatic load, keyed per branch and deduped by SWR (e.g. React Strict
|
|
45
|
+
// Mode's double effect invoke collapses to a single request). Switching
|
|
46
|
+
// branches re-keys automatically, so no manual branch-change effect is
|
|
47
|
+
// needed the way there used to be.
|
|
48
|
+
const { data: commentsData } = useCommentsData(apiClient, options.branchName);
|
|
49
|
+
const comments = commentsData?.threads ?? [];
|
|
50
|
+
// Deliberately omits `options.onCommentsChange` from the deps: it's a
|
|
51
|
+
// stable setState passthrough, and this file is plain .ts (not .tsx), so
|
|
52
|
+
// the react-hooks/exhaustive-deps rule isn't active here anyway --
|
|
53
|
+
// including it would refire this on every Editor.tsx render regardless.
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (commentsData)
|
|
56
|
+
options.onCommentsChange?.(commentsData.threads);
|
|
57
|
+
}, [commentsData]);
|
|
58
|
+
// Explicit reload: always issues a fresh, independent fetch (raw call, not
|
|
59
|
+
// SWR's `mutate()` revalidate path) so a caller requesting a reload right
|
|
60
|
+
// after mount isn't coalesced against the still-in-flight automatic load
|
|
61
|
+
// -- then writes the result into the shared cache so useCommentsData's
|
|
62
|
+
// bound hook (and the effect above) pick it up.
|
|
42
63
|
const loadComments = async (branch) => {
|
|
43
64
|
if (!branch)
|
|
44
65
|
return;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (!result.ok) {
|
|
48
|
-
console.error('Failed to load comments:', result.status);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const threads = result.data?.threads ?? [];
|
|
52
|
-
setComments(threads);
|
|
53
|
-
options.onCommentsChange?.(threads);
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
console.error('Failed to load comments:', err);
|
|
57
|
-
}
|
|
66
|
+
const fresh = await fetchComments(apiClient, branch);
|
|
67
|
+
await globalMutate(commentsKey(branch), fresh, { revalidate: false });
|
|
58
68
|
};
|
|
59
69
|
const handleAddComment = async (text, type, entryPath, canopyPath, threadId) => {
|
|
60
70
|
if (!options.branchName)
|
|
@@ -126,14 +136,6 @@ export function useCommentSystem(options) {
|
|
|
126
136
|
}
|
|
127
137
|
return '';
|
|
128
138
|
}, [activeCommentContext, options.selectedPath, options.branchName]);
|
|
129
|
-
// Load comments when branch changes
|
|
130
|
-
useEffect(() => {
|
|
131
|
-
if (options.branchName) {
|
|
132
|
-
loadComments(options.branchName).catch((err) => {
|
|
133
|
-
console.error(err);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}, [options.branchName]);
|
|
137
139
|
// Listen for field focus messages from preview frame
|
|
138
140
|
useEffect(() => {
|
|
139
141
|
const handleFocus = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCommentSystem.js","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"useCommentSystem.js","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SWR-backed read of a branch's comment threads (GET /:branch/comments).
|
|
3
|
+
*
|
|
4
|
+
* Keyed per branch, so switching branches automatically triggers (and
|
|
5
|
+
* dedupes) a fresh fetch for the new key without useCommentSystem needing
|
|
6
|
+
* its own branch-keyed effect. See useBranchesData.ts for the same pattern
|
|
7
|
+
* applied to the branches list.
|
|
8
|
+
*/
|
|
9
|
+
import { type SWRResponse } from 'swr';
|
|
10
|
+
import type { ApiClient } from '../context';
|
|
11
|
+
import type { CommentThread } from '../../comment-store';
|
|
12
|
+
/** Cache key for a branch's comment threads. */
|
|
13
|
+
export declare const commentsKey: (branch: string) => string;
|
|
14
|
+
export interface CommentsData {
|
|
15
|
+
threads: CommentThread[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Fetch a branch's comment threads. Never throws -- matches the pre-SWR
|
|
19
|
+
* `loadComments` behavior of logging and resolving to an empty list on
|
|
20
|
+
* failure rather than surfacing an error state (comments have no error UI).
|
|
21
|
+
* Exported for direct testing and for the imperative reload path.
|
|
22
|
+
*/
|
|
23
|
+
export declare function fetchComments(apiClient: Pick<ApiClient, 'comments'>, branch: string): Promise<CommentsData>;
|
|
24
|
+
/**
|
|
25
|
+
* SWR-backed read of a branch's comment threads. `branch` may be empty
|
|
26
|
+
* (branchless start), in which case fetching is disabled entirely (null key).
|
|
27
|
+
*/
|
|
28
|
+
export declare function useCommentsData(apiClient: Pick<ApiClient, 'comments'>, branch: string): SWRResponse<CommentsData, never>;
|
|
29
|
+
//# sourceMappingURL=useCommentsData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCommentsData.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentsData.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,gDAAgD;AAChD,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MAAqC,CAAA;AAElF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACtC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACtC,MAAM,EAAE,MAAM,GACb,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAElC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* SWR-backed read of a branch's comment threads (GET /:branch/comments).
|
|
4
|
+
*
|
|
5
|
+
* Keyed per branch, so switching branches automatically triggers (and
|
|
6
|
+
* dedupes) a fresh fetch for the new key without useCommentSystem needing
|
|
7
|
+
* its own branch-keyed effect. See useBranchesData.ts for the same pattern
|
|
8
|
+
* applied to the branches list.
|
|
9
|
+
*/
|
|
10
|
+
import useSWR from 'swr';
|
|
11
|
+
/** Cache key for a branch's comment threads. */
|
|
12
|
+
export const commentsKey = (branch) => `canopy:comments:${branch}`;
|
|
13
|
+
/**
|
|
14
|
+
* Fetch a branch's comment threads. Never throws -- matches the pre-SWR
|
|
15
|
+
* `loadComments` behavior of logging and resolving to an empty list on
|
|
16
|
+
* failure rather than surfacing an error state (comments have no error UI).
|
|
17
|
+
* Exported for direct testing and for the imperative reload path.
|
|
18
|
+
*/
|
|
19
|
+
export async function fetchComments(apiClient, branch) {
|
|
20
|
+
try {
|
|
21
|
+
const result = await apiClient.comments.list({ branch });
|
|
22
|
+
if (!result.ok) {
|
|
23
|
+
console.error('Failed to load comments:', result.status);
|
|
24
|
+
return { threads: [] };
|
|
25
|
+
}
|
|
26
|
+
return { threads: result.data?.threads ?? [] };
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
console.error('Failed to load comments:', err);
|
|
30
|
+
return { threads: [] };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* SWR-backed read of a branch's comment threads. `branch` may be empty
|
|
35
|
+
* (branchless start), in which case fetching is disabled entirely (null key).
|
|
36
|
+
*/
|
|
37
|
+
export function useCommentsData(apiClient, branch) {
|
|
38
|
+
return useSWR(branch ? commentsKey(branch) : null, () => fetchComments(apiClient, branch));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=useCommentsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCommentsData.js","sourceRoot":"","sources":["../../../src/editor/hooks/useCommentsData.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;GAOG;AAEH,OAAO,MAA4B,MAAM,KAAK,CAAA;AAI9C,gDAAgD;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,mBAAmB,MAAM,EAAE,CAAA;AAMlF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAsC,EACtC,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACxD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACxB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAA;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC9C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAsC,EACtC,MAAc;IAEd,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;AAC5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDraftManager.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDraftManager.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAchD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACxB,OAQF,CAAA;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACrD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACjC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAChF,aAAa,EAAE,SAAS,GAAG,SAAS,CAAA;IACpC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAA;IAClC,cAAc,EAAE,SAAS,GAAG,SAAS,CAAA;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B,sBAAsB,EAAE,MAAM,IAAI,CAAA;IAClC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/C,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CA6ZtF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { notifications } from '@mantine/notifications';
|
|
3
3
|
import { modals } from '@mantine/modals';
|
|
4
|
+
import equal from 'fast-deep-equal';
|
|
4
5
|
import { getNotificationDuration } from '../utils/env.js';
|
|
5
6
|
import { validateEntryFormValue } from '../../validation/entry-validator.js';
|
|
6
7
|
import { SaveApiError } from './useEntryManager.js';
|
|
@@ -86,12 +87,13 @@ export function useDraftManager(options) {
|
|
|
86
87
|
// as unsaved work — this is what keeps the branch-switch guard from silently
|
|
87
88
|
// discarding restored drafts.
|
|
88
89
|
//
|
|
89
|
-
// 2. The comparison uses `
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
const modifiedCount = useMemo(() => Object.keys(drafts).filter((id) => !loadedValues[id] ||
|
|
90
|
+
// 2. The comparison uses `fast-deep-equal`, a value-based deep equality
|
|
91
|
+
// check -- not property-order sensitive the way `JSON.stringify`
|
|
92
|
+
// comparison was. A rehydrated draft whose keys were serialized in a
|
|
93
|
+
// different order than the server-loaded object no longer shows as
|
|
94
|
+
// dirty when the values are semantically identical.
|
|
95
|
+
const modifiedCount = useMemo(() => Object.keys(drafts).filter((id) => !loadedValues[id] || !equal(drafts[id], loadedValues[id]))
|
|
96
|
+
.length, [drafts, loadedValues]);
|
|
95
97
|
const editedFiles = useMemo(() => {
|
|
96
98
|
const draftIds = Object.keys(drafts);
|
|
97
99
|
if (draftIds.length === 0)
|
|
@@ -269,6 +271,18 @@ export function useDraftManager(options) {
|
|
|
269
271
|
// validateEntry hook; show its message and map per-field errors (e.g.
|
|
270
272
|
// reference existence, which only the server can check) into the form.
|
|
271
273
|
const isValidation = err instanceof SaveApiError && err.status === 422;
|
|
274
|
+
// 403 = the writableBranch guard refused the write outright (base
|
|
275
|
+
// branch read-only, status past 'editing', or unreadable metadata --
|
|
276
|
+
// see api/guards.ts). This is exactly the window a fail-closed but
|
|
277
|
+
// still momentarily-stale client can hit: the branch list hasn't
|
|
278
|
+
// caught up yet, or the editor rendered before the server's answer
|
|
279
|
+
// arrived, so a Save that looked enabled got rejected server-side.
|
|
280
|
+
// #189 wrote specific guard copy explaining WHICH lock applies and how
|
|
281
|
+
// to recover (e.g. "withdraw it to make changes") -- falling through to
|
|
282
|
+
// the generic 'Save failed' below would throw that away in precisely
|
|
283
|
+
// the moment the user is most confused, so surface the server's own
|
|
284
|
+
// message instead, the same way the 422 branch already does.
|
|
285
|
+
const isForbidden = err instanceof SaveApiError && err.status === 403;
|
|
272
286
|
if (err instanceof SaveApiError &&
|
|
273
287
|
err.status === 422 &&
|
|
274
288
|
err.fieldErrors &&
|
|
@@ -277,13 +291,14 @@ export function useDraftManager(options) {
|
|
|
277
291
|
}
|
|
278
292
|
notifications.show({
|
|
279
293
|
...(isValidation ? { title: 'Save rejected' } : {}),
|
|
294
|
+
...(isForbidden ? { title: 'Save not allowed' } : {}),
|
|
280
295
|
message: isConflict
|
|
281
296
|
? 'Content was modified by another editor. Reload to see the latest changes.'
|
|
282
|
-
: isValidation
|
|
297
|
+
: isValidation || isForbidden
|
|
283
298
|
? err.message
|
|
284
299
|
: 'Save failed',
|
|
285
300
|
color: isConflict ? 'yellow' : 'red',
|
|
286
|
-
autoClose: getNotificationDuration(isConflict || isValidation ? 8000 : 6000),
|
|
301
|
+
autoClose: getNotificationDuration(isConflict || isValidation || isForbidden ? 8000 : 6000),
|
|
287
302
|
withCloseButton: true,
|
|
288
303
|
});
|
|
289
304
|
}
|
|
@@ -356,10 +371,10 @@ export function useDraftManager(options) {
|
|
|
356
371
|
});
|
|
357
372
|
};
|
|
358
373
|
// Only prompt when there is a real draft that actually differs from the
|
|
359
|
-
// loaded value (`isSelectedDirty()` below uses the exact same
|
|
360
|
-
//
|
|
361
|
-
//
|
|
362
|
-
//
|
|
374
|
+
// loaded value (`isSelectedDirty()` below uses the exact same deep-equal
|
|
375
|
+
// comparison as `modifiedCount`). Discarding a draft that's identical to
|
|
376
|
+
// the loaded value, or discarding when there's no draft at all, has
|
|
377
|
+
// nothing to lose, so it clears silently.
|
|
363
378
|
const handleDiscardFileDraft = () => {
|
|
364
379
|
if (!currentId)
|
|
365
380
|
return;
|
|
@@ -412,7 +427,7 @@ export function useDraftManager(options) {
|
|
|
412
427
|
const id = entry.contentId;
|
|
413
428
|
if (!drafts[id])
|
|
414
429
|
return false;
|
|
415
|
-
return !loadedValues[id] ||
|
|
430
|
+
return !loadedValues[id] || !equal(drafts[id], loadedValues[id]);
|
|
416
431
|
};
|
|
417
432
|
// Convenience helper for checking current selection
|
|
418
433
|
const isSelectedDirty = () => {
|
|
@@ -420,15 +435,14 @@ export function useDraftManager(options) {
|
|
|
420
435
|
return false;
|
|
421
436
|
if (!drafts[currentId])
|
|
422
437
|
return false;
|
|
423
|
-
return
|
|
424
|
-
JSON.stringify(drafts[currentId]) !== JSON.stringify(loadedValues[currentId]));
|
|
438
|
+
return !loadedValues[currentId] || !equal(drafts[currentId], loadedValues[currentId]);
|
|
425
439
|
};
|
|
426
440
|
// Returns true if ANY draft entry differs from its loaded value.
|
|
427
441
|
//
|
|
428
442
|
// Used for branch-switch guards so unsaved work in non-selected entries is not
|
|
429
|
-
// silently discarded. Derived from `modifiedCount`, so
|
|
430
|
-
// above also
|
|
431
|
-
//
|
|
443
|
+
// silently discarded. Derived from `modifiedCount`, so its semantics note
|
|
444
|
+
// above also applies: localStorage-restored drafts without a loaded value
|
|
445
|
+
// count as dirty.
|
|
432
446
|
const isAnyDirty = () => modifiedCount > 0;
|
|
433
447
|
return {
|
|
434
448
|
drafts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,iGAAiG;AACjG,MAAM,eAAe,GAAG,CAAC,MAAyB,EAA0B,EAAE;IAC5E,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;IAC/D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,CAAyB,EACzB,CAAyB,EAChB,EAAE;IACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;IAClG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA4B,EAAE,CAAC,CAAA;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,yCAAyC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAGlC,IAAI,CAAC,CAAA;IAEf,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhG,4CAA4C;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAA;IACjD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,cAAc,GAAG,aAAa,IAAI,WAAW,CAAA;IACnD,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/E,CAAC,UAAU,EAAE,SAAS,CAAC,CACxB,CAAA;IAED,sEAAsE;IACtE,EAAE;IACF,0CAA0C;IAC1C,EAAE;IACF,wFAAwF;IACxF,oFAAoF;IACpF,mFAAmF;IACnF,gFAAgF;IAChF,iCAAiC;IACjC,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,mFAAmF;IACnF,gFAAgF;IAChF,iEAAiE;IACjE,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CACxB,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CACvF,CAAC,MAAM,EACV,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACpC,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;YAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA6C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAE7B,iEAAiE;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1E,SAAS,CAAC,EAAE,CAAC,CAAA;YACb,eAAe,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;IAC5C,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAExB,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACnD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAA;gBAC3D,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,yEAAyE;IACzE,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,OAAM;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAA8B,CAAA;gBACtE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAA;oBACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAA;oBACrC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;oBAC1B,KAAK,MAAM,EAAE,IAAI,OAAO;wBAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;oBACjD,OAAO,MAAM,CAAA;gBACf,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAA;IAC1C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,sDAAsD;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,mBAAmB,CAAC,OAAO,KAAK,UAAU;YAAE,OAAM;QACtD,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAExB,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,EAAE;IACF,sEAAsE;IACtE,mCAAmC;IACnC,EAAE;IACF,wEAAwE;IACxE,2EAA2E;IAC3E,8DAA8D;IAC9D,0EAA0E;IAC1E,kEAAkE;IAClE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,sEAAsE;IACtE,6BAA6B;IAC7B,EAAE;IACF,2EAA2E;IAC3E,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAA;QAClC,MAAM,KAAK,GAAG,cAAc,CAAA;QAC5B,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA,CAAC,gEAAgE;YAC5G,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YACjC,MAAM,IAAI,GAAG,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YACvF,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/F,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3F,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;YAAE,OAAM;QAElE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,OAAO,CAAC,YAAY,CAAC,MAAM,EAC3B,OAAO,CAAC,YAAY,CAAC,MAAM,EAC3B,cAAc,CACf,CAAA;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;YAChF,aAAa,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,OAAO,gBAAgB,CAAC,MAAM,eAAe,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,gBAAgB;gBACxH,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAC3E,6DAA6D;YAC7D,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,qBAAqB;YACrB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjB,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACrC,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAA;YACF,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5D,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,OAAO,CAAC,OAAO,EAAE,EAAE,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,MAAM,UAAU,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACpE,mEAAmE;YACnE,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,YAAY,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACtE,IACE,GAAG,YAAY,YAAY;gBAC3B,GAAG,CAAC,MAAM,KAAK,GAAG;gBAClB,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;gBACD,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,YAAY;wBACZ,CAAC,CAAC,GAAG,CAAC,OAAO;wBACb,CAAC,CAAC,aAAa;gBACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBACpC,SAAS,EAAE,uBAAuB,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5E,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,SAAS,CAAC,EAAE,CAAC,CAAA;QACb,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,oBAAoB,EAAE,CAAA;YACtB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,sBAAsB,aAAa,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iCAAiC;YACxH,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,oBAAoB;SAChC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBACnD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAA;oBAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;oBACxB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,wEAAwE;IACxE,8DAA8D;IAC9D,2EAA2E;IAC3E,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvB,uBAAuB,EAAE,CAAA;YACzB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,wCAAwC;YAClD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS;YAAE,OAAM;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC5D,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YAC7D,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YACvD,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE;QACrD,2CAA2C;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7F,CAAC,CAAA;IAED,oDAAoD;IACpD,MAAM,eAAe,GAAG,GAAY,EAAE;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;QACpC,OAAO,CACL,CAAC,YAAY,CAAC,SAAS,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAC9E,CAAA;IACH,CAAC,CAAA;IAED,iEAAiE;IACjE,EAAE;IACF,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,aAAa,GAAG,CAAC,CAAA;IAEnD,OAAO;QACL,MAAM;QACN,SAAS;QACT,YAAY;QACZ,eAAe;QACf,aAAa;QACb,WAAW;QACX,cAAc;QACd,aAAa;QACb,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,sBAAsB;QACtB,YAAY;QACZ,eAAe;QACf,eAAe;QACf,UAAU;QACV,WAAW;KACZ,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AAInC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,kCAAkC,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,iGAAiG;AACjG,MAAM,eAAe,GAAG,CAAC,MAAyB,EAA0B,EAAE;IAC5E,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;IAC/D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,CAAyB,EACzB,CAAyB,EAChB,EAAE;IACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;IAClG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA4B,EAAE,CAAC,CAAA;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,yCAAyC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAGlC,IAAI,CAAC,CAAA;IAEf,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhG,4CAA4C;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAA;IACjD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,cAAc,GAAG,aAAa,IAAI,WAAW,CAAA;IACnD,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/E,CAAC,UAAU,EAAE,SAAS,CAAC,CACxB,CAAA;IAED,sEAAsE;IACtE,EAAE;IACF,0CAA0C;IAC1C,EAAE;IACF,wFAAwF;IACxF,oFAAoF;IACpF,mFAAmF;IACnF,gFAAgF;IAChF,iCAAiC;IACjC,EAAE;IACF,wEAAwE;IACxE,oEAAoE;IACpE,wEAAwE;IACxE,sEAAsE;IACtE,uDAAuD;IACvD,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1F,MAAM,EACX,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACpC,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;YAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA6C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAE7B,iEAAiE;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1E,SAAS,CAAC,EAAE,CAAC,CAAA;YACb,eAAe,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;IAC5C,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAExB,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACnD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAA;gBAC3D,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,yEAAyE;IACzE,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,OAAM;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAA8B,CAAA;gBACtE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAA;oBACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAA;oBACrC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;oBAC1B,KAAK,MAAM,EAAE,IAAI,OAAO;wBAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;oBACjD,OAAO,MAAM,CAAA;gBACf,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAA;IAC1C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,sDAAsD;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,mBAAmB,CAAC,OAAO,KAAK,UAAU;YAAE,OAAM;QACtD,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAExB,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,EAAE;IACF,sEAAsE;IACtE,mCAAmC;IACnC,EAAE;IACF,wEAAwE;IACxE,2EAA2E;IAC3E,8DAA8D;IAC9D,0EAA0E;IAC1E,kEAAkE;IAClE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,sEAAsE;IACtE,6BAA6B;IAC7B,EAAE;IACF,2EAA2E;IAC3E,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAA;QAClC,MAAM,KAAK,GAAG,cAAc,CAAA;QAC5B,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA,CAAC,gEAAgE;YAC5G,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YACjC,MAAM,IAAI,GAAG,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YACvF,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/F,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3F,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;YAAE,OAAM;QAElE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,OAAO,CAAC,YAAY,CAAC,MAAM,EAC3B,OAAO,CAAC,YAAY,CAAC,MAAM,EAC3B,cAAc,CACf,CAAA;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;YAChF,aAAa,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,OAAO,gBAAgB,CAAC,MAAM,eAAe,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,gBAAgB;gBACxH,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAC3E,6DAA6D;YAC7D,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,qBAAqB;YACrB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjB,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACrC,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAA;YACF,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5D,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,OAAO,CAAC,OAAO,EAAE,EAAE,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,MAAM,UAAU,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACpE,mEAAmE;YACnE,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,YAAY,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,uEAAuE;YACvE,wEAAwE;YACxE,qEAAqE;YACrE,oEAAoE;YACpE,6DAA6D;YAC7D,MAAM,WAAW,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACrE,IACE,GAAG,YAAY,YAAY;gBAC3B,GAAG,CAAC,MAAM,KAAK,GAAG;gBAClB,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;gBACD,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,YAAY,IAAI,WAAW;wBAC3B,CAAC,CAAC,GAAG,CAAC,OAAO;wBACb,CAAC,CAAC,aAAa;gBACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBACpC,SAAS,EAAE,uBAAuB,CAAC,UAAU,IAAI,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3F,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,SAAS,CAAC,EAAE,CAAC,CAAA;QACb,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,oBAAoB,EAAE,CAAA;YACtB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,sBAAsB,aAAa,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iCAAiC;YACxH,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,oBAAoB;SAChC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBACnD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAA;oBAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;oBACxB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;QACrD,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,0CAA0C;IAC1C,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvB,uBAAuB,EAAE,CAAA;YACzB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,wCAAwC;YAClD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS;YAAE,OAAM;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC5D,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YAC7D,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YACvD,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE;QACrD,2CAA2C;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC,CAAA;IAED,oDAAoD;IACpD,MAAM,eAAe,GAAG,GAAY,EAAE;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;QACpC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IACvF,CAAC,CAAA;IAED,iEAAiE;IACjE,EAAE;IACF,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,kBAAkB;IAClB,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,aAAa,GAAG,CAAC,CAAA;IAEnD,OAAO;QACL,MAAM;QACN,SAAS;QACT,YAAY;QACZ,eAAe;QACf,aAAa;QACb,WAAW;QACX,cAAc;QACd,aAAa;QACb,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,sBAAsB;QACtB,YAAY;QACZ,eAAe;QACf,eAAe;QACf,UAAU;QACV,WAAW;KACZ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CollectionItem } from '../../api/entries';
|
|
2
|
+
import type { ApiClient } from '../context';
|
|
3
|
+
import type { EditorEntry, EditorCollection } from '../Editor';
|
|
4
|
+
/** Cache key for a branch's combined schema + entries data. */
|
|
5
|
+
export declare const entriesKey: (branch: string) => string;
|
|
6
|
+
export interface EntriesData {
|
|
7
|
+
collections: EditorCollection[];
|
|
8
|
+
entries: EditorEntry[];
|
|
9
|
+
/** Entry-type schema names available on this branch (from entrySchemas' keys). */
|
|
10
|
+
availableSchemas: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface FetchEntriesParams {
|
|
13
|
+
resolvePreviewSrc: (entry: Partial<EditorEntry>) => string | undefined;
|
|
14
|
+
contentRoot?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fetch every entry on a branch by following the list endpoint's pagination
|
|
18
|
+
* cursor. Deduped by logicalPath: the cursor is offset-based, so an item can
|
|
19
|
+
* repeat across pages if content changes between requests.
|
|
20
|
+
*
|
|
21
|
+
* Exported for direct unit testing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function listAllEntries(apiClient: {
|
|
24
|
+
entries: Pick<ApiClient['entries'], 'list'>;
|
|
25
|
+
}, branch: string): Promise<{
|
|
26
|
+
entries: CollectionItem[];
|
|
27
|
+
truncated: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Fetch a branch's schema and full entry list, and build the EditorEntry/
|
|
31
|
+
* EditorCollection objects the editor renders. Exported for direct testing
|
|
32
|
+
* and for the imperative reload path (useEntryManager.refreshEntries).
|
|
33
|
+
*/
|
|
34
|
+
export declare function fetchEntriesAndSchema(apiClient: Pick<ApiClient, 'schema' | 'entries'>, branch: string, params: FetchEntriesParams): Promise<EntriesData>;
|
|
35
|
+
//# sourceMappingURL=useEntriesData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEntriesData.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useEntriesData.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAQ9D,+DAA+D;AAC/D,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,MAAoC,CAAA;AAEhF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE;IAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,EAC1D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB5D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,WAAW,CAAC,CA4CtB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Fetch/key/type pieces for a branch's schema + entry list (GET
|
|
4
|
+
* /:branch/schema, GET /:branch/entries, paginated) -- consumed by
|
|
5
|
+
* useEntryManager.ts, which owns BOTH the automatic useSWR call (with its
|
|
6
|
+
* tagged cache values, see the note at the bottom of this file) and the
|
|
7
|
+
* imperative reload path (`refreshEntries`) with its out-of-order-response
|
|
8
|
+
* guard.
|
|
9
|
+
*
|
|
10
|
+
* Combines schema and entries into one fetch because building EditorEntry/
|
|
11
|
+
* EditorCollection objects requires the hydrated flatSchema either way (see
|
|
12
|
+
* `fetchEntriesAndSchema`). This is also the single source of truth for
|
|
13
|
+
* `availableSchemas` (the entry-type schema names, keyed off the same
|
|
14
|
+
* schema response) -- Editor.tsx used to fetch schema a second time on its
|
|
15
|
+
* own just to compute this list; it now reads it off useEntryManager's
|
|
16
|
+
* return value instead, eliminating that duplicate request.
|
|
17
|
+
*/
|
|
18
|
+
import { notifications } from '@mantine/notifications';
|
|
19
|
+
import { MAX_ENTRIES_PER_PAGE } from '../../api/entries-constants.js';
|
|
20
|
+
import { buildEntriesFromListResponse } from '../editor-utils.js';
|
|
21
|
+
/** Page size for entry list requests -- the server's per-page cap, imported to avoid drift. */
|
|
22
|
+
const ENTRIES_PAGE_LIMIT = MAX_ENTRIES_PER_PAGE;
|
|
23
|
+
/** Safety cap on pagination: 50 pages x 200 = 10,000 entries. */
|
|
24
|
+
const MAX_ENTRY_PAGES = 50;
|
|
25
|
+
/** Cache key for a branch's combined schema + entries data. */
|
|
26
|
+
export const entriesKey = (branch) => `canopy:entries:${branch}`;
|
|
27
|
+
/**
|
|
28
|
+
* Fetch every entry on a branch by following the list endpoint's pagination
|
|
29
|
+
* cursor. Deduped by logicalPath: the cursor is offset-based, so an item can
|
|
30
|
+
* repeat across pages if content changes between requests.
|
|
31
|
+
*
|
|
32
|
+
* Exported for direct unit testing.
|
|
33
|
+
*/
|
|
34
|
+
export async function listAllEntries(apiClient, branch) {
|
|
35
|
+
const byPath = new Map();
|
|
36
|
+
let cursor;
|
|
37
|
+
for (let page = 0; page < MAX_ENTRY_PAGES; page++) {
|
|
38
|
+
const result = await apiClient.entries.list({
|
|
39
|
+
branch,
|
|
40
|
+
limit: String(ENTRIES_PAGE_LIMIT),
|
|
41
|
+
...(cursor !== undefined ? { cursor } : {}),
|
|
42
|
+
});
|
|
43
|
+
if (!result.ok || !result.data)
|
|
44
|
+
throw new Error(`Refresh failed: ${result.status}`);
|
|
45
|
+
const data = result.data;
|
|
46
|
+
for (const entry of data.entries)
|
|
47
|
+
byPath.set(entry.logicalPath, entry);
|
|
48
|
+
if (!data.pagination?.hasMore || !data.pagination.cursor) {
|
|
49
|
+
return { entries: [...byPath.values()], truncated: false };
|
|
50
|
+
}
|
|
51
|
+
cursor = data.pagination.cursor;
|
|
52
|
+
}
|
|
53
|
+
return { entries: [...byPath.values()], truncated: true };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fetch a branch's schema and full entry list, and build the EditorEntry/
|
|
57
|
+
* EditorCollection objects the editor renders. Exported for direct testing
|
|
58
|
+
* and for the imperative reload path (useEntryManager.refreshEntries).
|
|
59
|
+
*/
|
|
60
|
+
export async function fetchEntriesAndSchema(apiClient, branch, params) {
|
|
61
|
+
// Fetch schema from schema API
|
|
62
|
+
const schemaResult = await apiClient.schema.get({ branch });
|
|
63
|
+
if (!schemaResult.ok || !schemaResult.data) {
|
|
64
|
+
throw new Error(`Schema fetch failed: ${schemaResult.status}`);
|
|
65
|
+
}
|
|
66
|
+
// Hydrate wire flatSchema: resolve schemaRef -> schema from entrySchemas dict
|
|
67
|
+
const { entrySchemas } = schemaResult.data;
|
|
68
|
+
const hydratedFlatSchema = schemaResult.data.flatSchema.map((item) => item.type === 'entry-type' ? { ...item, schema: entrySchemas[item.schemaRef] ?? [] } : item);
|
|
69
|
+
// Build editor collections from hydrated flatSchema
|
|
70
|
+
// Dynamic import: lazy-load heavier editor config; only needed after API data arrives
|
|
71
|
+
const { buildEditorCollections } = await import('../editor-config.js');
|
|
72
|
+
const collections = buildEditorCollections(hydratedFlatSchema);
|
|
73
|
+
// Fetch ALL entries, following the pagination cursor
|
|
74
|
+
const { entries: allEntries, truncated } = await listAllEntries(apiClient, branch);
|
|
75
|
+
if (truncated) {
|
|
76
|
+
console.warn(`Entry list truncated at ${MAX_ENTRY_PAGES * ENTRIES_PAGE_LIMIT} entries for branch "${branch}"`);
|
|
77
|
+
notifications.show({
|
|
78
|
+
title: 'Entry list truncated',
|
|
79
|
+
message: `Showing the first ${(MAX_ENTRY_PAGES * ENTRIES_PAGE_LIMIT).toLocaleString()} entries.`,
|
|
80
|
+
color: 'yellow',
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Build entries with resolved schemas from flatSchema
|
|
84
|
+
const entries = buildEntriesFromListResponse({
|
|
85
|
+
response: {
|
|
86
|
+
entries: allEntries,
|
|
87
|
+
pagination: { hasMore: false, limit: ENTRIES_PAGE_LIMIT },
|
|
88
|
+
},
|
|
89
|
+
branchName: branch,
|
|
90
|
+
resolvePreviewSrc: (entry) => params.resolvePreviewSrc(entry) ?? '',
|
|
91
|
+
contentRoot: params.contentRoot || 'content',
|
|
92
|
+
flatSchema: hydratedFlatSchema,
|
|
93
|
+
});
|
|
94
|
+
return { collections, entries, availableSchemas: Object.keys(entrySchemas) };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=useEntriesData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEntriesData.js","sourceRoot":"","sources":["../../../src/editor/hooks/useEntriesData.ts"],"names":[],"mappings":"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"}
|