@prenta/admin 1.0.0 → 1.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 (117) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/AdminRoot.d.ts.map +1 -1
  3. package/dist/AdminRoot.js +5 -56
  4. package/dist/AdminRoot.js.map +1 -1
  5. package/dist/__tests__/components/breakpoint-controls.render.test.js +4 -4
  6. package/dist/__tests__/components/breakpoint-controls.render.test.js.map +1 -1
  7. package/dist/__tests__/lib/open-public-site-tab.test.d.ts +2 -0
  8. package/dist/__tests__/lib/open-public-site-tab.test.d.ts.map +1 -0
  9. package/dist/__tests__/lib/open-public-site-tab.test.js +64 -0
  10. package/dist/__tests__/lib/open-public-site-tab.test.js.map +1 -0
  11. package/dist/__tests__/lib/view-site-chrome.test.d.ts +2 -0
  12. package/dist/__tests__/lib/view-site-chrome.test.d.ts.map +1 -0
  13. package/dist/__tests__/lib/view-site-chrome.test.js +59 -0
  14. package/dist/__tests__/lib/view-site-chrome.test.js.map +1 -0
  15. package/dist/__tests__/router/admin-routes.test.js +4 -0
  16. package/dist/__tests__/router/admin-routes.test.js.map +1 -1
  17. package/dist/__tests__/views/canvas-surface-shared.test.js +0 -16
  18. package/dist/__tests__/views/canvas-surface-shared.test.js.map +1 -1
  19. package/dist/__tests__/views/editor-top-bar.render.test.js +44 -22
  20. package/dist/__tests__/views/editor-top-bar.render.test.js.map +1 -1
  21. package/dist/__tests__/views/page-section-editor.test.js +30 -9
  22. package/dist/__tests__/views/page-section-editor.test.js.map +1 -1
  23. package/dist/__tests__/views/post-section-editor.test.js +23 -0
  24. package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
  25. package/dist/components/BreakpointPicker.d.ts +3 -2
  26. package/dist/components/BreakpointPicker.d.ts.map +1 -1
  27. package/dist/components/BreakpointPicker.js +5 -3
  28. package/dist/components/BreakpointPicker.js.map +1 -1
  29. package/dist/components/CanvasEditTip.js +1 -1
  30. package/dist/components/CanvasEditTip.js.map +1 -1
  31. package/dist/lib/editor-preview.d.ts +4 -1
  32. package/dist/lib/editor-preview.d.ts.map +1 -1
  33. package/dist/lib/editor-preview.js +4 -1
  34. package/dist/lib/editor-preview.js.map +1 -1
  35. package/dist/lib/open-public-site-tab.d.ts +14 -0
  36. package/dist/lib/open-public-site-tab.d.ts.map +1 -0
  37. package/dist/lib/open-public-site-tab.js +46 -0
  38. package/dist/lib/open-public-site-tab.js.map +1 -0
  39. package/dist/lib/view-site-chrome.d.ts +16 -0
  40. package/dist/lib/view-site-chrome.d.ts.map +1 -0
  41. package/dist/lib/view-site-chrome.js +15 -0
  42. package/dist/lib/view-site-chrome.js.map +1 -0
  43. package/dist/router/admin-routes.d.ts.map +1 -1
  44. package/dist/router/admin-routes.js +0 -2
  45. package/dist/router/admin-routes.js.map +1 -1
  46. package/dist/views/page-editor/EditorCanvas.d.ts +1 -2
  47. package/dist/views/page-editor/EditorCanvas.d.ts.map +1 -1
  48. package/dist/views/page-editor/EditorCanvas.js +2 -2
  49. package/dist/views/page-editor/EditorCanvas.js.map +1 -1
  50. package/dist/views/page-editor/EditorTopBar.d.ts +13 -17
  51. package/dist/views/page-editor/EditorTopBar.d.ts.map +1 -1
  52. package/dist/views/page-editor/EditorTopBar.js +19 -21
  53. package/dist/views/page-editor/EditorTopBar.js.map +1 -1
  54. package/dist/views/page-editor/PageSectionEditor.d.ts +1 -7
  55. package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
  56. package/dist/views/page-editor/PageSectionEditor.js +29 -95
  57. package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
  58. package/dist/views/page-editor/StructureNotice.d.ts +2 -5
  59. package/dist/views/page-editor/StructureNotice.d.ts.map +1 -1
  60. package/dist/views/page-editor/StructureNotice.js +6 -10
  61. package/dist/views/page-editor/StructureNotice.js.map +1 -1
  62. package/dist/views/post-editor/PostEditorCanvas.d.ts +1 -3
  63. package/dist/views/post-editor/PostEditorCanvas.d.ts.map +1 -1
  64. package/dist/views/post-editor/PostEditorCanvas.js +3 -3
  65. package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
  66. package/dist/views/post-editor/PostSectionEditor.d.ts +1 -15
  67. package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
  68. package/dist/views/post-editor/PostSectionEditor.js +30 -88
  69. package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
  70. package/package.json +4 -4
  71. package/src/AdminRoot.tsx +0 -70
  72. package/src/__tests__/components/breakpoint-controls.render.test.tsx +6 -4
  73. package/src/__tests__/lib/open-public-site-tab.test.ts +74 -0
  74. package/src/__tests__/lib/view-site-chrome.test.ts +65 -0
  75. package/src/__tests__/router/admin-routes.test.ts +5 -0
  76. package/src/__tests__/views/canvas-surface-shared.test.ts +0 -19
  77. package/src/__tests__/views/editor-top-bar.render.test.tsx +85 -22
  78. package/src/__tests__/views/page-section-editor.test.tsx +42 -9
  79. package/src/__tests__/views/post-section-editor.test.tsx +35 -0
  80. package/src/components/BreakpointPicker.tsx +6 -3
  81. package/src/components/CanvasEditTip.tsx +2 -2
  82. package/src/lib/editor-preview.ts +4 -1
  83. package/src/lib/open-public-site-tab.ts +57 -0
  84. package/src/lib/view-site-chrome.ts +34 -0
  85. package/src/router/admin-routes.ts +0 -2
  86. package/src/styles/theme.css +4 -4
  87. package/src/views/page-editor/EditorCanvas.tsx +1 -6
  88. package/src/views/page-editor/EditorTopBar.tsx +81 -82
  89. package/src/views/page-editor/PageSectionEditor.tsx +77 -157
  90. package/src/views/page-editor/StructureNotice.tsx +7 -42
  91. package/src/views/post-editor/PostEditorCanvas.tsx +2 -8
  92. package/src/views/post-editor/PostSectionEditor.tsx +66 -138
  93. package/dist/__tests__/views/use-site-preview.render.test.d.ts +0 -2
  94. package/dist/__tests__/views/use-site-preview.render.test.d.ts.map +0 -1
  95. package/dist/__tests__/views/use-site-preview.render.test.js +0 -120
  96. package/dist/__tests__/views/use-site-preview.render.test.js.map +0 -1
  97. package/dist/views/page-editor/PagePreview.d.ts +0 -13
  98. package/dist/views/page-editor/PagePreview.d.ts.map +0 -1
  99. package/dist/views/page-editor/PagePreview.js +0 -46
  100. package/dist/views/page-editor/PagePreview.js.map +0 -1
  101. package/dist/views/page-editor/SitePreviewFrame.d.ts +0 -43
  102. package/dist/views/page-editor/SitePreviewFrame.d.ts.map +0 -1
  103. package/dist/views/page-editor/SitePreviewFrame.js +0 -165
  104. package/dist/views/page-editor/SitePreviewFrame.js.map +0 -1
  105. package/dist/views/page-editor/useSitePreview.d.ts +0 -47
  106. package/dist/views/page-editor/useSitePreview.d.ts.map +0 -1
  107. package/dist/views/page-editor/useSitePreview.js +0 -96
  108. package/dist/views/page-editor/useSitePreview.js.map +0 -1
  109. package/dist/views/post-editor/PostPreview.d.ts +0 -14
  110. package/dist/views/post-editor/PostPreview.d.ts.map +0 -1
  111. package/dist/views/post-editor/PostPreview.js +0 -63
  112. package/dist/views/post-editor/PostPreview.js.map +0 -1
  113. package/src/__tests__/views/use-site-preview.render.test.tsx +0 -164
  114. package/src/views/page-editor/PagePreview.tsx +0 -105
  115. package/src/views/page-editor/SitePreviewFrame.tsx +0 -250
  116. package/src/views/page-editor/useSitePreview.ts +0 -158
  117. package/src/views/post-editor/PostPreview.tsx +0 -125
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @actuate-media/cms-admin
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ceec262: Remove the inline Site preview iframe and the eye/admin-renderer preview from the page and post editors. View site opens the public page in a new tab (draft token, or live URL when published and clean). Published + dirty previews unpublished changes and still offers View live. Share is available when there is unpublished work. `admin.editor.defaultSitePreview` is ignored. Closes #777: the live design is the new tab; the canvas is not a CSS viewport.
8
+
3
9
  ## 1.0.0
