@prenta/admin 2.0.3 → 2.1.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 (50) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/AdminRoot.d.ts.map +1 -1
  3. package/dist/AdminRoot.js +2 -6
  4. package/dist/AdminRoot.js.map +1 -1
  5. package/dist/__tests__/lib/admin-shortcuts.test.d.ts +2 -0
  6. package/dist/__tests__/lib/admin-shortcuts.test.d.ts.map +1 -0
  7. package/dist/__tests__/lib/admin-shortcuts.test.js +11 -0
  8. package/dist/__tests__/lib/admin-shortcuts.test.js.map +1 -0
  9. package/dist/__tests__/lib/editor-history.test.d.ts +2 -0
  10. package/dist/__tests__/lib/editor-history.test.d.ts.map +1 -0
  11. package/dist/__tests__/lib/editor-history.test.js +76 -0
  12. package/dist/__tests__/lib/editor-history.test.js.map +1 -0
  13. package/dist/__tests__/views/editor-top-bar.render.test.js +17 -0
  14. package/dist/__tests__/views/editor-top-bar.render.test.js.map +1 -1
  15. package/dist/__tests__/views/post-section-editor.test.js +16 -0
  16. package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
  17. package/dist/hooks/use-editor-history.d.ts +19 -0
  18. package/dist/hooks/use-editor-history.d.ts.map +1 -0
  19. package/dist/hooks/use-editor-history.js +94 -0
  20. package/dist/hooks/use-editor-history.js.map +1 -0
  21. package/dist/lib/admin-shortcuts.d.ts +6 -0
  22. package/dist/lib/admin-shortcuts.d.ts.map +1 -0
  23. package/dist/lib/admin-shortcuts.js +11 -0
  24. package/dist/lib/admin-shortcuts.js.map +1 -0
  25. package/dist/lib/editor-history.d.ts +24 -0
  26. package/dist/lib/editor-history.d.ts.map +1 -0
  27. package/dist/lib/editor-history.js +61 -0
  28. package/dist/lib/editor-history.js.map +1 -0
  29. package/dist/views/page-editor/EditorTopBar.d.ts +6 -1
  30. package/dist/views/page-editor/EditorTopBar.d.ts.map +1 -1
  31. package/dist/views/page-editor/EditorTopBar.js +3 -3
  32. package/dist/views/page-editor/EditorTopBar.js.map +1 -1
  33. package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
  34. package/dist/views/page-editor/PageSectionEditor.js +37 -9
  35. package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
  36. package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
  37. package/dist/views/post-editor/PostSectionEditor.js +44 -11
  38. package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/AdminRoot.tsx +5 -9
  41. package/src/__tests__/lib/admin-shortcuts.test.ts +11 -0
  42. package/src/__tests__/lib/editor-history.test.ts +99 -0
  43. package/src/__tests__/views/editor-top-bar.render.test.tsx +27 -0
  44. package/src/__tests__/views/post-section-editor.test.tsx +30 -0
  45. package/src/hooks/use-editor-history.ts +102 -0
  46. package/src/lib/admin-shortcuts.ts +10 -0
  47. package/src/lib/editor-history.ts +83 -0
  48. package/src/views/page-editor/EditorTopBar.tsx +35 -0
  49. package/src/views/page-editor/PageSectionEditor.tsx +53 -10
  50. package/src/views/post-editor/PostSectionEditor.tsx +64 -14
@@ -12,6 +12,7 @@ import { SeoEditorPane } from '../../components/seo/SeoEditorPane.js';
12
12
  import { ErrorBoundary } from '../../components/ErrorBoundary.js';
13
13
  import { VersionHistoryPanel } from '../page-editor/VersionHistoryPanel.js';
14
14
  import { useDebouncedAutosave } from '../page-editor/autosave.js';
15
+ import { useEditorHistory, useSectionEditorShortcuts } from '../../hooks/use-editor-history.js';
15
16
  import { ReviewBar } from '../page-editor/ReviewBar.js';
16
17
  import { fetchPageVersions, restorePageVersion, } from '../../lib/version-history.js';
17
18
  import { changedSectionIds, diffVersions } from '../../lib/version-diff.js';
