@actuate-media/cms-admin 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/__tests__/lib/page-editor-service-api.test.d.ts +2 -0
  2. package/dist/__tests__/lib/page-editor-service-api.test.d.ts.map +1 -0
  3. package/dist/__tests__/lib/page-editor-service-api.test.js +155 -0
  4. package/dist/__tests__/lib/page-editor-service-api.test.js.map +1 -0
  5. package/dist/__tests__/lib/pages-service-fetch.test.d.ts +2 -0
  6. package/dist/__tests__/lib/pages-service-fetch.test.d.ts.map +1 -0
  7. package/dist/__tests__/lib/pages-service-fetch.test.js +125 -0
  8. package/dist/__tests__/lib/pages-service-fetch.test.js.map +1 -0
  9. package/dist/__tests__/lib/post-editor-service.test.js +75 -23
  10. package/dist/__tests__/lib/post-editor-service.test.js.map +1 -1
  11. package/dist/__tests__/lib/posts-service.test.js +132 -142
  12. package/dist/__tests__/lib/posts-service.test.js.map +1 -1
  13. package/dist/__tests__/views/page-section-editor.test.d.ts +2 -0
  14. package/dist/__tests__/views/page-section-editor.test.d.ts.map +1 -0
  15. package/dist/__tests__/views/page-section-editor.test.js +56 -0
  16. package/dist/__tests__/views/page-section-editor.test.js.map +1 -0
  17. package/dist/__tests__/views/pages-list-view.test.d.ts +2 -0
  18. package/dist/__tests__/views/pages-list-view.test.d.ts.map +1 -0
  19. package/dist/__tests__/views/pages-list-view.test.js +102 -0
  20. package/dist/__tests__/views/pages-list-view.test.js.map +1 -0
  21. package/dist/__tests__/views/posts-list-view.render.test.d.ts +2 -0
  22. package/dist/__tests__/views/posts-list-view.render.test.d.ts.map +1 -0
  23. package/dist/__tests__/views/posts-list-view.render.test.js +73 -0
  24. package/dist/__tests__/views/posts-list-view.render.test.js.map +1 -0
  25. package/dist/actuate-admin.css +1 -1
  26. package/dist/index.d.ts +0 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +0 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/page-editor-service.d.ts +1 -0
  31. package/dist/lib/page-editor-service.d.ts.map +1 -1
  32. package/dist/lib/page-editor-service.js +55 -0
  33. package/dist/lib/page-editor-service.js.map +1 -1
  34. package/dist/lib/pages-service.d.ts +26 -0
  35. package/dist/lib/pages-service.d.ts.map +1 -1
  36. package/dist/lib/pages-service.js +65 -38
  37. package/dist/lib/pages-service.js.map +1 -1
  38. package/dist/lib/post-editor-service.d.ts +6 -4
  39. package/dist/lib/post-editor-service.d.ts.map +1 -1
  40. package/dist/lib/post-editor-service.js +32 -37
  41. package/dist/lib/post-editor-service.js.map +1 -1
  42. package/dist/lib/posts-service.d.ts.map +1 -1
  43. package/dist/lib/posts-service.js +91 -160
  44. package/dist/lib/posts-service.js.map +1 -1
  45. package/dist/views/Pages/PagesListView.d.ts.map +1 -1
  46. package/dist/views/Pages/PagesListView.js +71 -46
  47. package/dist/views/Pages/PagesListView.js.map +1 -1
  48. package/dist/views/Posts/NewPostPicker.d.ts +5 -4
  49. package/dist/views/Posts/NewPostPicker.d.ts.map +1 -1
  50. package/dist/views/Posts/NewPostPicker.js +5 -4
  51. package/dist/views/Posts/NewPostPicker.js.map +1 -1
  52. package/dist/views/Posts/PostTypesView.d.ts +5 -4
  53. package/dist/views/Posts/PostTypesView.d.ts.map +1 -1
  54. package/dist/views/Posts/PostTypesView.js.map +1 -1
  55. package/dist/views/Posts/PostsListView.d.ts.map +1 -1
  56. package/dist/views/Posts/PostsListView.js +8 -0
  57. package/dist/views/Posts/PostsListView.js.map +1 -1
  58. package/dist/views/page-editor/PagePreview.d.ts.map +1 -1
  59. package/dist/views/page-editor/PagePreview.js +10 -1
  60. package/dist/views/page-editor/PagePreview.js.map +1 -1
  61. package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
  62. package/dist/views/page-editor/PageSectionEditor.js +22 -2
  63. package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
  64. package/dist/views/page-editor/sections/ArticleBodySection.d.ts +6 -2
  65. package/dist/views/page-editor/sections/ArticleBodySection.d.ts.map +1 -1
  66. package/dist/views/page-editor/sections/ArticleBodySection.js +8 -8
  67. package/dist/views/page-editor/sections/ArticleBodySection.js.map +1 -1
  68. package/dist/views/post-editor/PostEditorCanvas.js +7 -1
  69. package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
  70. package/dist/views/post-editor/PostFieldsModal.d.ts.map +1 -1
  71. package/dist/views/post-editor/PostFieldsModal.js +10 -4
  72. package/dist/views/post-editor/PostFieldsModal.js.map +1 -1
  73. package/dist/views/post-editor/PostHeader.d.ts.map +1 -1
  74. package/dist/views/post-editor/PostHeader.js +4 -3
  75. package/dist/views/post-editor/PostHeader.js.map +1 -1
  76. package/dist/views/post-editor/PostPreview.d.ts.map +1 -1
  77. package/dist/views/post-editor/PostPreview.js +11 -1
  78. package/dist/views/post-editor/PostPreview.js.map +1 -1
  79. package/dist/views/post-editor/PostSectionEditor.d.ts +22 -2
  80. package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
  81. package/dist/views/post-editor/PostSectionEditor.js +4 -1
  82. package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
  83. package/package.json +2 -2
  84. package/src/__tests__/lib/page-editor-service-api.test.ts +180 -0
  85. package/src/__tests__/lib/pages-service-fetch.test.ts +160 -0
  86. package/src/__tests__/lib/post-editor-service.test.ts +78 -23
  87. package/src/__tests__/lib/posts-service.test.ts +134 -163
  88. package/src/__tests__/views/page-section-editor.test.tsx +65 -0
  89. package/src/__tests__/views/pages-list-view.test.tsx +119 -0
  90. package/src/__tests__/views/posts-list-view.render.test.tsx +84 -0
  91. package/src/index.ts +0 -2
  92. package/src/lib/page-editor-service.ts +61 -0
  93. package/src/lib/pages-service.ts +88 -35
  94. package/src/lib/post-editor-service.ts +41 -40
  95. package/src/lib/posts-service.ts +109 -180
  96. package/src/views/Pages/PagesListView.tsx +113 -82
  97. package/src/views/Posts/NewPostPicker.tsx +5 -4
  98. package/src/views/Posts/PostTypesView.tsx +5 -4
  99. package/src/views/Posts/PostsListView.tsx +9 -0
  100. package/src/views/page-editor/PagePreview.tsx +10 -1
  101. package/src/views/page-editor/PageSectionEditor.tsx +25 -1
  102. package/src/views/page-editor/sections/ArticleBodySection.tsx +12 -16
  103. package/src/views/post-editor/PostEditorCanvas.tsx +7 -1
  104. package/src/views/post-editor/PostFieldsModal.tsx +36 -21
  105. package/src/views/post-editor/PostHeader.tsx +4 -4
  106. package/src/views/post-editor/PostPreview.tsx +12 -1
  107. package/src/views/post-editor/PostSectionEditor.tsx +22 -5
  108. package/dist/views/PostEditor.d.ts +0 -6
  109. package/dist/views/PostEditor.d.ts.map +0 -1
  110. package/dist/views/PostEditor.js +0 -79
  111. package/dist/views/PostEditor.js.map +0 -1
  112. package/dist/views/Posts.d.ts +0 -5
  113. package/dist/views/Posts.d.ts.map +0 -1
  114. package/dist/views/Posts.js +0 -73
  115. package/dist/views/Posts.js.map +0 -1
  116. package/src/views/PostEditor.tsx +0 -257
  117. package/src/views/Posts.tsx +0 -375