4
10
 
5
11
  ### Major Changes
@@ -1 +1 @@
1
- {"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"AA6CA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uCAAuC,CAAA;AAY9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;QACX,OAAO,EAAE,OAAO,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC,CAAA;IACF,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CACb,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2vBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAoB9C"}
1
+ {"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uCAAuC,CAAA;AAW9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;QACX,OAAO,EAAE,OAAO,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC,CAAA;IACF,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CACb,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAurBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAoB9C"}
package/dist/AdminRoot.js CHANGED
@@ -37,7 +37,6 @@ import { useKeyboardShortcuts } from './hooks/useKeyboardShortcuts.js';
37
37
  import { useAppearanceBootstrap } from './hooks/useAppearanceBootstrap.js';
38
38
  import { useIdleLogout } from './hooks/useIdleLogout.js';
39
39
  import { PageSectionEditor } from './views/page-editor/PageSectionEditor.js';
40
- import { PagePreview } from './views/page-editor/PagePreview.js';
41
40
  import { AdminSectionRenderersProvider, } from './views/page-editor/sections/index.js';
42
41
  import { PagesListView } from './views/Pages/PagesListView.js';
43
42
  import { PageTagManager } from './views/Pages/PageTagManager.js';
@@ -48,7 +47,6 @@ import { NewPostPicker } from './views/Posts/NewPostPicker.js';
48
47
  import { NewPostTypeInstructions } from './views/Posts/NewPostTypeInstructions.js';
49
48
  import { PostSectionEditor } from './views/post-editor/PostSectionEditor.js';
50
49
  import { PostTemplateEditor } from './views/post-editor/PostTemplateEditor.js';
51
- import { PostPreview } from './views/post-editor/PostPreview.js';
52
50
  /** Client-side alias so retired canvas URLs land on the section editor. */
53
51
  function Redirect({ to, navigate }) {
54
52
  useEffect(() => {
@@ -72,40 +70,6 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
72
70
  navigate(initialPath);
73
71
  await onLogout?.();
74
72
  }, [navigate, initialPath, onLogout]);
75
- // Open a preview route in a new browser tab so it behaves like a normal,
76
- // shareable page (its own URL, no admin chrome — see the standalone branch
77
- // below). The blank tab is opened synchronously inside the click gesture so
78
- // popup blockers permit it; `prepare` (e.g. saving an unsaved draft) runs
79
- // before we point the tab at the URL, guaranteeing the preview reflects the
80
- // latest saved content. If `prepare` rejects, the tab is closed.
81
- const openPreview = useCallback((path, prepare) => {
82
- if (typeof window === 'undefined')
83
- return;
84
- const tab = window.open('about:blank', '_blank');
85
- if (!tab) {
86
- toast.error('Enable pop-ups for this site to open the preview in a new tab.');
87
- return;
88
- }
89
- const go = (ok) => {
90
- if (ok === false) {
91
- tab?.close();
92
- return;
93
- }
94
- if (tab && !tab.closed) {
95
- // Sever the opener link for safety, then load the real URL.
96
- try {
97
- tab.opener = null;
98
- }
99
- catch {
100
- /* cross-origin guard — never throws for same-origin admin */
101
- }
102
- tab.location.replace(buildHref(path));
103
- }
104
- };
105
- Promise.resolve(prepare?.())
106
- .then(go)
107
- .catch(() => tab?.close());
108
- }, [buildHref]);
109
73
  // Idle auto-logout (Settings → Security). The policy is read from the
110
74
  // non-admin-gated /auth/session-policy endpoint so every member's client
111
75
  // enforces it, not just admins. When enabled, `timeoutHours` of inactivity
@@ -297,15 +261,11 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
297
261
  // reserved "types" segment.
298
262
  const postNew = matchRoute('/posts/:type/new');
299
263
  if (postNew?.type) {
300
- return (_jsx(PostSectionEditor, { postType: postNew.type, config: config, session: session, onNavigate: navigate, onOpenPreview: openPreview }));
301
- }
302
- const postPreview = matchRoute('/posts/:type/:id/preview');
303
- if (postPreview?.type && postPreview?.id) {
304
- return (_jsx(PostPreview, { postType: postPreview.type, documentId: postPreview.id, session: session, onNavigate: navigate }));
264
+ return (_jsx(PostSectionEditor, { postType: postNew.type, config: config, session: session, onNavigate: navigate }));
305
265
  }
306
266
  const postEdit = matchRoute('/posts/:type/:id/edit');
307
267
  if (postEdit?.type && postEdit?.id) {
308
- return (_jsx(PostSectionEditor, { postType: postEdit.type, documentId: postEdit.id, config: config, session: session, onNavigate: navigate, onOpenPreview: openPreview }));
268
+ return (_jsx(PostSectionEditor, { postType: postEdit.type, documentId: postEdit.id, config: config, session: session, onNavigate: navigate }));
309
269
  }
310
270
  // ─── Pages area ────────────────────────────────────────────────
311
271
  // Ordering matters: tag routes and /pages/new must be tested before
@@ -327,19 +287,15 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
327
287
  // in the query string (`/pages/new?parent=<id>`); matchRoute ignores
328
288
  // the query so it's parsed here and preselected in the editor.
329
289
  const newPageQuery = parseRouteQuery(currentPath);
330
- return (_jsx(PageSectionEditor, { initialParentId: newPageQuery.get('parent'), config: config, session: session, onNavigate: navigate, onOpenPreview: openPreview }));
331
- }
332
- const pagePreview = matchRoute('/pages/:id/preview');
333
- if (pagePreview?.id) {
334
- return _jsx(PagePreview, { documentId: pagePreview.id, onNavigate: navigate });
290
+ return (_jsx(PageSectionEditor, { initialParentId: newPageQuery.get('parent'), config: config, session: session, onNavigate: navigate }));
335
291
  }
336
292
  const pageEdit = matchRoute('/pages/:id/edit');
337
293
  if (pageEdit?.id) {
338
- return (_jsx(PageSectionEditor, { documentId: pageEdit.id, config: config, session: session, onNavigate: navigate, onOpenPreview: openPreview }));
294
+ return (_jsx(PageSectionEditor, { documentId: pageEdit.id, config: config, session: session, onNavigate: navigate }));
339
295
  }
340
296
  const pageEditBare = matchRoute('/pages/:id');
341
297
  if (pageEditBare?.id) {
342
- return (_jsx(PageSectionEditor, { documentId: pageEditBare.id, config: config, session: session, onNavigate: navigate, onOpenPreview: openPreview }));
298
+ return (_jsx(PageSectionEditor, { documentId: pageEditBare.id, config: config, session: session, onNavigate: navigate }));
343
299
  }
344
300
  if (matchRoute('/pages')) {
345
301
  return _jsx(PagesListView, { onNavigate: navigate });
@@ -461,13 +417,6 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
461
417
  }
462
418
  return (_jsxs("div", { className: "flex min-h-[400px] flex-col items-center justify-center p-6 text-center", children: [_jsx("h1", { className: "text-foreground mb-2 text-4xl font-medium", children: "404" }), _jsx("p", { className: "text-muted-foreground mb-4", children: "The page you are looking for does not exist." }), _jsx("button", { onClick: () => navigate('/'), className: "text-primary-foreground bg-primary rounded-md px-4 py-2 text-sm font-medium hover:opacity-90", children: "Back to Dashboard" })] }));
463
419
  }