@@ -113,10 +114,13 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
113
114
  * as a publish does; missing one would leave the guard comparing against
114
115
  * content no longer on the site.
115
116
  */
117
+ const savedJson = useRef('');
116
118
  const acceptPost = useCallback((p) => {
119
+ savedJson.current = JSON.stringify(p);
117
120
  setPost(p);
118
121
  setBaseline(snapshotBaseline(p.sections, p.status));
119
122
  }, []);
123
+ const { note, undo, redo, canUndo, canRedo } = useEditorHistory(post, documentId ?? null);
120
124
  const { canEdit } = useMemo(() => deriveCan(session), [session]);
121
125
  const sessionRole = String(session?.user?.role ?? '');
122
126
  const customRenderers = useAdminSectionRenderers();
@@ -277,16 +281,21 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
277
281
  relatedPosts: post?.canvasRelatedPosts ?? siblingPosts,
278
282
  }), [post, session, siblingPosts]);
279
283
  // ─── Section mutations ───────────────────────────────────────────────
280
- const mutateSections = useCallback((fn) => {
281
- setPost((prev) => (prev ? { ...prev, sections: fn(prev.sections) } : prev));
284
+ const mutateSections = useCallback((fn, key, coalesce = false) => {
285
+ setPost((prev) => {
286
+ if (!prev)
287
+ return prev;
288
+ note(prev, key, coalesce);
289
+ return { ...prev, sections: fn(prev.sections) };
290
+ });
282
291
  setDirty(true);
283
292
  setSaveState('idle');
284
- }, []);
285
- const handleToggleVisibility = useCallback((id) => mutateSections((s) => toggleSectionVisibility(s, id)), [mutateSections]);
293
+ }, [note]);
294
+ const handleToggleVisibility = useCallback((id) => mutateSections((s) => toggleSectionVisibility(s, id), `visibility:${id}`), [mutateSections]);
286
295
  const handleContentChange = useCallback((patch) => {
287
296
  if (!selectedId)
288
297
  return;
289
- mutateSections((s) => updateSectionContent(s, selectedId, patch));
298
+ mutateSections((s) => updateSectionContent(s, selectedId, patch), `content:${selectedId}`, true);
290
299
  }, [selectedId, mutateSections]);
291
300
  // No `handleSettingsChange`: background, spacing, anchor and CSS class are
292
301
  // template-authored (docs/design-owned-sections.md). Values round-trip on
@@ -294,18 +303,37 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
294
303
  const handleMetaChange = useCallback((patch) => {
295
304
  if (!selectedId)
296
305
  return;
297
- mutateSections((s) => updateSectionMeta(s, selectedId, patch));
306
+ mutateSections((s) => updateSectionMeta(s, selectedId, patch), `meta:${selectedId}`, true);
298
307
  }, [selectedId, mutateSections]);
308
+ const restoreEdit = useCallback((next) => {
309
+ if (!next)
310
+ return;
311
+ setPost(next);
312
+ setDirty(JSON.stringify(next) !== savedJson.current);
313
+ setSaveState('idle');
314
+ }, []);
315
+ const handleUndo = useCallback(() => restoreEdit(undo()), [restoreEdit, undo]);
316
+ const handleRedo = useCallback(() => restoreEdit(redo()), [restoreEdit, redo]);
299
317
  const handleFields = useCallback((patch) => {
300
- setPost((prev) => (prev ? { ...prev, ...patch } : prev));
318
+ setPost((prev) => {
319
+ if (!prev)
320
+ return prev;
321
+ note(prev, 'fields', true);
322
+ return { ...prev, ...patch };
323
+ });
301
324
  setDirty(true);
302
325
  setSaveState('idle');
303
- }, []);
326
+ }, [note]);
304
327
  const handlePostBodyChange = useCallback((body) => {
305
- setPost((prev) => (prev ? { ...prev, body } : prev));
328
+ setPost((prev) => {
329
+ if (!prev)
330
+ return prev;
331
+ note(prev, 'body', true);
332
+ return { ...prev, body };
333
+ });
306
334
  setDirty(true);
307
335
  setSaveState('idle');
308
- }, []);
336
+ }, [note]);
309
337
  // ─── Save / publish ──────────────────────────────────────────────────