@@ -1 +1 @@
1
- {"version":3,"file":"PostEditorCanvas.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostEditorCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostEditorCanvas.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostEditorCanvas.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostFieldsModal.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostFieldsModal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;CAC7C;AAcD,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAuK7F"}
1
+ {"version":3,"file":"PostFieldsModal.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostFieldsModal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;CAC7C;AAcD,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAoL7F"}
@@ -3,6 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useEffect, useState } from 'react';
4
4
  import { Modal } from '../../components/ui/Modal.js';
5
5
  import { Button } from '../../components/ui/Button.js';
6
+ import { MediaPickerModal } from '../../components/MediaPickerModal.js';
7
+ import { RichTextField } from '../../fields/RichTextField.js';
6
8
  const LABEL = 'text-foreground mb-1 block text-xs font-medium';
7
9
  const INPUT = 'border-input bg-input-background text-foreground focus-visible:ring-ring w-full rounded-md border px-2.5 py-1.5 text-sm focus-visible:ring-2 focus-visible:outline-none';
8
10
  function slugify(value) {
@@ -23,6 +25,7 @@ export function PostFieldsModal({ open, post, canEdit, onClose, onSave }) {
23
25
  const [seoTitle, setSeoTitle] = useState(post.seoTitle);
24
26
  const [seoDescription, setSeoDescription] = useState(post.seoDescription);
25
27
  const [slugTouched, setSlugTouched] = useState(Boolean(post.slug));
28
+ const [mediaOpen, setMediaOpen] = useState(false);
26
29
  useEffect(() => {
27
30
  if (!open)
28
31
  return;
@@ -45,9 +48,12 @@ export function PostFieldsModal({ open, post, canEdit, onClose, onSave }) {
45
48
  onSave({ title, slug, excerpt, featuredImage, category, body, seoTitle, seoDescription });
46
49
  onClose();
47
50
  }
48
- return (_jsx(Modal, { open: open, onClose: onClose, title: "Post details", actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", onClick: onClose, children: "Cancel" }), _jsx(Button, { variant: "primary", onClick: handleSave, disabled: !canEdit, children: "Done" })] }), children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsxs("label", { className: LABEL, htmlFor: "pf-title", children: ["Title ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "pf-title", className: INPUT, value: title, disabled: !canEdit, onChange: (e) => handleTitle(e.target.value) })] }), _jsxs("div", { className: "grid grid-cols-2 gap-3", children: [_jsxs("div", { children: [_jsxs("label", { className: LABEL, htmlFor: "pf-slug", children: ["Slug ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "pf-slug", className: INPUT, value: slug, disabled: !canEdit, onChange: (e) => {
49
- setSlugTouched(true);
50
- setSlug(slugify(e.target.value));
51
- } })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-category", children: "Category" }), _jsx("input", { id: "pf-category", className: INPUT, value: category, disabled: !canEdit, placeholder: "e.g. Product", onChange: (e) => setCategory(e.target.value) })] })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-excerpt", children: "Excerpt" }), _jsx("textarea", { id: "pf-excerpt", className: `${INPUT} min-h-[60px] resize-y`, value: excerpt, disabled: !canEdit, placeholder: "A short summary shown in listings and the header.", onChange: (e) => setExcerpt(e.target.value) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-image", children: "Featured image URL" }), _jsx("input", { id: "pf-image", className: INPUT, value: featuredImage, disabled: !canEdit, placeholder: "https://\u2026", onChange: (e) => setFeaturedImage(e.target.value) }), featuredImage && (_jsx("div", { className: "border-border bg-muted mt-2 overflow-hidden rounded-md border", children: _jsx("img", { src: featuredImage, alt: "", className: "h-28 w-full object-cover" }) }))] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-body", children: "Body" }), _jsx("textarea", { id: "pf-body", className: `${INPUT} min-h-[120px] resize-y`, value: body, disabled: !canEdit, placeholder: "The main post content. Shown by the Article Body section.", onChange: (e) => setBody(e.target.value) }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "Rendered by the Article Body section when its source is set to the post Body field." })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-seo-title", children: "SEO title" }), _jsx("input", { id: "pf-seo-title", className: INPUT, value: seoTitle, disabled: !canEdit, onChange: (e) => setSeoTitle(e.target.value) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-seo-desc", children: "SEO description" }), _jsx("textarea", { id: "pf-seo-desc", className: `${INPUT} min-h-[60px] resize-y`, value: seoDescription, disabled: !canEdit, onChange: (e) => setSeoDescription(e.target.value) })] })] }) }));
51
+ return (_jsxs(Modal, { open: open, onClose: onClose, title: "Post details", actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", onClick: onClose, children: "Cancel" }), _jsx(Button, { variant: "primary", onClick: handleSave, disabled: !canEdit, children: "Done" })] }), children: [_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsxs("label", { className: LABEL, htmlFor: "pf-title", children: ["Title ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "pf-title", className: INPUT, value: title, disabled: !canEdit, onChange: (e) => handleTitle(e.target.value) })] }), _jsxs("div", { className: "grid grid-cols-2 gap-3", children: [_jsxs("div", { children: [_jsxs("label", { className: LABEL, htmlFor: "pf-slug", children: ["Slug ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "pf-slug", className: INPUT, value: slug, disabled: !canEdit, onChange: (e) => {
52
+ setSlugTouched(true);
53
+ setSlug(slugify(e.target.value));
54
+ } })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-category", children: "Category" }), _jsx("input", { id: "pf-category", className: INPUT, value: category, disabled: !canEdit, placeholder: "e.g. Product", onChange: (e) => setCategory(e.target.value) })] })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-excerpt", children: "Excerpt" }), _jsx("textarea", { id: "pf-excerpt", className: `${INPUT} min-h-[60px] resize-y`, value: excerpt, disabled: !canEdit, placeholder: "A short summary shown in listings and the header.", onChange: (e) => setExcerpt(e.target.value) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-image", children: "Featured image" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("input", { id: "pf-image", className: `${INPUT} flex-1`, value: featuredImage, disabled: !canEdit, placeholder: "https://\u2026 or pick from the media library", onChange: (e) => setFeaturedImage(e.target.value) }), _jsx("button", { type: "button", disabled: !canEdit, onClick: () => setMediaOpen(true), className: "bg-accent text-foreground border-border hover:bg-accent/80 shrink-0 rounded-md border px-3 py-1.5 text-xs font-medium disabled:opacity-50", children: "Browse" })] }), featuredImage && (_jsx("div", { className: "border-border bg-muted mt-2 overflow-hidden rounded-md border", children: _jsx("img", { src: featuredImage, alt: "", className: "h-28 w-full object-cover" }) }))] }), _jsx("div", { children: _jsx(RichTextField, { label: "Body", value: body, onChange: canEdit ? setBody : () => { }, helpText: "Rendered by the Article Body section when its source is set to the post Body field." }) }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-seo-title", children: "SEO title" }), _jsx("input", { id: "pf-seo-title", className: INPUT, value: seoTitle, disabled: !canEdit, onChange: (e) => setSeoTitle(e.target.value) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "pf-seo-desc", children: "SEO description" }), _jsx("textarea", { id: "pf-seo-desc", className: `${INPUT} min-h-[60px] resize-y`, value: seoDescription, disabled: !canEdit, onChange: (e) => setSeoDescription(e.target.value) })] })] }), _jsx(MediaPickerModal, { open: mediaOpen, onClose: () => setMediaOpen(false), onSelect: (url) => {
55
+ setFeaturedImage(url);
56
+ setMediaOpen(false);
57
+ }, accept: "image/*" })] }));
52
58
  }
53
59
  //# sourceMappingURL=PostFieldsModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostFieldsModal.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostFieldsModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostFieldsModal.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostFieldsModal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostHeader.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,UAAU,eAAe;IACvB,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,2CAiE9D"}
1
+ {"version":3,"file":"PostHeader.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,UAAU,eAAe;IACvB,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,2CAgE9D"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { computeReadingTime } from '@actuate-media/cms-core/page-sections';
2
3
  function formatDate(value) {
3
4
  if (!value)
4
5
  return '';
@@ -18,10 +19,10 @@ export function PostHeader({ config, context }) {
18
19
  const date = config.showDate ? formatDate(context.publishDate) : '';
19
20
  const overlay = config.layout === 'overlay' && config.showFeaturedImage && context.featuredImageUrl;
20
21
  const align = config.layout === 'centered' ? 'text-center mx-auto items-center' : 'text-left';
21
- const meta = (_jsxs("div", { className: `mt-4 flex flex-wrap gap-x-3 gap-y-1 text-sm ${config.layout === 'centered' ? 'justify-center' : ''} ${overlay ? 'text-white/80' : 'text-zinc-500'}`, children: [config.showCategory && context.category && (_jsx("span", { className: "font-medium text-violet-500", children: context.category })), config.showAuthor && _jsx("span", { children: context.author?.name || 'Author name' }), date && _jsx("span", { children: date }), config.showReadingTime && _jsx("span", { children: "5 min read" })] }));
22
+ const meta = (_jsxs("div", { className: `mt-4 flex flex-wrap gap-x-3 gap-y-1 text-sm ${config.layout === 'centered' ? 'justify-center' : ''} ${overlay ? 'text-white/80' : 'text-zinc-500'}`, children: [config.showCategory && context.category && (_jsx("span", { className: "font-medium text-violet-500", children: context.category })), config.showAuthor && _jsx("span", { children: context.author?.name || 'Author name' }), date && _jsx("span", { children: date }), config.showReadingTime && _jsxs("span", { children: [computeReadingTime(context.body), " min read"] })] }));
22
23
  if (overlay) {
23
- return (_jsxs("header", { className: "relative", children: [_jsx("img", { src: context.featuredImageUrl, alt: "", className: "h-[360px] w-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/70 to-black/10", "aria-hidden": true }), _jsx("div", { className: "absolute inset-x-0 bottom-0 px-6 pb-8", children: _jsxs("div", { className: `mx-auto flex max-w-3xl flex-col ${align}`, children: [_jsx("h1", { className: "text-3xl font-semibold tracking-tight text-white sm:text-4xl", children: title }), config.showExcerpt && context.excerpt && (_jsx("p", { className: "mt-3 max-w-2xl text-lg text-white/90", children: context.excerpt })), meta] }) })] }));
24
+ return (_jsxs("header", { className: "relative", children: [_jsx("img", { src: context.featuredImageUrl, alt: "", className: "h-[360px] w-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/70 to-black/10", "aria-hidden": true }), _jsx("div", { className: "absolute inset-x-0 bottom-0 px-6 pb-8", children: _jsxs("div", { className: `mx-auto flex max-w-3xl flex-col ${align}`, children: [_jsx("h1", { className: "text-3xl font-semibold tracking-tight text-white sm:text-4xl", children: title }), config.showExcerpt && context.excerpt && (_jsx("p", { className: "mt-3 max-w-2xl text-lg text-white/90", children: context.excerpt })), meta] }) })] }));
24
25
  }
25
- return (_jsxs("header", { className: "bg-white px-6 pt-12 pb-2", children: [_jsxs("div", { className: `flex max-w-3xl flex-col ${align} ${config.layout === 'centered' ? 'mx-auto' : ''}`, children: [config.showCategory && context.category && config.layout !== 'centered' && null, _jsx("h1", { className: "text-3xl font-semibold tracking-tight text-zinc-900 sm:text-4xl", children: title }), config.showExcerpt && context.excerpt && (_jsx("p", { className: "mt-3 max-w-2xl text-lg text-zinc-600", children: context.excerpt })), meta] }), config.showFeaturedImage && context.featuredImageUrl && (_jsx("div", { className: "mx-auto mt-8 max-w-4xl", children: _jsx("img", { src: context.featuredImageUrl, alt: "", className: "aspect-[16/9] w-full rounded-xl object-cover" }) }))] }));
26
+ return (_jsxs("header", { className: "bg-white px-6 pt-12 pb-2", children: [_jsxs("div", { className: `flex max-w-3xl flex-col ${align} ${config.layout === 'centered' ? 'mx-auto' : ''}`, children: [_jsx("h1", { className: "text-3xl font-semibold tracking-tight text-zinc-900 sm:text-4xl", children: title }), config.showExcerpt && context.excerpt && (_jsx("p", { className: "mt-3 max-w-2xl text-lg text-zinc-600", children: context.excerpt })), meta] }), config.showFeaturedImage && context.featuredImageUrl && (_jsx("div", { className: "mx-auto mt-8 max-w-4xl", children: _jsx("img", { src: context.featuredImageUrl, alt: "", className: "aspect-video w-full rounded-xl object-cover" }) }))] }));
26
27
  }
27
28
  //# sourceMappingURL=PostHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHeader.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostHeader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostHeader.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostHeader.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostPreview.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostPreview.tsx"],"names":[],"mappings":"AAcA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,2CAuF1F"}
1
+ {"version":3,"file":"PostPreview.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostPreview.tsx"],"names":[],"mappings":"AAcA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,2CAkG1F"}
@@ -48,6 +48,16 @@ export function PostPreview({ postType, documentId, session, onNavigate }) {
48
48
  author: { name: session?.user?.name || session?.user?.email },
49
49
  };
50
50
  const visible = post.sections.filter((s) => s.visible);
51
- return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "bg-card border-border flex h-12 shrink-0 items-center justify-between border-b px-4", children: [_jsxs("button", { type: "button", onClick: () => window.close(), className: "text-muted-foreground hover:text-foreground inline-flex items-center gap-1.5 text-sm", "aria-label": "Close preview tab", children: [_jsx(X, { className: "h-4 w-4", "aria-hidden": true }), "Close"] }), _jsxs("span", { className: "text-muted-foreground text-xs", children: ["Preview \u00B7 ", post.title || 'Untitled'] }), _jsxs("button", { type: "button", onClick: () => onNavigate(`/posts/${postType}/${documentId}/edit`), className: "bg-primary text-primary-foreground hover:bg-primary/90 inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-sm font-medium", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Open editor"] })] }), _jsxs("div", { className: "flex-1 overflow-auto bg-white", children: [_jsx(PostHeader, { config: header, context: context }), visible.map((section) => (_jsx(SectionRenderer, { section: section, context: context }, section.id)))] })] }));
51
+ // `window.close()` only works for tabs JS opened (the "View preview" action
52
+ // opens this view via window.open). When the user reached it through in-app
53
+ // navigation there is no opener, so close() is a silent no-op — fall back to
54
+ // the editor after a tick so the Close button always does something.
55
+ const handleClose = () => {
56
+ window.close();
57
+ setTimeout(() => {
58
+ onNavigate(`/posts/${postType}/${documentId}/edit`);
59
+ }, 120);
60
+ };
61
+ return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "bg-card border-border flex h-12 shrink-0 items-center justify-between border-b px-4", children: [_jsxs("button", { type: "button", onClick: handleClose, className: "text-muted-foreground hover:text-foreground inline-flex items-center gap-1.5 text-sm", "aria-label": "Close preview tab", children: [_jsx(X, { className: "h-4 w-4", "aria-hidden": true }), "Close"] }), _jsxs("span", { className: "text-muted-foreground text-xs", children: ["Preview \u00B7 ", post.title || 'Untitled'] }), _jsxs("button", { type: "button", onClick: () => onNavigate(`/posts/${postType}/${documentId}/edit`), className: "bg-primary text-primary-foreground hover:bg-primary/90 inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-sm font-medium", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Open editor"] })] }), _jsxs("div", { className: "flex-1 overflow-auto bg-white", children: [_jsx(PostHeader, { config: header, context: context }), visible.map((section) => (_jsx(SectionRenderer, { section: section, context: context }, section.id)))] })] }));
52
62
  }
53
63
  //# sourceMappingURL=PostPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostPreview.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostPreview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GAGvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,eAAe,EAA0B,MAAM,kCAAkC,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAS5C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAoB;IACzF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAA;IACzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,iBAAiB,EAAE,CAAC,CAAA;IAC3E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,sBAAsB,CAAC,QAAQ,CAAC;aAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC9C,KAAK,CAAC,GAAG,EAAE;YACV,oBAAoB;QACtB,CAAC,CAAC,CAAA;QACJ,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aACrC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;aAC7F,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE1B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,OAAO,IAAC,SAAS,EAAC,4CAA4C,wBAAe,EAC9E,eAAM,SAAS,EAAC,SAAS,sCAAwB,IAC7C,CACP,CAAA;IACH,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CACL,cAAK,SAAS,EAAC,2DAA2D,YACxE,eAAK,SAAS,EAAC,+FAA+F,aAC5G,KAAC,aAAa,IAAC,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAE,EAAE,wBAAgB,EAC7E,YAAG,SAAS,EAAC,qCAAqC,YAAE,KAAK,IAAI,iBAAiB,GAAK,IAC/E,GACF,CACP,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAsB;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,aAAa;QACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;KAC9D,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEtD,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aAGnC,eAAK,SAAS,EAAC,qFAAqF,aAClG,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAC7B,SAAS,EAAC,sFAAsF,gBACrF,mBAAmB,aAE9B,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,wBAAe,aAE9B,EACT,gBAAM,SAAS,EAAC,+BAA+B,gCAAY,IAAI,CAAC,KAAK,IAAI,UAAU,IAAQ,EAC3F,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,QAAQ,IAAI,UAAU,OAAO,CAAC,EAClE,SAAS,EAAC,oIAAoI,aAE9I,KAAC,MAAM,IAAC,SAAS,EAAC,aAAa,wBAAe,mBAEvC,IACL,EAEN,eAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,EAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACxB,KAAC,eAAe,IAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAA9C,OAAO,CAAC,EAAE,CAAwC,CACzE,CAAC,IACE,IACF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"PostPreview.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostPreview.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,29 @@
1
+ /** The slice of the resolved CMS config this editor reads. */
2
+ interface EditorConfig {
3
+ collections?: Record<string, {
4
+ labels?: {
5
+ singular?: string;
6
+ };
7
+ urlPrefix?: string;
8
+ } | undefined>;
9
+ seo?: {
10
+ siteUrl?: string;
11
+ };
12
+ }
13
+ /** The slice of the admin session this editor reads. */
14
+ interface EditorSession {
15
+ user?: {
16
+ role?: string;
17
+ name?: string;
18
+ email?: string;
19
+ };
20
+ }
1
21
  interface PostSectionEditorProps {
2
22
  postType: string;
3
23
  /** undefined when creating a new post (`/posts/:type/new`) */
4
24
  documentId?: string;
5
- config?: any;
6
- session?: any;
25
+ config?: EditorConfig;
26
+ session?: EditorSession;
7
27
  onNavigate: (path: string) => void;
8
28
  /**
9
29
  * Open a preview route in a new browser tab. `prepare` runs before the tab
@@ -1 +1 @@
1
- {"version":3,"file":"PostSectionEditor.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"AA6CA,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CACjG;AAUD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,UAAU,EACV,aAAa,GACd,EAAE,sBAAsB,2CA8axB"}
1
+ {"version":3,"file":"PostSectionEditor.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"AA6CA,8DAA8D;AAC9D,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;IAChG,GAAG,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3B;AAED,wDAAwD;AACxD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CACjG;AAgBD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,UAAU,EACV,aAAa,GACd,EAAE,sBAAsB,2CA8axB"}
@@ -18,8 +18,11 @@ import { PostEditorCanvas } from './PostEditorCanvas.js';
18
18
  import { PostFieldsModal } from './PostFieldsModal.js';
19
19
  function deriveCan(session) {
20
20
  const role = session?.user?.role;
21
+ // Default closed: when we can't identify a role, hide the edit/publish
22
+ // affordances rather than exposing them. The server independently enforces
23
+ // access on every write, so this is a UX guard — but it should fail safe.
21
24
  if (!role)
22
- return { canEdit: true, canPublish: true };
25
+ return { canEdit: false, canPublish: false };
23
26
  const editors = ['ADMIN', 'EDITOR', 'AUTHOR'];
24
27
  const publishers = ['ADMIN', 'EDITOR'];
25
28
  return { canEdit: editors.includes(role), canPublish: publishers.includes(role) };
@@ -1 +1 @@
1
- {"version":3,"file":"PostSectionEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostSectionEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/cms-admin",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/actuate-media/actuatecms.git",
@@ -87,7 +87,7 @@
87
87
  "tailwindcss": "^4.0.0",
88
88
  "typescript": "^5.7.0",
89
89
  "vitest": "^3.0.0",
90
- "@actuate-media/cms-core": "0.27.1",
90
+ "@actuate-media/cms-core": "0.28.0",
91
91
  "@actuate-media/component-blocks": "0.2.0"
92
92
  },
93
93
  "scripts": {
@@ -0,0 +1,180 @@
1
+ // @vitest-environment node
2
+ import { afterEach, describe, expect, it, vi } from 'vitest'
3
+
4
+ // Mock the network layer so we can assert on request shape (endpoint,
5
+ // method, body) and drive responses. This is the class of bug — response
6
+ // unwrapping and write-payload drift — these tests exist to catch.
7
+ const cmsApi = vi.fn()
8
+ vi.mock('../../lib/api.js', () => ({
9
+ cmsApi: (...args: unknown[]) => cmsApi(...args),
10
+ }))
11
+
12
+ const { fetchPageForEditor, savePageDraft, publishPage, missingPageFields, emptyPage } =
13
+ await import('../../lib/page-editor-service.js')
14
+
15
+ afterEach(() => {
16
+ cmsApi.mockReset()
17
+ })
18
+
19
+ function draft(id: string | null) {
20
+ return {
21
+ ...emptyPage(),
22
+ id,
23
+ title: 'About',
24
+ slug: 'about',
25
+ path: '/about',
26
+ seoTitle: 'About us',
27
+ seoDescription: 'Our story',
28
+ sections: [],
29
+ }
30
+ }
31
+
32
+ describe('fetchPageForEditor', () => {
33
+ it('maps a document row into an EditorPage', async () => {
34
+ cmsApi.mockResolvedValue({
35
+ data: {
36
+ id: 'p1',
37
+ title: 'About',
38
+ slug: 'about',
39
+ status: 'PUBLISHED',
40
+ publishedAt: '2026-01-02T00:00:00Z',
41
+ updatedAt: '2026-01-03T00:00:00Z',
42
+ data: { path: '/about', sections: [], metaTitle: 'T', metaDescription: 'D' },
43
+ },
44
+ status: 200,
45
+ })
46
+
47
+ const page = await fetchPageForEditor('p1')
48
+
49
+ expect(cmsApi).toHaveBeenCalledWith('/collections/pages/p1')
50
+ expect(page).toMatchObject({
51
+ id: 'p1',
52
+ title: 'About',
53
+ slug: 'about',
54
+ path: '/about',
55
+ status: 'PUBLISHED',
56
+ seoTitle: 'T',
57
+ seoDescription: 'D',
58
+ })
59
+ })
60
+
61
+ it('falls back to /slug for path when data.path is absent', async () => {
62
+ cmsApi.mockResolvedValue({
63
+ data: { id: 'p2', title: 'Home', slug: 'home', status: 'DRAFT', data: {} },
64
+ status: 200,
65
+ })
66
+ const page = await fetchPageForEditor('p2')
67
+ expect(page.path).toBe('/home')
68
+ })
69
+
70
+ it('throws the server error message on failure', async () => {
71
+ cmsApi.mockResolvedValue({ error: 'Document not found', status: 404 })
72
+ await expect(fetchPageForEditor('missing')).rejects.toThrow('Document not found')
73
+ })
74
+ })
75
+
76
+ describe('savePageDraft', () => {
77
+ it('PUTs sections + SEO without a status change for an existing page', async () => {
78
+ cmsApi.mockResolvedValue({
79
+ data: { id: 'p1', title: 'About', slug: 'about', status: 'DRAFT', data: { sections: [] } },
80
+ status: 200,
81
+ })
82
+
83
+ await savePageDraft(draft('p1'))
84
+
85
+ const [endpoint, opts] = cmsApi.mock.calls[0] as [string, RequestInit]
86
+ expect(endpoint).toBe('/collections/pages/p1')
87
+ expect(opts.method).toBe('PUT')
88
+ const body = JSON.parse(opts.body as string)
89
+ expect(body).toMatchObject({
90
+ title: 'About',
91
+ slug: 'about',
92
+ path: '/about',
93
+ sections: [],
94
+ metaTitle: 'About us',
95
+ metaDescription: 'Our story',
96
+ })
97
+ // Draft save must never flip status.
98
+ expect('status' in body).toBe(false)
99
+ })
100
+
101
+ it('creates (POST) a new page when there is no id', async () => {
102
+ cmsApi.mockResolvedValue({
103
+ data: { id: 'new1', title: 'About', slug: 'about', status: 'DRAFT', data: {} },
104
+ status: 201,
105
+ })
106
+
107
+ const saved = await savePageDraft(draft(null))
108
+
109
+ const [endpoint, opts] = cmsApi.mock.calls[0] as [string, RequestInit]
110
+ expect(endpoint).toBe('/collections/pages')
111
+ expect(opts.method).toBe('POST')
112
+ expect(saved.id).toBe('new1')
113
+ })
114
+
115
+ it('throws when the server rejects the write', async () => {
116
+ cmsApi.mockResolvedValue({ error: 'Forbidden', status: 403 })
117
+ await expect(savePageDraft(draft('p1'))).rejects.toThrow('Forbidden')
118
+ })
119
+ })
120
+
121
+ describe('publishPage', () => {
122
+ it('includes status: PUBLISHED in the payload', async () => {
123
+ cmsApi.mockResolvedValue({
124
+ data: { id: 'p1', title: 'About', slug: 'about', status: 'PUBLISHED', data: {} },
125
+ status: 200,
126
+ })
127
+
128
+ await publishPage(draft('p1'))
129
+
130
+ const [, opts] = cmsApi.mock.calls[0] as [string, RequestInit]
131
+ const body = JSON.parse(opts.body as string)
132
+ expect(body.status).toBe('PUBLISHED')
133
+ })
134
+ })
135
+
136
+ describe('missingPageFields', () => {
137
+ const fullFields = {
138
+ title: { type: 'text' },
139
+ slug: { type: 'slug' },
140
+ path: { type: 'text' },
141
+ sections: { type: 'json' },
142
+ metaTitle: { type: 'text' },
143
+ metaDescription: { type: 'text' },
144
+ }
145
+
146
+ it('returns [] when no config is provided', () => {
147
+ expect(missingPageFields(undefined)).toEqual([])
148
+ expect(missingPageFields(null)).toEqual([])
149
+ expect(missingPageFields({})).toEqual([])
150
+ })
151
+
152
+ it('returns [] when the pages collection declares every required field (record form)', () => {
153
+ const config = { collections: { pages: { slug: 'pages', fields: fullFields } } }
154
+ expect(missingPageFields(config)).toEqual([])
155
+ })
156
+
157
+ it('reports the missing required fields', () => {
158
+ const config = {
159
+ collections: {
160
+ pages: { slug: 'pages', fields: { title: { type: 'text' }, slug: { type: 'slug' } } },
161
+ },
162
+ }
163
+ expect(missingPageFields(config)).toEqual(['sections', 'path', 'metaTitle', 'metaDescription'])
164
+ })
165
+
166
+ it('supports the array form of field definitions', () => {
167
+ const config = {
168
+ collections: [
169
+ { slug: 'pages', fields: Object.entries(fullFields).map(([name, f]) => ({ name, ...f })) },
170
+ ],
171
+ }
172
+ expect(missingPageFields(config)).toEqual([])
173
+ })
174
+
175
+ it('flags a pages collection that omits sections (data-loss guard)', () => {
176
+ const { sections: _omitted, ...withoutSections } = fullFields
177
+ const config = { collections: { pages: { slug: 'pages', fields: withoutSections } } }
178
+ expect(missingPageFields(config)).toEqual(['sections'])
179
+ })
180
+ })