464
- // Preview routes render as standalone pages (no sidebar/header) so a
465
- // new-tab preview looks like the real published page rather than an
466
- // embedded admin view. Everything else gets the full admin chrome.
467
- // Query string is stripped — currentPath carries it after reloads.
468
- if (currentPath.split('?')[0].endsWith('/preview')) {
469
- return (_jsx("div", { className: "bg-background h-full min-h-screen", children: _jsx(ErrorBoundary, { children: renderView() }) }));
470
- }
471
420
  return (_jsxs(Layout, { config: config, session: session, currentPath: currentPath, onNavigate: navigate, onLogout: handleLogout, children: [_jsx(ErrorBoundary, { children: renderView() }), _jsx(ShortcutHelp, { open: shortcutHelpOpen, onClose: () => setShortcutHelpOpen(false) })] }));
472
421
  }
473
422
  function ShortcutHelp({ open, onClose }) {
@@ -1 +1 @@
1
- {"version":3,"file":"AdminRoot.js","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminRoot.js","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { fireEvent, render, screen } from '@testing-library/react';
5
5
  import { BreakpointPicker } from '../../components/BreakpointPicker.js';
6
6
  import { ZoomChip } from '../../components/ZoomChip.js';
7
7
  describe('BreakpointPicker', () => {
8
- it('names the current breakpoint and its width to assistive tech', () => {
8
+ it('names canvas width, not a live preview', () => {
9
9
  render(_jsx(BreakpointPicker, { value: "tabletL", onChange: vi.fn() }));
10
- // The visible label collapses to an abbreviation at narrow header widths,
11
- // so the accessible name has to carry the full fact on its own.
12
- expect(screen.getByRole('button', { name: /Tablet Landscape, 1024 pixels/i })).toBeTruthy();
10
+ expect(screen.getByRole('button', {
11
+ name: 'Canvas width: Tablet Landscape, 1024 pixels. First-party layout only use View site for the live design.',
12
+ })).toBeTruthy();
13
13
  });
14
14
  it('renders 4K at 2560, not the physical pixel count', () => {
15
15
  render(_jsx(BreakpointPicker, { value: "4k", onChange: vi.fn() }));
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoint-controls.render.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/breakpoint-controls.render.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breakpoint-controls.render.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/breakpoint-controls.render.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=open-public-site-tab.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-public-site-tab.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/lib/open-public-site-tab.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
+ const createPreviewToken = vi.fn();
3
+ vi.mock('../../lib/preview-link.js', async (importOriginal) => {
4
+ const actual = await importOriginal();
5
+ return { ...actual, createPreviewToken };
6
+ });
7
+ const { openPublicSiteTab } = await import('../../lib/open-public-site-tab.js');
8
+ const { NO_PUBLIC_SITE_URL_REASON } = await import('../../lib/view-site-chrome.js');
9
+ function mockTab() {
10
+ return { close: vi.fn(), location: { replace: vi.fn() }, opener: {} };
11
+ }
12
+ afterEach(() => {
13
+ vi.unstubAllGlobals();
14
+ createPreviewToken.mockReset();
15
+ });
16
+ const base = {
17
+ siteUrl: 'https://example.com',
18
+ collection: 'pages',
19
+ documentId: 'p1',
20
+ slug: 'about',
21
+ path: '/about',
22
+ dirty: false,
23
+ saveDraft: vi.fn().mockResolvedValue(true),
24
+ };
25
+ describe('openPublicSiteTab', () => {
26
+ it('refuses to open the admin host when siteUrl is empty', async () => {
27
+ const open = vi.fn();
28
+ vi.stubGlobal('window', { open });
29
+ await expect(openPublicSiteTab({ ...base, siteUrl: '', intent: 'view-live' })).rejects.toThrow(NO_PUBLIC_SITE_URL_REASON);
30
+ expect(open).not.toHaveBeenCalled();
31
+ });
32
+ it('opens the live URL with no token', async () => {
33
+ const open = vi.fn();
34
+ vi.stubGlobal('window', { open });
35
+ await openPublicSiteTab({ ...base, intent: 'view-live' });
36
+ expect(open).toHaveBeenCalledWith('https://example.com/about', '_blank', 'noopener');
37
+ expect(createPreviewToken).not.toHaveBeenCalled();
38
+ expect(base.saveDraft).not.toHaveBeenCalled();
39
+ });
40
+ it('saves a dirty draft, mints a token, and replaces about:blank', async () => {
41
+ const tab = mockTab();
42
+ const open = vi.fn().mockReturnValue(tab);
43
+ vi.stubGlobal('window', { open });
44
+ createPreviewToken.mockResolvedValue({ token: 'tok', expiresAt: 'x' });
45
+ await openPublicSiteTab({ ...base, intent: 'preview-draft', dirty: true });
46
+ expect(open).toHaveBeenCalledWith('about:blank', '_blank');
47
+ expect(base.saveDraft).toHaveBeenCalledOnce();
48
+ expect(createPreviewToken).toHaveBeenCalledWith('pages', 'p1');
49
+ expect(tab.location.replace).toHaveBeenCalledWith('https://example.com/about?preview=tok');
50
+ });
51
+ it('closes the blank tab when save fails', async () => {
52
+ const tab = mockTab();
53
+ vi.stubGlobal('window', { open: vi.fn().mockReturnValue(tab) });
54
+ await openPublicSiteTab({
55
+ ...base,
56
+ intent: 'preview-draft',
57
+ dirty: true,
58
+ saveDraft: vi.fn().mockResolvedValue(false),
59
+ });
60
+ expect(tab.close).toHaveBeenCalledOnce();
61
+ expect(createPreviewToken).not.toHaveBeenCalled();
62
+ });
63
+ });
64
+ //# sourceMappingURL=open-public-site-tab.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-public-site-tab.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/open-public-site-tab.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE5D,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;AAClC,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,EAA8C,CAAA;IACjF,OAAO,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAA;AAC/E,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;AAEnF,SAAS,OAAO;IACd,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAa,EAAE,CAAA;AAClF,CAAC;AAED,SAAS,CAAC,GAAG,EAAE;IACb,EAAE,CAAC,gBAAgB,EAAE,CAAA;IACrB,kBAAkB,CAAC,SAAS,EAAE,CAAA;AAChC,CAAC,CAAC,CAAA;AAEF,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,qBAAqB;IAC9B,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;CAC3C,CAAA;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACpB,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjC,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5F,yBAAyB,CAC1B,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACpB,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjC,MAAM,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,2BAA2B,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACpF,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACzC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QACtE,MAAM,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1E,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,uCAAuC,CAAC,CAAA;IAC5F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,iBAAiB,CAAC;YACtB,GAAG,IAAI;YACP,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAA;QACxC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=view-site-chrome.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-site-chrome.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/lib/view-site-chrome.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { NO_PUBLIC_SITE_URL_REASON, resolveViewSiteChrome } from '../../lib/view-site-chrome.js';
3
+ const base = {
4
+ dirty: false,
5
+ hasPublicSiteUrl: true,
6
+ hasIdentity: true,
7
+ };
8
+ describe('resolveViewSiteChrome', () => {
9
+ it('previews a draft and shows Share', () => {
10
+ expect(resolveViewSiteChrome({ ...base, status: 'DRAFT' })).toEqual({
11
+ viewEnabled: true,
12
+ primaryIntent: 'preview-draft',
13
+ showViewLive: false,
14
+ shareVisible: true,
15
+ });
16
+ });
17
+ it('treats scheduled and archived like a draft', () => {
18
+ for (const status of ['SCHEDULED', 'ARCHIVED']) {
19
+ expect(resolveViewSiteChrome({ ...base, status }).primaryIntent).toBe('preview-draft');
20
+ expect(resolveViewSiteChrome({ ...base, status }).shareVisible).toBe(true);
21
+ }
22
+ });
23
+ it('opens live on a clean published document and hides Share', () => {
24
+ expect(resolveViewSiteChrome({ ...base, status: 'PUBLISHED' })).toEqual({
25
+ viewEnabled: true,
26
+ primaryIntent: 'view-live',
27
+ showViewLive: false,
28
+ shareVisible: false,
29
+ });
30
+ });
31
+ it('previews unpublished changes when published and dirty, and keeps View live + Share', () => {
32
+ expect(resolveViewSiteChrome({ ...base, status: 'PUBLISHED', dirty: true })).toEqual({
33
+ viewEnabled: true,
34
+ primaryIntent: 'preview-draft',
35
+ showViewLive: true,
36
+ shareVisible: true,
37
+ });
38
+ });
39
+ it('disables View site and Share when the public site URL is missing', () => {
40
+ const chrome = resolveViewSiteChrome({
41
+ ...base,
42
+ status: 'DRAFT',
43
+ hasPublicSiteUrl: false,
44
+ });
45
+ expect(chrome.viewEnabled).toBe(false);
46
+ expect(chrome.viewDisabledReason).toBe(NO_PUBLIC_SITE_URL_REASON);
47
+ expect(chrome.shareVisible).toBe(true);
48
+ });
49
+ it('hides View site and Share when the document is unsaved', () => {
50
+ const chrome = resolveViewSiteChrome({
51
+ ...base,
52
+ status: 'DRAFT',
53
+ hasIdentity: false,
54
+ });
55
+ expect(chrome.viewEnabled).toBe(false);
56
+ expect(chrome.shareVisible).toBe(false);
57
+ });
58
+ });
59
+ //# sourceMappingURL=view-site-chrome.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-site-chrome.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/view-site-chrome.test.ts"],"names":[],"mappings":"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"}
@@ -58,5 +58,9 @@ describe('ADMIN_STATIC_ROUTE_PATTERNS stays in sync with AdminRoot', () => {
58
58
  const missing = [...new Set(literals)].filter((p) => !known.has(p));
59
59
  expect(missing).toEqual([]);
60
60
  });
61
+ it('does not keep the retired admin-renderer preview routes', () => {
62
+ expect(ADMIN_STATIC_ROUTE_PATTERNS).not.toContain('/pages/:id/preview');
63
+ expect(ADMIN_STATIC_ROUTE_PATTERNS).not.toContain('/posts/:type/:id/preview');
64
+ });
61
65
  });
62
66
  //# sourceMappingURL=admin-routes.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-routes.test.js","sourceRoot":"","sources":["../../../src/__tests__/router/admin-routes.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-routes.test.js","sourceRoot":"","sources":["../../../src/__tests__/router/admin-routes.test.ts"],"names":[],"mappings":"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"}
@@ -49,21 +49,5 @@ describe('canvas surface is shared, not copied', () => {
49
49
  expect(read(rel), `${rel} re-implements the scale`).not.toMatch(/fitScale/);
50
50
  }
51
51
  });
52
- /**
53
- * `SitePreviewFrame` was the third copy of `clientWidth - 48` and the one
54
- * followup 2 left alone, because it scales an IFRAME rather than a rendered
55
- * surface and cannot render `CanvasSurface`. It can still measure the same
56
- * way, and now does: the padding arithmetic is gone even though the
57
- * component is not shared.
58
- *
59
- * Kept apart from CANVASES on purpose — the assertion here is about the
60
- * measurement, not about rendering the shared surface, and folding it in
61
- * would make the other two tests claim something untrue about it.
62
- */
63
- it('the site preview measures from a sentinel too, though it cannot share the surface', () => {
64
- const preview = read('src/views/page-editor/SitePreviewFrame.tsx');
65
- expect(preview, 'SitePreviewFrame still does padding arithmetic').not.toMatch(/clientWidth\s*-\s*\d/);
66
- expect(preview, 'SitePreviewFrame does not measure from a sentinel').toMatch(/sentinelRef/);
67
- });
68
52
  });
69
53
  //# sourceMappingURL=canvas-surface-shared.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-surface-shared.test.js","sourceRoot":"","sources":["../../../src/__tests__/views/canvas-surface-shared.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AAEH,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3B,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC;KAC5B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;KAChC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAEjC,MAAM,QAAQ,GAAG;IACf,wCAAwC;IACxC,4CAA4C;CAC7C,CAAA;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,gCAAgC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACjF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC,CAAC,CAAA;IAEF;;;;;;;;;;OAUG;IACH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAClE,MAAM,CAAC,OAAO,EAAE,gDAAgD,CAAC,CAAC,GAAG,CAAC,OAAO,CAC3E,sBAAsB,CACvB,CAAA;QACD,MAAM,CAAC,OAAO,EAAE,mDAAmD,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"canvas-surface-shared.test.js","sourceRoot":"","sources":["../../../src/__tests__/views/canvas-surface-shared.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AAEH,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3B,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC;KAC5B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;KAChC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAEjC,MAAM,QAAQ,GAAG;IACf,wCAAwC;IACxC,4CAA4C;CAC7C,CAAA;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,gCAAgC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACjF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -14,7 +14,6 @@ const baseProps = {
14
14
  viewport: 'wide',
15
15
  onViewport: vi.fn(),
16
16
  onBack: vi.fn(),
17
- onPreview: vi.fn(),
18
17
  onOpenSettings: vi.fn(),
19
18
  onSaveDraft: vi.fn(),
20
19
  onPublish: vi.fn(),
@@ -55,23 +54,52 @@ describe('EditorTopBar publish gating', () => {
55
54
  expect(screen.getByRole('button', { name: 'Schedule publish' }).disabled).toBe(true);
56
55
  });
57
56
  });
58
- describe('EditorTopBar view-on-site vs view-live', () => {
59
- it('labels the external-link button "View draft on site" for a draft', () => {
60
- render(_jsx(EditorTopBar, { ...baseProps, status: "DRAFT", onViewOnSite: vi.fn() }));
61
- expect(screen.getByRole('button', { name: 'View draft on site' })).toBeTruthy();
62
- expect(screen.queryByRole('button', { name: 'View live page' })).toBeNull();
57
+ describe('EditorTopBar view site / share', () => {
58
+ it('does not render the eye or the globe', () => {
59
+ render(_jsx(EditorTopBar, { ...baseProps, onViewOnSite: vi.fn(), onShare: vi.fn(), hasPublicSiteUrl: true }));
60
+ expect(screen.queryByRole('button', { name: /Preview page|Preview structure/ })).toBeNull();
63
61
  });
64
- it('labels it "View live page" for a published document and calls the handler', () => {
62
+ it('labels View site on a draft and calls with preview-draft', () => {
65
63
  const onViewOnSite = vi.fn();
66
- render(_jsx(EditorTopBar, { ...baseProps, status: "PUBLISHED", onViewOnSite: onViewOnSite }));
67
- const btn = screen.getByRole('button', { name: 'View live page' });
68
- fireEvent.click(btn);
69
- expect(onViewOnSite).toHaveBeenCalledOnce();
70
- expect(screen.queryByRole('button', { name: 'View draft on site' })).toBeNull();
64
+ render(_jsx(EditorTopBar, { ...baseProps, status: "DRAFT", onViewOnSite: onViewOnSite, onShare: vi.fn(), hasPublicSiteUrl: true }));
65
+ fireEvent.click(screen.getByRole('button', { name: 'View site' }));
66
+ expect(onViewOnSite).toHaveBeenCalledWith('preview-draft');
67
+ expect(screen.getByRole('button', { name: 'Share' })).toBeTruthy();
68
+ });
69
+ it('labels View live on a clean published document and hides Share', () => {
70
+ const onViewOnSite = vi.fn();
71
+ render(_jsx(EditorTopBar, { ...baseProps, status: "PUBLISHED", onViewOnSite: onViewOnSite, onShare: vi.fn(), hasPublicSiteUrl: true }));
72
+ fireEvent.click(screen.getByRole('button', { name: 'View live' }));
73
+ expect(onViewOnSite).toHaveBeenCalledWith('view-live');
74
+ expect(screen.queryByRole('button', { name: 'Share' })).toBeNull();
75
+ });
76
+ it('keeps View live as a second action when published and dirty', () => {
77
+ const onViewOnSite = vi.fn();
78
+ render(_jsx(EditorTopBar, { ...baseProps, status: "PUBLISHED", dirty: true, onViewOnSite: onViewOnSite, onShare: vi.fn(), hasPublicSiteUrl: true }));
79
+ fireEvent.click(screen.getByRole('button', { name: 'View site' }));
80
+ expect(onViewOnSite).toHaveBeenCalledWith('preview-draft');
81
+ // Radix DropdownMenu opens on pointerdown (not click), which happy-dom
82
+ // doesn't synthesize from fireEvent.click — open via keyboard instead.
83
+ fireEvent.keyDown(screen.getByRole('button', { name: 'More view options' }), {
84
+ key: 'Enter',
85
+ });
86
+ fireEvent.click(screen.getByRole('menuitem', { name: 'View live' }));
87
+ expect(onViewOnSite).toHaveBeenCalledWith('view-live');
88
+ expect(screen.getByRole('button', { name: 'Share' })).toBeTruthy();
89
+ });
90
+ it('disables View site and Share when the public site URL is missing', () => {
91
+ render(_jsx(EditorTopBar, { ...baseProps, onViewOnSite: vi.fn(), onShare: vi.fn(), hasPublicSiteUrl: false }));
92
+ const view = screen.getByRole('button', { name: 'View site' });
93
+ const share = screen.getByRole('button', { name: 'Share' });
94
+ expect(view.disabled).toBe(true);
95
+ expect(share.disabled).toBe(true);
96
+ expect(view.getAttribute('title')).toBe('Set the public site URL in Settings → SEO to open the live design.');
71
97
  });
72
- it('hides the button when onViewOnSite is omitted (unsaved doc)', () => {
98
+ it('hides View site and Share when onViewOnSite is omitted (unsaved doc)', () => {
73
99
  render(_jsx(EditorTopBar, { ...baseProps, status: "PUBLISHED" }));
74
- expect(screen.queryByRole('button', { name: /View (live|draft)/ })).toBeNull();
100
+ expect(screen.queryByRole('button', { name: 'View site' })).toBeNull();
101
+ expect(screen.queryByRole('button', { name: 'View live' })).toBeNull();
102
+ expect(screen.queryByRole('button', { name: 'Share' })).toBeNull();
75
103
  });
76
104
  });
77
105
  describe('EditorTopBar history button', () => {
@@ -90,14 +118,8 @@ describe('EditorTopBar history button', () => {
90
118
  // coarse pointer — and it is applied per control, so a button written with
91
119
  // a conditional className is easy to leave out. Exactly that happened to
92
120
  // the history button, whose pressed state made it the odd one out.
93
- render(_jsx(EditorTopBar, { ...baseProps, onHistory: vi.fn(), onViewOnSite: vi.fn(), onToggleSitePreview: vi.fn() }));
94
- for (const name of [
95
- 'Page settings',
96
- 'Version history',
97
- 'Preview page',
98
- 'Inline site preview',
99
- 'View draft on site',
100
- ]) {
121
+ render(_jsx(EditorTopBar, { ...baseProps, status: "PUBLISHED", dirty: true, hasPublicSiteUrl: true, onHistory: vi.fn(), onViewOnSite: vi.fn() }));
122
+ for (const name of ['Page settings', 'Version history', 'More view options']) {
101
123
  const button = screen.getByRole('button', { name });
102
124
  expect(button.className, `${name} has no touch target`).toContain('prenta-touch-target');
103
125
  }