310
338
  const latestPost = useRef(post);
311
339
  latestPost.current = post;
@@ -418,6 +446,11 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
418
446
  }, [post?.id, postType, acceptPost, closeHistory, loadVersions]);
419
447
  const effectiveCanEdit = canEdit && !reviewing;
420
448
  const canRestoreVersion = canEdit;
449
+ useSectionEditorShortcuts({
450
+ enabled: effectiveCanEdit,
451
+ onUndo: handleUndo,
452
+ onRedo: handleRedo,
453
+ });
421
454
  useDebouncedAutosave({
422
455
  dirty,
423
456
  enabled: Boolean(documentId) && effectiveCanEdit && !publishing,
@@ -589,7 +622,7 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
589
622
  const structuralTypes = Array.from(new Set(post.sections
590
623
  .filter((s) => !hasCanvasRenderer(s.sectionType) && !customRenderers[s.sectionType])
591
624
  .map((s) => s.sectionType)));
592
- return (_jsxs(ErrorBoundary, { children: [_jsxs("div", { className: "bg-background flex h-full flex-col overflow-hidden", children: [_jsx(EditorTopBar, { title: post.title || `New ${typeLabel}`, status: post.status, workflowStage: post.workflowStage, reviewNote: post.reviewNote, role: sessionRole, dirty: dirty, saveState: saveState, publishing: publishing, canEdit: effectiveCanEdit, publishReady: publishReady, publishDisabledReason: publishDisabledReason, viewport: viewport, backLabel: "Posts", onViewport: setViewport, zoom: zoom, canvasScale: canvasScale, onZoom: setZoom, onBack: () => guardedNavigate('/posts'), onViewOnSite: post.id && post.slug ? handleViewOnSite : undefined, onShare: post.id ? handleShare : undefined, hasPublicSiteUrl: Boolean(publicSiteUrl), matchesAdminOrigin: matchesAdminOrigin, historyOpen: historyOpen, onHistory: post.id ? () => (historyOpen ? closeHistory() : openHistory()) : undefined, onOpenSettings: () => setFieldsOpen(true), onOpenSeo: handleToggleSeo, seoOpen: seoOpen, seoScore: audit?.seo.score ?? undefined, seoScoreBand: typeof audit?.seo.score === 'number' ? scoreBand(audit.seo.score) : undefined, onSaveDraft: handleSaveDraft, onSubmitForReview: handleSubmitForReview, onApprove: handleApprove, onRequestChanges: handleRequestChanges, onSchedule: post.id ? requestSchedule : undefined, scheduleReady: Boolean(post.id), scheduledAt: post.scheduledAt, scheduledUnpublishAt: post.scheduledUnpublishAt, structuralTypes: structuralTypes }), unmanagedTypes.length > 0 && (_jsxs("div", { role: "status", className: "border-border bg-muted/50 flex items-start gap-3 border-b px-4 py-2.5", children: [_jsx(Lock, { className: "text-muted-foreground mt-0.5 shrink-0", size: 16, "aria-hidden": true }), _jsxs("p", { className: "text-muted-foreground flex-1 text-sm", children: ["This post has", ' ', _jsxs("span", { className: "text-foreground font-medium", children: [unmanagedTypes.length, " section type", unmanagedTypes.length > 1 ? 's' : ''] }), ' ', "managed outside the editor (", unmanagedTypes.join(', '), "). They are preserved on save but edited in your seed script or code, not here."] })] })), validation && (_jsx(ValidationSummary, { errors: validation.errors, warnings: validation.warnings, onDismiss: () => setValidation(null) })), _jsx(ReflowContext.Provider, { value: reflowContext, children: _jsxs("div", { className: "prenta-editor-body relative flex flex-1 overflow-hidden", children: [_jsx(EditorRail, { collapsedLabel: activeRailTab.label, children: ({ width, dragging, collapse }) => (_jsxs(_Fragment, { children: [_jsx(EditorRailTabs, { tabs: railTabs, active: railTab, onChange: setRailTab }), _jsx(RailHeader, { title: activeRailTab.title, width: width, dragging: dragging, onCollapse: collapse }), _jsx("div", { role: "tabpanel", id: `rail-panel-${railTab}`, "aria-labelledby": `rail-tab-${railTab}`, className: "flex min-h-0 flex-1 flex-col", children: railTab === 'sections' ? (_jsx(SectionsList, { sections: post.sections, selectedId: selectedId, canEdit: effectiveCanEdit, onSelect: handleSelectSection, onToggleVisibility: handleToggleVisibility, renderEditor: reviewing
625
+ return (_jsxs(ErrorBoundary, { children: [_jsxs("div", { className: "bg-background flex h-full flex-col overflow-hidden", children: [_jsx(EditorTopBar, { title: post.title || `New ${typeLabel}`, status: post.status, workflowStage: post.workflowStage, reviewNote: post.reviewNote, role: sessionRole, dirty: dirty, saveState: saveState, publishing: publishing, canEdit: effectiveCanEdit, publishReady: publishReady, publishDisabledReason: publishDisabledReason, viewport: viewport, backLabel: "Posts", onViewport: setViewport, zoom: zoom, canvasScale: canvasScale, onZoom: setZoom, onBack: () => guardedNavigate('/posts'), onViewOnSite: post.id && post.slug ? handleViewOnSite : undefined, onShare: post.id ? handleShare : undefined, hasPublicSiteUrl: Boolean(publicSiteUrl), matchesAdminOrigin: matchesAdminOrigin, historyOpen: historyOpen, onHistory: post.id ? () => (historyOpen ? closeHistory() : openHistory()) : undefined, onOpenSettings: () => setFieldsOpen(true), onOpenSeo: handleToggleSeo, seoOpen: seoOpen, seoScore: audit?.seo.score ?? undefined, seoScoreBand: typeof audit?.seo.score === 'number' ? scoreBand(audit.seo.score) : undefined, onSaveDraft: handleSaveDraft, onUndo: effectiveCanEdit ? handleUndo : undefined, onRedo: effectiveCanEdit ? handleRedo : undefined, canUndo: canUndo, canRedo: canRedo, onSubmitForReview: handleSubmitForReview, onApprove: handleApprove, onRequestChanges: handleRequestChanges, onSchedule: post.id ? requestSchedule : undefined, scheduleReady: Boolean(post.id), scheduledAt: post.scheduledAt, scheduledUnpublishAt: post.scheduledUnpublishAt, structuralTypes: structuralTypes }), unmanagedTypes.length > 0 && (_jsxs("div", { role: "status", className: "border-border bg-muted/50 flex items-start gap-3 border-b px-4 py-2.5", children: [_jsx(Lock, { className: "text-muted-foreground mt-0.5 shrink-0", size: 16, "aria-hidden": true }), _jsxs("p", { className: "text-muted-foreground flex-1 text-sm", children: ["This post has", ' ', _jsxs("span", { className: "text-foreground font-medium", children: [unmanagedTypes.length, " section type", unmanagedTypes.length > 1 ? 's' : ''] }), ' ', "managed outside the editor (", unmanagedTypes.join(', '), "). They are preserved on save but edited in your seed script or code, not here."] })] })), validation && (_jsx(ValidationSummary, { errors: validation.errors, warnings: validation.warnings, onDismiss: () => setValidation(null) })), _jsx(ReflowContext.Provider, { value: reflowContext, children: _jsxs("div", { className: "prenta-editor-body relative flex flex-1 overflow-hidden", children: [_jsx(EditorRail, { collapsedLabel: activeRailTab.label, children: ({ width, dragging, collapse }) => (_jsxs(_Fragment, { children: [_jsx(EditorRailTabs, { tabs: railTabs, active: railTab, onChange: setRailTab }), _jsx(RailHeader, { title: activeRailTab.title, width: width, dragging: dragging, onCollapse: collapse }), _jsx("div", { role: "tabpanel", id: `rail-panel-${railTab}`, "aria-labelledby": `rail-tab-${railTab}`, className: "flex min-h-0 flex-1 flex-col", children: railTab === 'sections' ? (_jsx(SectionsList, { sections: post.sections, selectedId: selectedId, canEdit: effectiveCanEdit, onSelect: handleSelectSection, onToggleVisibility: handleToggleVisibility, renderEditor: reviewing
593
626
  ? undefined
594
627
  : (section) => (_jsx(SectionEditForm, { section: section, canEdit: effectiveCanEdit, onContentChange: handleContentChange, onMetaChange: handleMetaChange, postBody: post.body, onPostBodyChange: handlePostBodyChange })) })) : railTab === 'page' ? (_jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: _jsx(PostTab, { post: post, canEdit: effectiveCanEdit, fields: config?.collections?.[postType]?.fields, onChange: handleFields }) })) : (_jsx(SeoEditorPane, { entityType: "post", entityId: post.id, slug: post.slug, auditSections: post.sections, onAuditChange: setLiveAudit, contentHtml: seoContentHtml, title: post.title, bodyHtml: post.body, featuredImage: post.featuredImageUrl, draftMeta: {
595
628
  seoTitle: post.seoTitle,
@@ -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": "@prenta/admin",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -102,9 +102,9 @@
102
102
  "vitest": "^4.1.0",
103
103
  "@prenta/component-blocks": "0.3.1",
104
104
  "@prenta/plugin-ai": "4.0.1",
105
+ "@prenta/core": "8.2.0",
105
106
  "@prenta/plugin-blocks": "1.0.1",
106
107
  "@prenta/plugin-commerce": "1.0.1",
107
- "@prenta/core": "8.2.0",
108
108
  "@prenta/plugin-forms": "1.0.1",
109
109
  "@prenta/plugin-media": "1.0.1",
110
110
  "@prenta/plugin-navigation": "1.0.1",
package/src/AdminRoot.tsx CHANGED
@@ -7,6 +7,7 @@ import { Layout } from './layout/Layout.js'
7
7
  import { adminPortalContainer } from './lib/portal-container.js'
8
8
  import { ADMIN_ROOT_ATTR, getAdminRootElement } from './lib/admin-root-element.js'
9
9
  import { useAdminRouter, parseRouteQuery } from './router/index.js'
10
+ import { ADMIN_KEYBOARD_SHORTCUTS } from './lib/admin-shortcuts.js'
10
11
  import { cmsApi, ensureCsrfToken } from './lib/api.js'
11
12
  import { setDocumentFavicon, BRAND_UPDATED_EVENT } from './lib/favicon.js'
12
13
  import {
@@ -740,15 +741,10 @@ function ShortcutHelp({ open, onClose }: { open: boolean; onClose: () => void })
740
741
  >
741
742
  <Dialog.Title className="mb-4 text-lg font-medium">Keyboard Shortcuts</Dialog.Title>
742
743
  <div className="space-y-3 text-sm">
743
- {[
744
- ['⌘ K', 'Open search'],
745
- ['⌘ S', 'Save document'],
746
- ['⌘ /', 'Toggle this help'],
747
- ['Esc', 'Close panel / modal'],
748
- ].map(([key, desc]) => (
749
- <div key={key} className="flex items-center justify-between">
750
- <span className="text-muted-foreground">{desc}</span>
751
- <kbd className="bg-muted rounded px-2 py-1 font-mono text-xs">{key}</kbd>
744
+ {ADMIN_KEYBOARD_SHORTCUTS.map((row) => (
745
+ <div key={row.keys} className="flex items-center justify-between gap-4">
746
+ <span className="text-muted-foreground">{row.label}</span>
747
+ <kbd className="bg-muted rounded px-2 py-1 font-mono text-xs">{row.keys}</kbd>
752
748
  </div>
753
749
  ))}
754
750
  </div>
@@ -0,0 +1,11 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { ADMIN_KEYBOARD_SHORTCUTS } from '../../lib/admin-shortcuts.js'
3
+
4
+ describe('admin keyboard shortcuts', () => {
5
+ it('documents undo and redo for the section editor', () => {
6
+ const labels = ADMIN_KEYBOARD_SHORTCUTS.map((row) => `${row.keys} ${row.label}`)
7
+ expect(labels).toContain('⌘ Z Undo in the section editor')
8
+ expect(labels).toContain('⌘ ⇧ Z Redo in the section editor')
9
+ expect(labels).toContain('⌘ Y Redo in the section editor')
10
+ })
11
+ })
@@ -0,0 +1,99 @@
1
+ // @vitest-environment happy-dom
2
+ import { describe, expect, it } from 'vitest'
3
+ import {
4
+ createEditorHistory,
5
+ isNativeEditingTarget,
6
+ pushEditorHistory,
7
+ redoEditorHistory,
8
+ undoEditorHistory,
9
+ } from '../../lib/editor-history.js'
10
+
11
+ describe('editor history', () => {
12
+ it('undo restores the snapshot from before the edit and redo puts it back', () => {
13
+ let history = pushEditorHistory(createEditorHistory<string>(), 'a', {
14
+ key: 'visibility',
15
+ now: 1_000,
16
+ })
17
+ const undone = undoEditorHistory(history, 'b')
18
+ expect(undone?.value).toBe('a')
19
+ const redone = redoEditorHistory(undone!.history, undone!.value)
20
+ expect(redone?.value).toBe('b')
21
+ history = redone!.history
22
+ expect(undoEditorHistory(history, 'b')?.value).toBe('a')
23
+ })
24
+
25
+ it('a new edit drops the redo stack', () => {
26
+ const once = pushEditorHistory(createEditorHistory<string>(), 'a', {
27
+ key: 'visibility',
28
+ now: 1_000,
29
+ })
30
+ const undone = undoEditorHistory(once, 'b')!
31
+ const again = pushEditorHistory(undone.history, 'a', { key: 'visibility', now: 2_000 })
32
+ expect(redoEditorHistory(again, 'c')).toBeNull()
33
+ })
34
+
35
+ it('coalesces rapid edits with the same key into one step', () => {
36
+ const first = pushEditorHistory(
37
+ createEditorHistory<{ n: number }>(),
38
+ { n: 0 },
39
+ {
40
+ key: 'content:s1',
41
+ now: 5_000,
42
+ coalesce: true,
43
+ },
44
+ )
45
+ const second = pushEditorHistory(
46
+ first,
47
+ { n: 1 },
48
+ {
49
+ key: 'content:s1',
50
+ now: 5_000 + 799,
51
+ coalesce: true,
52
+ },
53
+ )
54
+ expect(second.past).toEqual([{ n: 0 }])
55
+ const later = pushEditorHistory(
56
+ second,
57
+ { n: 2 },
58
+ {
59
+ key: 'content:s1',
60
+ now: 5_000 + 799 + 800,
61
+ coalesce: true,
62
+ },
63
+ )
64
+ expect(later.past).toEqual([{ n: 0 }, { n: 2 }])
65
+ })
66
+
67
+ it('does not coalesce a different key', () => {
68
+ const first = pushEditorHistory(createEditorHistory<string>(), 'a', {
69
+ key: 'content:s1',
70
+ now: 1_000,
71
+ coalesce: true,
72
+ })
73
+ const second = pushEditorHistory(first, 'b', {
74
+ key: 'content:s2',
75
+ now: 1_100,
76
+ coalesce: true,
77
+ })
78
+ expect(second.past).toEqual(['a', 'b'])
79
+ })
80
+
81
+ it('drops the oldest snapshot past the limit', () => {
82
+ let history = createEditorHistory<number>()
83
+ for (let i = 0; i < 53; i++) {
84
+ history = pushEditorHistory(history, i, { key: `step-${i}`, now: i })
85
+ }
86
+ expect(history.past).toHaveLength(50)
87
+ expect(history.past[0]).toBe(3)
88
+ })
89
+
90
+ it('leaves undo to text fields and rich text', () => {
91
+ expect(isNativeEditingTarget(null)).toBe(false)
92
+ const input = document.createElement('input')
93
+ const editable = document.createElement('div')
94
+ editable.contentEditable = 'true'
95
+ expect(isNativeEditingTarget(input)).toBe(true)
96
+ expect(isNativeEditingTarget(editable)).toBe(true)
97
+ expect(isNativeEditingTarget(document.createElement('button'))).toBe(false)
98
+ })
99
+ })
@@ -99,6 +99,33 @@ describe('EditorTopBar review chrome', () => {
99
99
  render(<EditorTopBar {...baseProps} reviewNote="Need a stronger lede." />)
100
100
  expect(screen.getByText('Reviewer note: Need a stronger lede.')).toBeTruthy()
101
101
  })
102
+
103
+ it('undo and redo follow the section stack and stay quiet until there is a step', () => {
104
+ const onUndo = vi.fn()
105
+ const onRedo = vi.fn()
106
+ const { rerender } = render(
107
+ <EditorTopBar
108
+ {...baseProps}
109
+ onUndo={onUndo}
110
+ onRedo={onRedo}
111
+ canUndo={false}
112
+ canRedo={false}
113
+ />,
114
+ )
115
+ const undo = screen.getByRole('button', { name: 'Undo' }) as HTMLButtonElement
116
+ const redo = screen.getByRole('button', { name: 'Redo' }) as HTMLButtonElement
117
+ expect(undo.disabled).toBe(true)
118
+ expect(redo.disabled).toBe(true)
119
+ expect(undo.getAttribute('title')).toContain('Ctrl+Z')
120
+ fireEvent.click(undo)
121
+ expect(onUndo).not.toHaveBeenCalled()
122
+
123
+ rerender(<EditorTopBar {...baseProps} onUndo={onUndo} onRedo={onRedo} canUndo canRedo />)
124
+ fireEvent.click(screen.getByRole('button', { name: 'Undo' }))
125
+ fireEvent.click(screen.getByRole('button', { name: 'Redo' }))
126
+ expect(onUndo).toHaveBeenCalledOnce()
127
+ expect(onRedo).toHaveBeenCalledOnce()
128
+ })
102
129
  })
103
130
 
104
131
  describe('EditorTopBar view site / share', () => {
@@ -211,6 +211,36 @@ describe('PostSectionEditor section disclosure', () => {
211
211
  fireEvent.click(screen.getByRole('button', { name: 'Close Quote' }))
212
212
  await waitFor(() => expect(screen.queryByRole('button', { name: 'Close Quote' })).toBeNull())
213
213
  })
214
+
215
+ it('undo puts a hidden section back', async () => {
216
+ fetchTemplateForEditor.mockRejectedValue(new Error('no template'))
217
+ fetchPostForEditor.mockResolvedValue(
218
+ loadedPost([{ id: 's1', sectionType: 'quote', name: 'Quote' }]),
219
+ )
220
+ render(
221
+ <PostSectionEditor
222
+ postType="blog"
223
+ documentId="p1"
224
+ config={validConfig}
225
+ onNavigate={() => {}}
226
+ session={{ user: { role: 'EDITOR' } }}
227
+ />,
228
+ )
229
+
230
+ const hide = await screen.findByRole('button', { name: 'Hide Quote' })
231
+ fireEvent.click(hide)
232
+ await screen.findByRole('button', { name: 'Show Quote' })
233
+
234
+ const undo = screen.getByRole('button', { name: 'Undo' }) as HTMLButtonElement
235
+ await waitFor(() => expect(undo.disabled).toBe(false))
236
+ fireEvent.click(undo)
237
+ await screen.findByRole('button', { name: 'Hide Quote' })
238
+
239
+ const redo = screen.getByRole('button', { name: 'Redo' }) as HTMLButtonElement
240
+ await waitFor(() => expect(redo.disabled).toBe(false))
241
+ fireEvent.click(redo)
242
+ await screen.findByRole('button', { name: 'Show Quote' })
243
+ })
214
244
  })
215
245
 
216
246
  describe('PostSectionEditor Share', () => {
@@ -0,0 +1,102 @@
1
+ 'use client'
2
+
3
+ import { useCallback, useEffect, useRef, useState } from 'react'
4
+ import {
5
+ createEditorHistory,
6
+ isNativeEditingTarget,
7
+ pushEditorHistory,
8
+ redoEditorHistory,
9
+ undoEditorHistory,
10
+ } from '../lib/editor-history.js'
11
+
12
+ function cloneSnapshot<T>(value: T): T {
13
+ return JSON.parse(JSON.stringify(value)) as T
14
+ }
15
+
16
+ /**
17
+ * Snapshot stack for the section editor. `note` records the document from
18
+ * before a change and is safe to call inside a state updater (it only writes
19
+ * a ref). The stack commits after that render. Rapid notes with the same key
20
+ * collapse into one step.
21
+ */
22
+ export function useEditorHistory<T>(current: T | null, resetKey: string | null) {
23
+ const historyRef = useRef(createEditorHistory<T>())
24
+ const pendingRef = useRef<Array<{ snapshot: T; key: string; coalesce: boolean }>>([])
25
+ const [, setRevision] = useState(0)
26
+
27
+ const note = useCallback((snapshot: T, key: string, coalesce = false) => {
28
+ pendingRef.current.push({ snapshot: cloneSnapshot(snapshot), key, coalesce })
29
+ }, [])
30
+
31
+ useEffect(() => {
32
+ historyRef.current = createEditorHistory()
33
+ pendingRef.current = []
34
+ setRevision((n) => n + 1)
35
+ }, [resetKey])
36
+
37
+ useEffect(() => {
38
+ if (pendingRef.current.length === 0) return
39
+ const now = Date.now()
40
+ let next = historyRef.current
41
+ for (const item of pendingRef.current) {
42
+ next = pushEditorHistory(next, item.snapshot, {
43
+ key: item.key,
44
+ now,
45
+ coalesce: item.coalesce,
46
+ })
47
+ }
48
+ pendingRef.current = []
49
+ historyRef.current = next
50
+ setRevision((n) => n + 1)
51
+ }, [current])
52
+
53
+ const undo = useCallback((): T | null => {
54
+ if (current == null) return null
55
+ const result = undoEditorHistory(historyRef.current, cloneSnapshot(current))
56
+ if (!result) return null
57
+ historyRef.current = result.history
58
+ setRevision((n) => n + 1)
59
+ return result.value
60
+ }, [current])
61
+
62
+ const redo = useCallback((): T | null => {
63
+ if (current == null) return null
64
+ const result = redoEditorHistory(historyRef.current, cloneSnapshot(current))
65
+ if (!result) return null
66
+ historyRef.current = result.history
67
+ setRevision((n) => n + 1)
68
+ return result.value
69
+ }, [current])
70
+
71
+ return {
72
+ note,
73
+ undo,
74
+ redo,
75
+ canUndo: historyRef.current.past.length > 0,
76
+ canRedo: historyRef.current.future.length > 0,
77
+ }
78
+ }
79
+
80
+ export function useSectionEditorShortcuts(input: {
81
+ enabled: boolean
82
+ onUndo: () => void
83
+ onRedo: () => void
84
+ }) {
85
+ const { enabled, onUndo, onRedo } = input
86
+ useEffect(() => {
87
+ if (!enabled) return
88
+ function onKey(event: KeyboardEvent) {
89
+ if (isNativeEditingTarget(event.target)) return
90
+ if (!(event.metaKey || event.ctrlKey) || event.altKey) return
91
+ const key = event.key.toLowerCase()
92
+ const redoKey = key === 'y' || (key === 'z' && event.shiftKey)
93
+ const undoKey = key === 'z' && !event.shiftKey
94
+ if (!undoKey && !redoKey) return
95
+ event.preventDefault()
96
+ if (redoKey) onRedo()
97
+ else onUndo()
98
+ }
99
+ document.addEventListener('keydown', onKey)
100
+ return () => document.removeEventListener('keydown', onKey)
101
+ }, [enabled, onUndo, onRedo])
102
+ }
@@ -0,0 +1,10 @@
1
+ /** Shown in the keyboard-shortcuts dialog (⌘ /). */
2
+ export const ADMIN_KEYBOARD_SHORTCUTS: ReadonlyArray<{ keys: string; label: string }> = [
3
+ { keys: '⌘ K', label: 'Open search' },
4
+ { keys: '⌘ S', label: 'Save document' },
5
+ { keys: '⌘ Z', label: 'Undo in the section editor' },
6
+ { keys: '⌘ ⇧ Z', label: 'Redo in the section editor' },
7
+ { keys: '⌘ Y', label: 'Redo in the section editor' },
8
+ { keys: '⌘ /', label: 'Toggle this help' },
9
+ { keys: 'Esc', label: 'Close panel / modal' },
10
+ ]