canopycms 0.0.61-int.75 → 0.0.62
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/ai/json-to-markdown.js +1 -2
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/api/__test__/mock-client.d.ts +5 -1
- package/dist/api/__test__/mock-client.d.ts.map +1 -1
- package/dist/api/__test__/mock-client.js +9 -2
- package/dist/api/__test__/mock-client.js.map +1 -1
- package/dist/api/admin-branch-health.d.ts +36 -1
- package/dist/api/admin-branch-health.d.ts.map +1 -1
- package/dist/api/admin-branch-health.js +176 -2
- package/dist/api/admin-branch-health.js.map +1 -1
- package/dist/api/admin.d.ts +8 -1
- package/dist/api/admin.d.ts.map +1 -1
- package/dist/api/admin.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 +268 -15
- package/dist/api/branch.js.map +1 -1
- package/dist/api/client.d.ts +5 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +6 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/comments.d.ts +2 -2
- package/dist/api/content.d.ts +11 -5
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +91 -10
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts +10 -0
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +51 -24
- 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 +4 -4
- package/dist/api/schema.d.ts.map +1 -1
- package/dist/api/schema.js +16 -15
- 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 +20 -16
- 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-health.d.ts +13 -0
- package/dist/branch-health.d.ts.map +1 -1
- package/dist/branch-health.js +23 -0
- package/dist/branch-health.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 +2215 -1280
- package/dist/cli/generate-ai-content.js +1158 -585
- package/dist/cli/init.d.ts +8 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +459 -152
- 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 +30 -7
- package/dist/cli/template-files/canopycms.config.ts.template +7 -0
- 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 +130 -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/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.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/schemas/field.d.ts +15 -15
- package/dist/config/types.d.ts +2 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.d.ts +18 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +36 -12
- package/dist/config/validation.js.map +1 -1
- package/dist/content-id-index.d.ts +97 -5
- package/dist/content-id-index.d.ts.map +1 -1
- package/dist/content-id-index.js +170 -18
- package/dist/content-id-index.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 +92 -7
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +445 -259
- 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 +61 -15
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/editor/CanopyEditor.d.ts.map +1 -1
- package/dist/editor/CanopyEditor.js +3 -3
- package/dist/editor/CanopyEditor.js.map +1 -1
- package/dist/editor/CanopyEditorPage.d.ts +9 -1
- package/dist/editor/CanopyEditorPage.d.ts.map +1 -1
- package/dist/editor/CanopyEditorPage.js +9 -2
- package/dist/editor/CanopyEditorPage.js.map +1 -1
- package/dist/editor/Editor.d.ts +9 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +156 -60
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +12 -0
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
- package/dist/editor/admin/SystemHealthPanel.js +14 -9
- 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 +9 -1
- package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
- package/dist/editor/components/EntryCreateModal.js +25 -7
- 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/DateTimeField.d.ts +46 -0
- package/dist/editor/fields/DateTimeField.d.ts.map +1 -0
- package/dist/editor/fields/DateTimeField.js +66 -0
- package/dist/editor/fields/DateTimeField.js.map +1 -0
- 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/NumberField.d.ts +34 -0
- package/dist/editor/fields/NumberField.d.ts.map +1 -0
- package/dist/editor/fields/NumberField.js +53 -0
- package/dist/editor/fields/NumberField.js.map +1 -0
- package/dist/editor/fields/NumberListField.d.ts +25 -0
- package/dist/editor/fields/NumberListField.d.ts.map +1 -0
- package/dist/editor/fields/NumberListField.js +53 -0
- package/dist/editor/fields/NumberListField.js.map +1 -0
- 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 +183 -58
- 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 +8 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +290 -36
- 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 +29 -15
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +284 -119
- 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/editor/theme.d.ts +8 -8
- package/dist/git-manager.d.ts +175 -14
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +354 -39
- 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 +78 -29
- package/dist/http/handler.js.map +1 -1
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +40 -3
- package/dist/http/router.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-fixtures.d.ts +29 -0
- package/dist/operating-mode/deployment-name-fixtures.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name-fixtures.js +55 -0
- package/dist/operating-mode/deployment-name-fixtures.js.map +1 -0
- package/dist/operating-mode/deployment-name.d.ts +37 -0
- package/dist/operating-mode/deployment-name.d.ts.map +1 -0
- package/dist/operating-mode/deployment-name.js +86 -0
- package/dist/operating-mode/deployment-name.js.map +1 -0
- package/dist/operating-mode/index.d.ts +6 -1
- package/dist/operating-mode/index.d.ts.map +1 -1
- package/dist/operating-mode/index.js +10 -1
- package/dist/operating-mode/index.js.map +1 -1
- package/dist/operating-mode/mode-env.d.ts +58 -0
- package/dist/operating-mode/mode-env.d.ts.map +1 -0
- package/dist/operating-mode/mode-env.js +97 -0
- package/dist/operating-mode/mode-env.js.map +1 -0
- 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/resolve-canopy-user.d.ts +34 -0
- package/dist/resolve-canopy-user.d.ts.map +1 -0
- package/dist/resolve-canopy-user.js +55 -0
- package/dist/resolve-canopy-user.js.map +1 -0
- 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 +64 -4
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +113 -30
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -0
- package/dist/server.js.map +1 -1
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +40 -6
- package/dist/services.js.map +1 -1
- package/dist/settings-workspace.d.ts +27 -2
- package/dist/settings-workspace.d.ts.map +1 -1
- package/dist/settings-workspace.js +142 -58
- package/dist/settings-workspace.js.map +1 -1
- package/dist/types.d.ts +73 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/content-write-lock.d.ts +127 -0
- package/dist/utils/content-write-lock.d.ts.map +1 -0
- package/dist/utils/content-write-lock.js +170 -0
- package/dist/utils/content-write-lock.js.map +1 -0
- 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/error.d.ts +1 -1
- package/dist/utils/error.js +1 -1
- package/dist/utils/git.d.ts +54 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +91 -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/utils/sanitize-href.d.ts +28 -3
- package/dist/utils/sanitize-href.d.ts.map +1 -1
- package/dist/utils/sanitize-href.js +64 -6
- package/dist/utils/sanitize-href.js.map +1 -1
- package/dist/validation/entry-link-validator.d.ts +1 -1
- package/dist/validation/entry-link-validator.js +3 -3
- package/dist/validation/entry-link-validator.js.map +1 -1
- 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/validation/entry-validator.js +1 -1
- package/dist/validation/entry-validator.js.map +1 -1
- package/dist/worker/cms-worker.d.ts +245 -3
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +1084 -253
- 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 +4 -2
|
@@ -87,7 +87,6 @@ const branchStatusColorMap = {
|
|
|
87
87
|
editing: 'brand',
|
|
88
88
|
submitted: 'green',
|
|
89
89
|
approved: 'teal',
|
|
90
|
-
locked: 'yellow',
|
|
91
90
|
};
|
|
92
91
|
const TASK_STATUS_OPTIONS = [
|
|
93
92
|
{ label: 'Pending', value: 'pending' },
|
|
@@ -132,7 +131,9 @@ function OverviewTab({ health }) {
|
|
|
132
131
|
const liveness = workerLivenessBadge(status.worker, status.mode);
|
|
133
132
|
const lastFatalError = status.workerStatus?.lastFatalError;
|
|
134
133
|
const lastGitSync = status.workerStatus?.lastGitSync;
|
|
135
|
-
return (_jsxs(Stack, { gap: "md", children: [error && (_jsx(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), variant: "light", children: error })), _jsxs(Group, { gap: "sm", children: [_jsx(Badge, { color: liveness.color, variant: "light", size: "lg", children: liveness.label }), status.mode === 'dev' && (_jsx(Text, { size: "xs", c: "dimmed", children: "No worker runs in dev mode" }))] }), isRecentFatalError && lastFatalError && (_jsxs(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Worker crash detected", children: [_jsx(Text, { size: "sm", children: lastFatalError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", lastFatalError.at, " (", lastFatalError.phase, ")"] })] })), status.statusReadError && (_jsxs(Text, { size: "xs", c: "orange", children: ["Warning: could not read worker status (", status.statusReadError, ")"] })), status.workerStatus?.lastGitSyncError && (_jsxs(Alert, { color: "orange", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Last git sync failed", children: [_jsx(Text, { size: "sm", children: status.workerStatus.lastGitSyncError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", status.workerStatus.lastGitSyncError.at] })] })), lastGitSync && (_jsxs(Paper, { withBorder: true, p: "sm", radius: "md", children: [_jsx(Text, { size: "sm", fw: 600, children: "Last git sync" }), _jsxs(Text, { size: "xs", c: "dimmed", children: [status.workerStatus?.lastGitSyncAt ?? 'unknown time', " \u00B7 ", lastGitSync.durationMs, "ms \u00B7", ' ', lastGitSync.rebased.length, " rebased \u00B7 ", lastGitSync.skippedDirty.length, " skipped (dirty)"
|
|
134
|
+
return (_jsxs(Stack, { gap: "md", children: [error && (_jsx(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), variant: "light", children: error })), _jsxs(Group, { gap: "sm", children: [_jsx(Badge, { color: liveness.color, variant: "light", size: "lg", children: liveness.label }), status.mode === 'dev' && (_jsx(Text, { size: "xs", c: "dimmed", children: "No worker runs in dev mode" }))] }), isRecentFatalError && lastFatalError && (_jsxs(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Worker crash detected", children: [_jsx(Text, { size: "sm", children: lastFatalError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", lastFatalError.at, " (", lastFatalError.phase, ")"] })] })), status.statusReadError && (_jsxs(Text, { size: "xs", c: "orange", children: ["Warning: could not read worker status (", status.statusReadError, ")"] })), status.workerStatus?.lastGitSyncError && (_jsxs(Alert, { color: "orange", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Last git sync failed", children: [_jsx(Text, { size: "sm", children: status.workerStatus.lastGitSyncError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", status.workerStatus.lastGitSyncError.at] })] })), lastGitSync && (_jsxs(Paper, { withBorder: true, p: "sm", radius: "md", children: [_jsx(Text, { size: "sm", fw: 600, children: "Last git sync" }), _jsxs(Text, { size: "xs", c: "dimmed", children: [status.workerStatus?.lastGitSyncAt ?? 'unknown time', " \u00B7 ", lastGitSync.durationMs, "ms \u00B7", ' ', lastGitSync.rebased.length, " rebased \u00B7 ", lastGitSync.skippedDirty.length, " skipped (dirty)", lastGitSync.skippedLocked && lastGitSync.skippedLocked.length > 0
|
|
135
|
+
? ` · ${lastGitSync.skippedLocked.length} skipped (content write in progress)`
|
|
136
|
+
: ''] }), lastGitSync.failed.length > 0 && (_jsx(Spoiler, { maxHeight: 0, showLabel: `${lastGitSync.failed.length} failed — show details`, hideLabel: "Hide", children: _jsx(Stack, { gap: 4, mt: 4, children: lastGitSync.failed.map((f) => (_jsxs(Text, { size: "xs", c: "red", children: [f.branch, ": ", f.error] }, f.branch))) }) }))] })), _jsx(SimpleGrid, { cols: 5, spacing: "xs", children: ['pending', 'processing', 'completed', 'failed', 'corrupt'].map((key) => (_jsxs(Paper, { withBorder: true, p: "xs", radius: "md", ta: "center", children: [_jsx(Text, { size: "xs", c: "dimmed", tt: "capitalize", children: key }), _jsx(Text, { size: "lg", fw: 700, c: (key === 'failed' || key === 'corrupt') && status.queue[key] > 0 ? 'red' : undefined, children: status.queue[key] })] }, key))) }), status.queue.oldestPendingAgeMs !== undefined && (_jsxs(Text, { size: "xs", c: "dimmed", children: ["Oldest pending task: ", formatAgeMs(status.queue.oldestPendingAgeMs), " old"] })), _jsxs(Group, { justify: "space-between", align: "center", children: [_jsxs(Text, { size: "xs", c: "dimmed", children: ["Generated at ", status.generatedAt] }), _jsx(Button, { size: "xs", variant: "light", onClick: () => refresh(), loading: statusLoading, children: "Refresh" })] }), _jsx(Text, { size: "xs", c: "dimmed", children: "Data may lag up to ~60s (shared-filesystem caching)" })] }));
|
|
136
137
|
}
|
|
137
138
|
// ============================================================================
|
|
138
139
|
// Tasks tab
|
|
@@ -213,15 +214,19 @@ function BranchesTab({ health }) {
|
|
|
213
214
|
function BranchHealthRow({ entry, onMarkMerged, onRepair, onPurge, }) {
|
|
214
215
|
if (entry.kind === 'healthy' && entry.branch) {
|
|
215
216
|
const b = entry.branch;
|
|
216
|
-
// [LOW-3]
|
|
217
|
-
//
|
|
218
|
-
// and 'archived'
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
//
|
|
217
|
+
// [LOW-3] Mirror rebaseActiveBranches' skip logic (worker/cms-worker.ts):
|
|
218
|
+
// the worker rebases every branch except 'submitted'/'approved' (under an
|
|
219
|
+
// active PR) and 'archived' (already merged). Stated as an exclusion list
|
|
220
|
+
// rather than `status === 'editing'` so that a status added later shows its
|
|
221
|
+
// rebase failures by default instead of silently hiding them -- the bug
|
|
222
|
+
// this replaced.
|
|
222
223
|
const showRebaseFailure = !['submitted', 'approved', 'archived'].includes(b.status) && !!b.rebaseFailure;
|
|
223
224
|
const canMarkMerged = (b.status === 'submitted' || b.status === 'approved') && !!b.pullRequestNumber;
|
|
224
|
-
return (_jsxs(Table.Tr, { children: [_jsx(Table.Td, { children: _jsxs(Group, { gap: 4, wrap: "nowrap", children: [_jsx(Text, { size: "sm", children: entry.dirName }), entry.isBaseBranch && (_jsx(Badge, { size: "xs", color: "gray", variant: "outline", children: "base" }))] }) }), _jsx(Table.Td, { children: _jsx(Badge, { color: branchStatusColorMap[b.status] ?? 'neutral', variant: "light", children: b.status }) }), _jsx(Table.Td, { children: b.pullRequestNumber ? (_jsxs(Text, { size: "xs", c: "blue", component: "a", href: b.pullRequestUrl, target: "_blank", rel: "noopener noreferrer", style: { textDecoration: 'underline' }, children: ["PR #", b.pullRequestNumber, b.pullRequestState ? ` (${b.pullRequestState})` : ''] })) : (_jsx(Text, { size: "xs", c: "dimmed", children: "\u2014" })) }), _jsx(Table.Td, { children: b.syncStatus === 'sync-failed' ? (_jsx(Tooltip, { label:
|
|
225
|
+
return (_jsxs(Table.Tr, { children: [_jsx(Table.Td, { children: _jsxs(Group, { gap: 4, wrap: "nowrap", children: [_jsx(Text, { size: "sm", children: entry.dirName }), entry.isBaseBranch && (_jsx(Badge, { size: "xs", color: "gray", variant: "outline", children: "base" }))] }) }), _jsx(Table.Td, { children: _jsx(Badge, { color: branchStatusColorMap[b.status] ?? 'neutral', variant: "light", children: b.status }) }), _jsx(Table.Td, { children: b.pullRequestNumber ? (_jsxs(Text, { size: "xs", c: "blue", component: "a", href: b.pullRequestUrl, target: "_blank", rel: "noopener noreferrer", style: { textDecoration: 'underline' }, children: ["PR #", b.pullRequestNumber, b.pullRequestState ? ` (${b.pullRequestState})` : ''] })) : (_jsx(Text, { size: "xs", c: "dimmed", children: "\u2014" })) }), _jsx(Table.Td, { children: b.syncStatus === 'sync-failed' ? (_jsx(Tooltip, { label: b.syncFailureReason
|
|
226
|
+
? `${b.syncFailureReason} — retry from the Tasks tab`
|
|
227
|
+
: 'GitHub sync failed — retry from the Tasks tab', multiline: true, maw: 320, children: _jsx(Badge, { color: "red", variant: "light", children: "sync-failed" }) })) : b.syncStatus === 'pending-sync' ? (_jsx(Badge, { color: "gray", variant: "light", children: "pending-sync" })) : null }), _jsx(Table.Td, { children: _jsxs(Group, { gap: 6, wrap: "nowrap", children: [!!b.conflictFiles?.length && (_jsxs(Badge, { color: "orange", variant: "light", children: [b.conflictFiles.length, " conflict", b.conflictFiles.length === 1 ? '' : 's'] })), showRebaseFailure && b.rebaseFailure && (_jsx(Tooltip, { label: `${b.rebaseFailure.message} (failing since ${b.rebaseFailure.firstAt})`, multiline: true, maw: 320, children: _jsx(ThemeIcon, { color: "yellow", variant: "light", size: "sm", radius: "xl", "data-testid": `rebase-failure-${entry.dirName}`, children: _jsx(IconAlertTriangle, { size: 12 }) }) })), !!entry.duplicateContentIds?.length && (_jsx(Tooltip, { label: entry.duplicateContentIds
|
|
228
|
+
.map((d) => `${d.id}: kept ${d.keptPath}; also on ${d.droppedPaths.join(', ')}`)
|
|
229
|
+
.join('\n'), multiline: true, maw: 420, style: { whiteSpace: 'pre-line' }, children: _jsxs(Badge, { color: "orange", variant: "light", "data-testid": `duplicate-content-ids-${entry.dirName}`, children: [entry.duplicateContentIds.length, " duplicate ID", entry.duplicateContentIds.length === 1 ? '' : 's'] }) }))] }) }), _jsx(Table.Td, { children: _jsx(Text, { size: "xs", c: "dimmed", children: b.updatedAt }) }), _jsx(Table.Td, { children: canMarkMerged && (_jsx(Button, { size: "xs", variant: "light", "data-testid": `mark-merged-${b.name}`, onClick: () => onMarkMerged(b.name), children: "Mark merged" })) })] }));
|
|
225
230
|
}
|
|
226
231
|
if (entry.kind === 'corrupt-metadata') {
|
|
227
232
|
const purgeGate = purgeGateFor(entry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemHealthPanel.js","sourceRoot":"","sources":["../../../src/editor/admin/SystemHealthPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SystemHealthPanel.js","sourceRoot":"","sources":["../../../src/editor/admin/SystemHealthPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -140,6 +140,12 @@ export interface EditorHeaderProps {
|
|
|
140
140
|
* Disables Save and shows the "create a branch" banner below. Default false.
|
|
141
141
|
*/
|
|
142
142
|
branchReadOnly?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Server-computed: content writes are rejected on this branch, for either
|
|
145
|
+
* reason (base-branch read-only, or a status past 'editing'). Combined with
|
|
146
|
+
* `branchReadOnly` to pick which of the two banners to show. Default false.
|
|
147
|
+
*/
|
|
148
|
+
branchWriteBlocked?: boolean;
|
|
143
149
|
}
|
|
144
150
|
/**
|
|
145
151
|
* Header component for the Editor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAE5B;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAExD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAA;IAE3B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAA;IAExB;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnC;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEpE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAE5B;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAExD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAA;IAE3B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAA;IAExB;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnC;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEpE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,8GAkavB,CAAA"}
|
|
@@ -13,7 +13,6 @@ const getStatusColor = (status) => {
|
|
|
13
13
|
editing: 'brand',
|
|
14
14
|
submitted: 'green',
|
|
15
15
|
approved: 'teal',
|
|
16
|
-
locked: 'yellow',
|
|
17
16
|
archived: 'gray',
|
|
18
17
|
};
|
|
19
18
|
return statusColorMap[status] ?? 'gray';
|
|
@@ -50,12 +49,32 @@ const getStatusColor = (status) => {
|
|
|
50
49
|
* />
|
|
51
50
|
* ```
|
|
52
51
|
*/
|
|
53
|
-
export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSubtitle, headerTitle, currentEntry, branchName, operatingMode, busy, breadcrumbSegments, editedFiles, modifiedCount, unresolvedCommentCount: _, comments, onNavigatorOpen, onFileReload, onFileDiscardDraft, onEntrySelect, onBranchReloadData, onBranchDiscardDrafts, onBranchManagerOpen, onCommentsPanelOpen, onSave, onSubmit, hasUnsavedChanges, branchStatus, onWithdraw, userContext, branchCreatedBy, branchAccess, branchIsProtected = false, branchReadOnly = false, }, ref) {
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
|
|
52
|
+
export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSubtitle, headerTitle, currentEntry, branchName, operatingMode, busy, breadcrumbSegments, editedFiles, modifiedCount, unresolvedCommentCount: _, comments, onNavigatorOpen, onFileReload, onFileDiscardDraft, onEntrySelect, onBranchReloadData, onBranchDiscardDrafts, onBranchManagerOpen, onCommentsPanelOpen, onSave, onSubmit, hasUnsavedChanges, branchStatus, onWithdraw, userContext, branchCreatedBy, branchAccess, branchIsProtected = false, branchReadOnly = false, branchWriteBlocked = false, }, ref) {
|
|
53
|
+
// `branchWriteBlocked` is the server's own answer (getBranchProtection, the
|
|
54
|
+
// same call the writableBranch guard makes), so Save can never be enabled for
|
|
55
|
+
// a write the API would reject. `branchReadOnly` only picks WHICH banner: the
|
|
56
|
+
// base branch's is a structural property and takes precedence over a workflow
|
|
57
|
+
// status lock.
|
|
58
|
+
const statusLocked = branchWriteBlocked && !branchReadOnly;
|
|
59
|
+
// The lock now fails CLOSED while the branch list is unresolved (Editor.tsx's
|
|
60
|
+
// `branchContentLocked` is `?? true`), which is right -- but `branchStatus` is
|
|
61
|
+
// `currentBranch?.status`, i.e. undefined in that same window. Without this
|
|
62
|
+
// distinction every banner and tooltip below interpolated it directly and read
|
|
63
|
+
// `Branch "main" is undefined - content is read-only`, on ordinary initial load
|
|
64
|
+
// and permanently after a failed branches fetch. Worse under version skew,
|
|
65
|
+
// where the status IS known ('editing') and the copy would assert a status
|
|
66
|
+
// lock the status plainly contradicts. So: locked, but say why honestly.
|
|
67
|
+
//
|
|
68
|
+
// Provably behavior-neutral for supported deployments: writeBlocked =
|
|
69
|
+
// readOnly || status !== 'editing', so when status === 'editing' that
|
|
70
|
+
// reduces to writeBlocked === readOnly. statusLocked = branchWriteBlocked
|
|
71
|
+
// && !branchReadOnly, so the new 'editing' arm below would require
|
|
72
|
+
// readOnly && !readOnly -- impossible. It is unreachable against any
|
|
73
|
+
// current server and only changes what renders under version skew (an old
|
|
74
|
+
// server that omits writeBlocked while still sending status: 'editing'),
|
|
75
|
+
// where it replaces the self-contradicting "Branch is editing — content is
|
|
76
|
+
// read-only" with the honest data-unavailable copy.
|
|
77
|
+
const branchDataUnavailable = statusLocked && (branchStatus === undefined || branchStatus === 'editing');
|
|
59
78
|
return (_jsx(Paper, { ref: ref, shadow: "md", withBorder: true, radius: 0, px: 0, py: 0, style: {
|
|
60
79
|
position: 'fixed',
|
|
61
80
|
top: 0,
|
|
@@ -87,13 +106,15 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
|
|
|
87
106
|
fontWeight: 600,
|
|
88
107
|
}, children: comments.filter((t) => !t.resolved).length }))] }))] })] }), _jsxs(Group, { gap: "xs", wrap: "nowrap", children: [_jsx(Tooltip, { label: branchReadOnly
|
|
89
108
|
? 'The base branch is read-only'
|
|
90
|
-
:
|
|
91
|
-
?
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
:
|
|
109
|
+
: branchDataUnavailable
|
|
110
|
+
? 'Branch details are still loading — saving is disabled until they arrive'
|
|
111
|
+
: statusLocked
|
|
112
|
+
? branchStatus === 'submitted'
|
|
113
|
+
? 'This branch is submitted for review — withdraw it to make changes'
|
|
114
|
+
: `This branch is ${branchStatus} — content is read-only`
|
|
115
|
+
: !hasUnsavedChanges && currentEntry
|
|
116
|
+
? 'No changes to save'
|
|
117
|
+
: '', disabled: !branchReadOnly && !statusLocked && (hasUnsavedChanges || !currentEntry), children: _jsx(Button, { "data-testid": "save-button", variant: "light", size: "sm", onClick: onSave, disabled: !branchName ||
|
|
97
118
|
!currentEntry ||
|
|
98
119
|
busy ||
|
|
99
120
|
!hasUnsavedChanges ||
|
|
@@ -101,11 +122,17 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
|
|
|
101
122
|
statusLocked, children: "Save File" }) }), (() => {
|
|
102
123
|
const isSubmitted = branchStatus === 'submitted';
|
|
103
124
|
const isEditing = branchStatus === 'editing';
|
|
125
|
+
// 'approved' withdraws too -- it is that status's only
|
|
126
|
+
// non-destructive exit now that the submit status gate refuses a
|
|
127
|
+
// non-editing branch (api/branch-status.ts, api/branch-withdraw.ts).
|
|
128
|
+
// This button is a two-state toggle, so every withdrawable status
|
|
129
|
+
// has to drive the withdraw side of it, not just 'submitted'.
|
|
130
|
+
const isWithdrawable = isSubmitted || branchStatus === 'approved';
|
|
104
131
|
// The protected base branch can never be submitted for review (both
|
|
105
132
|
// modes); hide the button entirely rather than showing it disabled.
|
|
106
133
|
// Withdraw stays available as the recovery path for a base branch
|
|
107
134
|
// wrongly stuck in 'submitted'.
|
|
108
|
-
if (branchIsProtected && !
|
|
135
|
+
if (branchIsProtected && !isWithdrawable)
|
|
109
136
|
return null;
|
|
110
137
|
// Check if user can perform workflow actions (creator OR ACL access OR system
|
|
111
138
|
// branch OR privileged). Admins/Reviewers must be able to withdraw a protected
|
|
@@ -120,13 +147,39 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
|
|
|
120
147
|
userContext.groups?.some((g) => branchAccess.allowedGroups?.includes(g)));
|
|
121
148
|
const userIsPrivileged = !!userContext &&
|
|
122
149
|
(isAdmin(userContext.groups ?? []) || isReviewer(userContext.groups ?? []));
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
150
|
+
const userHasPermission = userIsCreator || userInACL || isSystemBranch || userIsPrivileged;
|
|
151
|
+
// A status with no available transition (today: 'archived') is a
|
|
152
|
+
// separate condition from lacking permission, and conflating them
|
|
153
|
+
// sent people to an admin to fix a non-permissions problem.
|
|
154
|
+
const statusHasAction = isEditing || isWithdrawable;
|
|
155
|
+
const canPerformAction = userHasPermission && statusHasAction;
|
|
156
|
+
return (_jsx(Tooltip, { label:
|
|
157
|
+
// The unknown-status arm mirrors the banner's: with no
|
|
158
|
+
// branch data, `statusHasAction` is false (undefined is
|
|
159
|
+
// neither 'editing' nor withdrawable) and this label used
|
|
160
|
+
// to interpolate it as "This branch is undefined and has
|
|
161
|
+
// no submit or withdraw action available".
|
|
162
|
+
//
|
|
163
|
+
// Latent rather than live TODAY, and only by accident:
|
|
164
|
+
// Editor.tsx passes `branchIsProtected={... ?? true}` since
|
|
165
|
+
// the fail-closed change, so in that same window the early
|
|
166
|
+
// return above (`branchIsProtected && !isWithdrawable`)
|
|
167
|
+
// unmounts this button before the tooltip can render. That
|
|
168
|
+
// is one guard away from being user-visible -- relax the
|
|
169
|
+
// `?? true`, or pass `branchIsProtected={false}` from
|
|
170
|
+
// anywhere, and the copy is live. Guarding it here rather
|
|
171
|
+
// than relying on an unrelated condition to keep hiding it.
|
|
172
|
+
branchStatus === undefined
|
|
173
|
+
? 'Branch data could not be loaded, so no submit or withdraw action is available'
|
|
174
|
+
: !statusHasAction
|
|
175
|
+
? `This branch is ${branchStatus} and has no submit or withdraw action available`
|
|
176
|
+
: !userHasPermission
|
|
177
|
+
? 'You do not have permission to submit or withdraw this branch'
|
|
178
|
+
: '', disabled: canPerformAction, children: _jsx(Button, { size: "sm", color: isWithdrawable ? 'orange' : 'brand', onClick: isWithdrawable ? onWithdraw : onSubmit, disabled: !branchName || busy || !canPerformAction, "data-testid": isWithdrawable ? 'withdraw-button' : 'submit-button', children: isWithdrawable ? 'Withdraw Branch...' : 'Submit Branch...' }) }));
|
|
179
|
+
})()] })] }), branchReadOnly && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "protected-branch-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: `You are viewing the protected base branch "${branchName}". Content is read-only — create a branch to make changes.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Create a branch" })] }) })), statusLocked && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "status-locked-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: branchDataUnavailable
|
|
180
|
+
? `Branch details for "${branchName}" could not be loaded, so content is locked until they arrive. Use Manage Branches to retry.`
|
|
181
|
+
: branchStatus === 'submitted'
|
|
182
|
+
? `Branch "${branchName}" is submitted for review and locked for edits. Use Withdraw Branch above to resume editing.`
|
|
183
|
+
: `Branch "${branchName}" is ${branchStatus} — content is read-only.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Manage Branches" })] }) }))] }) }));
|
|
131
184
|
});
|
|
132
185
|
//# sourceMappingURL=EditorHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorHeader.js","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAK9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorHeader.js","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,14 @@ export interface EntryCreateModalProps {
|
|
|
22
22
|
isCreating?: boolean;
|
|
23
23
|
/** Error message to display */
|
|
24
24
|
error?: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Slugs already taken in the target collection (from the already-loaded
|
|
27
|
+
* entries list). Used to reject an obvious collision client-side with a
|
|
28
|
+
* clear message, instead of the server returning a 409 (or, for entry
|
|
29
|
+
* types with no required fields, silently succeeding via an update path
|
|
30
|
+
* that never mentions the real problem).
|
|
31
|
+
*/
|
|
32
|
+
existingSlugs?: Set<string>;
|
|
25
33
|
}
|
|
26
|
-
export declare function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating, error, }: EntryCreateModalProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export declare function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating, error, existingSlugs, }: EntryCreateModalProps): import("react/jsx-runtime").JSX.Element;
|
|
27
35
|
//# sourceMappingURL=EntryCreateModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryCreateModal.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntryCreateModal.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,UAAkB,EAClB,KAAY,EACZ,aAAa,GACd,EAAE,qBAAqB,2CA6JvB"}
|
|
@@ -8,10 +8,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
* - Entering slug for new entry
|
|
9
9
|
* - Validation and error handling
|
|
10
10
|
*/
|
|
11
|
-
import { useState, useEffect } from 'react';
|
|
11
|
+
import { useState, useEffect, useRef } from 'react';
|
|
12
12
|
import { Modal, Stack, TextInput, Group, Button, Alert, Text, Select } from '@mantine/core';
|
|
13
13
|
import { IconAlertCircle } from '@tabler/icons-react';
|
|
14
|
-
|
|
14
|
+
/** Slug the form is seeded with each time the modal opens. */
|
|
15
|
+
const DEFAULT_SLUG = 'untitled';
|
|
16
|
+
export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating = false, error = null, existingSlugs, }) {
|
|
15
17
|
// Helper to get default or first entry type
|
|
16
18
|
const getDefaultEntryTypeName = () => {
|
|
17
19
|
if (selectedEntryTypeName)
|
|
@@ -22,18 +24,31 @@ export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selected
|
|
|
22
24
|
const defaultType = entryTypes.find((et) => et.default);
|
|
23
25
|
return defaultType?.name || entryTypes[0]?.name || '';
|
|
24
26
|
};
|
|
25
|
-
const [slug, setSlug] = useState(
|
|
27
|
+
const [slug, setSlug] = useState(DEFAULT_SLUG);
|
|
26
28
|
const [entryTypeName, setEntryTypeName] = useState(getDefaultEntryTypeName());
|
|
27
29
|
const [validationError, setValidationError] = useState(null);
|
|
28
|
-
//
|
|
30
|
+
// Seed the form once per open, on the closed -> open transition.
|
|
31
|
+
//
|
|
32
|
+
// This deliberately keys on `isOpen` alone. It used to key on the prop
|
|
33
|
+
// *values* (`[isOpen, selectedEntryTypeName, entryTypes]`), but `entryTypes`
|
|
34
|
+
// is an array that callers build inline - a fresh identity on every parent
|
|
35
|
+
// render - so any re-render while the modal was open re-ran this block and
|
|
36
|
+
// silently discarded what the user had typed or selected. The entry was then
|
|
37
|
+
// written to disk under the default slug with no error surfaced.
|
|
38
|
+
//
|
|
39
|
+
// Seeding is a lifecycle event, not a derivation of the current props, so the
|
|
40
|
+
// narrow dep array is the point. Do not "fix" it by adding the props read
|
|
41
|
+
// below (`entryTypes`, `selectedEntryTypeName`) back in.
|
|
42
|
+
const wasOpenRef = useRef(false);
|
|
29
43
|
useEffect(() => {
|
|
30
|
-
if (isOpen) {
|
|
31
|
-
setSlug(
|
|
44
|
+
if (isOpen && !wasOpenRef.current) {
|
|
45
|
+
setSlug(DEFAULT_SLUG);
|
|
32
46
|
setEntryTypeName(getDefaultEntryTypeName());
|
|
33
47
|
setValidationError(null);
|
|
34
48
|
}
|
|
49
|
+
wasOpenRef.current = isOpen;
|
|
35
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
|
-
}, [isOpen
|
|
51
|
+
}, [isOpen]);
|
|
37
52
|
// Validate slug format
|
|
38
53
|
const validateSlug = (value) => {
|
|
39
54
|
if (!value.trim()) {
|
|
@@ -49,6 +64,9 @@ export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selected
|
|
|
49
64
|
if (value.length > 64) {
|
|
50
65
|
return 'Slug must be 64 characters or less';
|
|
51
66
|
}
|
|
67
|
+
if (existingSlugs?.has(value)) {
|
|
68
|
+
return 'An entry with this slug already exists';
|
|
69
|
+
}
|
|
52
70
|
return null;
|
|
53
71
|
};
|
|
54
72
|
const handleSlugChange = (value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryCreateModal.js","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EntryCreateModal.js","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SWR configuration for the editor's data-fetching hooks (useBranchesData,
|
|
3
|
+
* useEntriesData, useCommentsData). Centralizing config here means every
|
|
4
|
+
* consumer gets the same dedup/cache behavior without repeating options.
|
|
5
|
+
*
|
|
6
|
+
* - revalidateOnFocus: false -- the editor isn't a live dashboard that needs
|
|
7
|
+
* to snap back to fresh data whenever the tab regains focus; a few
|
|
8
|
+
* seconds of staleness is harmless, and refetching on every alt-tab is
|
|
9
|
+
* just extra load against the branch clone.
|
|
10
|
+
* - shouldRetryOnError: false -- matches the hooks' pre-SWR behavior, which
|
|
11
|
+
* surfaced a single failure (notification + console.error) rather than
|
|
12
|
+
* silently retrying in the background.
|
|
13
|
+
* - provider: () => new Map() -- gives the editor its own cache instead of
|
|
14
|
+
* SWR's module-global one, so editor keys ("canopy:entries:main", ...) can
|
|
15
|
+
* never collide with an SWR cache the host app is running for its own data.
|
|
16
|
+
* `editor/hooks/__test__/test-utils.tsx` already mandates this for tests,
|
|
17
|
+
* with a comment about exactly that collision; production had been relying
|
|
18
|
+
* on the module global. Mounted once (CanopyEditor.tsx), so the cache spans
|
|
19
|
+
* the whole editor session.
|
|
20
|
+
* - dedupingInterval: 2000 -- collapses the duplicate requests React Strict
|
|
21
|
+
* Mode's mount -> cleanup -> remount cycle produces (each hook's
|
|
22
|
+
* automatic on-mount fetch runs twice), plus any accidental
|
|
23
|
+
* near-simultaneous mounts of the same resource. See swr.md /
|
|
24
|
+
* editor-async-patterns.md (2026-07-24 decision) for the background.
|
|
25
|
+
*/
|
|
26
|
+
import React from 'react';
|
|
27
|
+
export interface SWRProviderProps {
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
}
|
|
30
|
+
export declare function SWRProvider({ children }: SWRProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=SWRProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SWRProvider.d.ts","sourceRoot":"","sources":["../../../src/editor/context/SWRProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAazD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { SWRConfig } from 'swr';
|
|
4
|
+
export function SWRProvider({ children }) {
|
|
5
|
+
return (_jsx(SWRConfig, { value: {
|
|
6
|
+
provider: () => new Map(),
|
|
7
|
+
revalidateOnFocus: false,
|
|
8
|
+
shouldRetryOnError: false,
|
|
9
|
+
dedupingInterval: 2000,
|
|
10
|
+
}, children: children }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=SWRProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SWRProvider.js","sourceRoot":"","sources":["../../../src/editor/context/SWRProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA6BZ,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAM/B,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAoB;IACxD,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;YACzB,iBAAiB,EAAE,KAAK;YACxB,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,IAAI;SACvB,YAEA,QAAQ,GACC,CACb,CAAA;AACH,CAAC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* - ApiClientContext: Dependency injection for API client (context-based pattern)
|
|
7
7
|
* - EditorStateContext: Loading states, modal states, preview data
|
|
8
|
+
* - SWRProvider: SWR cache config for the fetch-on-load data hooks (see
|
|
9
|
+
* hooks/useBranchesData.ts, useEntriesData.ts, useCommentsData.ts)
|
|
8
10
|
*
|
|
9
11
|
* Usage:
|
|
10
12
|
* ```tsx
|
|
@@ -17,5 +19,6 @@
|
|
|
17
19
|
*/
|
|
18
20
|
export { ApiClientProvider, useApiClient, useOptionalApiClient, type ApiClient, type ApiClientProviderProps, } from './ApiClientContext';
|
|
19
21
|
export { AssetContextProvider, useAssetContext, type AssetContextValue, type AssetContextProviderProps, } from './AssetContext';
|
|
22
|
+
export { SWRProvider, type SWRProviderProps } from './SWRProvider';
|
|
20
23
|
export { EditorStateProvider, useEditorState, useEditorLoading, useEditorModals, useEditorPreview, type EditorState, type EditorStateActions, type EditorStateContextValue, type EditorStateProviderProps, type LoadingState, type ModalState, type PreviewState, } from './EditorStateContext';
|
|
21
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/context/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAA"}
|