@prenta/admin 1.17.1 → 1.17.3

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 (293) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/__tests__/lib/posts-service.test.js +35 -0
  3. package/dist/__tests__/lib/posts-service.test.js.map +1 -1
  4. package/dist/__tests__/lib/public-path.test.d.ts +2 -0
  5. package/dist/__tests__/lib/public-path.test.d.ts.map +1 -0
  6. package/dist/__tests__/lib/public-path.test.js +25 -0
  7. package/dist/__tests__/lib/public-path.test.js.map +1 -0
  8. package/dist/__tests__/views/ai-settings.render.test.js +67 -1
  9. package/dist/__tests__/views/ai-settings.render.test.js.map +1 -1
  10. package/dist/__tests__/views/posts-list-view.render.test.js +11 -0
  11. package/dist/__tests__/views/posts-list-view.render.test.js.map +1 -1
  12. package/dist/__tests__/views/seo-autopilot-card.render.test.js +4 -2
  13. package/dist/__tests__/views/seo-autopilot-card.render.test.js.map +1 -1
  14. package/dist/components/CoauthorResultPopover.d.ts.map +1 -1
  15. package/dist/components/CoauthorResultPopover.js +4 -1
  16. package/dist/components/CoauthorResultPopover.js.map +1 -1
  17. package/dist/components/CommentSidePanel.d.ts +0 -7
  18. package/dist/components/CommentSidePanel.d.ts.map +1 -1
  19. package/dist/components/CommentSidePanel.js +0 -2
  20. package/dist/components/CommentSidePanel.js.map +1 -1
  21. package/dist/components/EditorRail.d.ts +2 -1
  22. package/dist/components/EditorRail.d.ts.map +1 -1
  23. package/dist/components/MediaPickerModal.d.ts +2 -1
  24. package/dist/components/MediaPickerModal.d.ts.map +1 -1
  25. package/dist/components/TipTapEditor.d.ts +3 -2
  26. package/dist/components/TipTapEditor.d.ts.map +1 -1
  27. package/dist/components/forms/EntriesTable.d.ts +0 -1
  28. package/dist/components/forms/EntriesTable.d.ts.map +1 -1
  29. package/dist/components/forms/EntriesTable.js +1 -1
  30. package/dist/components/forms/EntriesTable.js.map +1 -1
  31. package/dist/components/pages/tag-badges.d.ts +2 -2
  32. package/dist/components/pages/tag-badges.d.ts.map +1 -1
  33. package/dist/components/pages/tag-badges.js.map +1 -1
  34. package/dist/components/seo/FaqProposalPreview.d.ts +2 -3
  35. package/dist/components/seo/FaqProposalPreview.d.ts.map +1 -1
  36. package/dist/components/seo/FaqProposalPreview.js +1 -1
  37. package/dist/components/seo/FaqProposalPreview.js.map +1 -1
  38. package/dist/components/seo/SeoCopilotDrawer.js +1 -1
  39. package/dist/components/seo/SeoCopilotDrawer.js.map +1 -1
  40. package/dist/components/seo/SeoEditorPane.d.ts.map +1 -1
  41. package/dist/components/seo/SeoEditorPane.js +4 -1
  42. package/dist/components/seo/SeoEditorPane.js.map +1 -1
  43. package/dist/components/ui/Badge.d.ts +3 -9
  44. package/dist/components/ui/Badge.d.ts.map +1 -1
  45. package/dist/components/ui/Badge.js +2 -3
  46. package/dist/components/ui/Badge.js.map +1 -1
  47. package/dist/components/ui/Button.d.ts +2 -2
  48. package/dist/components/ui/Button.d.ts.map +1 -1
  49. package/dist/components/ui/Button.js +0 -1
  50. package/dist/components/ui/Button.js.map +1 -1
  51. package/dist/components/ui/Card.d.ts +2 -3
  52. package/dist/components/ui/Card.d.ts.map +1 -1
  53. package/dist/components/ui/Card.js +0 -4
  54. package/dist/components/ui/Card.js.map +1 -1
  55. package/dist/components/ui/Input.d.ts +6 -8
  56. package/dist/components/ui/Input.d.ts.map +1 -1
  57. package/dist/components/ui/Input.js +6 -6
  58. package/dist/components/ui/Input.js.map +1 -1
  59. package/dist/components/ui/Modal.d.ts +1 -1
  60. package/dist/components/ui/Modal.d.ts.map +1 -1
  61. package/dist/components/ui/ResizableAside.d.ts +0 -13
  62. package/dist/components/ui/ResizableAside.d.ts.map +1 -1
  63. package/dist/components/ui/ResizableAside.js +5 -5
  64. package/dist/components/ui/ResizableAside.js.map +1 -1
  65. package/dist/components/ui/StatusBadge.d.ts +2 -2
  66. package/dist/components/ui/StatusBadge.d.ts.map +1 -1
  67. package/dist/components/ui/StatusBadge.js +0 -1
  68. package/dist/components/ui/StatusBadge.js.map +1 -1
  69. package/dist/components/ui/Toggle.d.ts +2 -8
  70. package/dist/components/ui/Toggle.d.ts.map +1 -1
  71. package/dist/components/ui/Toggle.js +0 -1
  72. package/dist/components/ui/Toggle.js.map +1 -1
  73. package/dist/fields/FieldRenderer.d.ts +2 -1
  74. package/dist/fields/FieldRenderer.d.ts.map +1 -1
  75. package/dist/fields/index.d.ts +0 -17
  76. package/dist/fields/index.d.ts.map +1 -1
  77. package/dist/fields/index.js +0 -15
  78. package/dist/fields/index.js.map +1 -1
  79. package/dist/layout/primitives/tokens.d.ts +0 -2
  80. package/dist/layout/primitives/tokens.d.ts.map +1 -1
  81. package/dist/layout/primitives/tokens.js +0 -6
  82. package/dist/layout/primitives/tokens.js.map +1 -1
  83. package/dist/lib/brand-voice-client.d.ts +14 -1
  84. package/dist/lib/brand-voice-client.d.ts.map +1 -1
  85. package/dist/lib/brand-voice-client.js +7 -0
  86. package/dist/lib/brand-voice-client.js.map +1 -1
  87. package/dist/lib/coauthor-client.d.ts +2 -1
  88. package/dist/lib/coauthor-client.d.ts.map +1 -1
  89. package/dist/lib/collection-schema.d.ts +0 -9
  90. package/dist/lib/collection-schema.d.ts.map +1 -1
  91. package/dist/lib/collection-schema.js +2 -2
  92. package/dist/lib/collection-schema.js.map +1 -1
  93. package/dist/lib/editor-seo-content.d.ts +0 -10
  94. package/dist/lib/editor-seo-content.d.ts.map +1 -1
  95. package/dist/lib/editor-seo-content.js +0 -13
  96. package/dist/lib/editor-seo-content.js.map +1 -1
  97. package/dist/lib/forms-service.d.ts +3 -21
  98. package/dist/lib/forms-service.d.ts.map +1 -1
  99. package/dist/lib/forms-service.js +0 -25
  100. package/dist/lib/forms-service.js.map +1 -1
  101. package/dist/lib/notifications-client.d.ts +4 -3
  102. package/dist/lib/notifications-client.d.ts.map +1 -1
  103. package/dist/lib/page-audit-input.d.ts +0 -10
  104. package/dist/lib/page-audit-input.d.ts.map +1 -1
  105. package/dist/lib/page-audit-input.js +1 -1
  106. package/dist/lib/page-audit-input.js.map +1 -1
  107. package/dist/lib/page-editor-service.d.ts +2 -4
  108. package/dist/lib/page-editor-service.d.ts.map +1 -1
  109. package/dist/lib/page-editor-service.js +3 -3
  110. package/dist/lib/page-editor-service.js.map +1 -1
  111. package/dist/lib/pages-service.d.ts +2 -13
  112. package/dist/lib/pages-service.d.ts.map +1 -1
  113. package/dist/lib/pages-service.js +3 -24
  114. package/dist/lib/pages-service.js.map +1 -1
  115. package/dist/lib/plan.d.ts +2 -1
  116. package/dist/lib/plan.d.ts.map +1 -1
  117. package/dist/lib/post-editor-service.d.ts +3 -13
  118. package/dist/lib/post-editor-service.d.ts.map +1 -1
  119. package/dist/lib/post-editor-service.js +5 -6
  120. package/dist/lib/post-editor-service.js.map +1 -1
  121. package/dist/lib/post-types-service.d.ts +2 -3
  122. package/dist/lib/post-types-service.d.ts.map +1 -1
  123. package/dist/lib/post-types-service.js +1 -1
  124. package/dist/lib/post-types-service.js.map +1 -1
  125. package/dist/lib/posts-service.d.ts +8 -1
  126. package/dist/lib/posts-service.d.ts.map +1 -1
  127. package/dist/lib/posts-service.js +6 -1
  128. package/dist/lib/posts-service.js.map +1 -1
  129. package/dist/lib/preview-link.d.ts +0 -9
  130. package/dist/lib/preview-link.d.ts.map +1 -1
  131. package/dist/lib/preview-link.js +0 -15
  132. package/dist/lib/preview-link.js.map +1 -1
  133. package/dist/lib/public-path.d.ts +21 -0
  134. package/dist/lib/public-path.d.ts.map +1 -0
  135. package/dist/lib/public-path.js +28 -0
  136. package/dist/lib/public-path.js.map +1 -0
  137. package/dist/lib/rail-width.d.ts +0 -1
  138. package/dist/lib/rail-width.d.ts.map +1 -1
  139. package/dist/lib/rail-width.js +1 -1
  140. package/dist/lib/rail-width.js.map +1 -1
  141. package/dist/lib/reflow-probe.d.ts +0 -67
  142. package/dist/lib/reflow-probe.d.ts.map +1 -1
  143. package/dist/lib/reflow-probe.js +4 -4
  144. package/dist/lib/reflow-probe.js.map +1 -1
  145. package/dist/lib/seo-service.d.ts +14 -32
  146. package/dist/lib/seo-service.d.ts.map +1 -1
  147. package/dist/lib/seo-service.js +7 -26
  148. package/dist/lib/seo-service.js.map +1 -1
  149. package/dist/lib/theme-chrome.d.ts +0 -1
  150. package/dist/lib/theme-chrome.d.ts.map +1 -1
  151. package/dist/lib/theme-chrome.js +1 -1
  152. package/dist/lib/theme-chrome.js.map +1 -1
  153. package/dist/lib/version-history.d.ts +2 -2
  154. package/dist/lib/version-history.d.ts.map +1 -1
  155. package/dist/lib/workflow-chrome.d.ts +0 -3
  156. package/dist/lib/workflow-chrome.d.ts.map +1 -1
  157. package/dist/lib/workflow-chrome.js +3 -3
  158. package/dist/lib/workflow-chrome.js.map +1 -1
  159. package/dist/views/Login.d.ts +2 -1
  160. package/dist/views/Login.d.ts.map +1 -1
  161. package/dist/views/MediaBrowser.d.ts.map +1 -1
  162. package/dist/views/MediaBrowser.js +3 -2
  163. package/dist/views/MediaBrowser.js.map +1 -1
  164. package/dist/views/PageEditor.d.ts +2 -1
  165. package/dist/views/PageEditor.d.ts.map +1 -1
  166. package/dist/views/Pages/PagesListView.d.ts +0 -1
  167. package/dist/views/Pages/PagesListView.d.ts.map +1 -1
  168. package/dist/views/Pages/PagesListView.js +1 -1
  169. package/dist/views/Pages/PagesListView.js.map +1 -1
  170. package/dist/views/Pages.d.ts +2 -1
  171. package/dist/views/Pages.d.ts.map +1 -1
  172. package/dist/views/Posts/PostsListView.d.ts.map +1 -1
  173. package/dist/views/Posts/PostsListView.js +1 -1
  174. package/dist/views/Posts/PostsListView.js.map +1 -1
  175. package/dist/views/Redirects.d.ts +2 -1
  176. package/dist/views/Redirects.d.ts.map +1 -1
  177. package/dist/views/page-editor/section-types.d.ts +2 -2
  178. package/dist/views/page-editor/section-types.d.ts.map +1 -1
  179. package/dist/views/page-editor/section-types.js +1 -1
  180. package/dist/views/page-editor/section-types.js.map +1 -1
  181. package/dist/views/page-editor/sections/admin-renderers.d.ts +2 -1
  182. package/dist/views/page-editor/sections/admin-renderers.d.ts.map +1 -1
  183. package/dist/views/page-editor/theme-chrome/index.d.ts +1 -6
  184. package/dist/views/page-editor/theme-chrome/index.d.ts.map +1 -1
  185. package/dist/views/page-editor/theme-chrome/index.js +1 -3
  186. package/dist/views/page-editor/theme-chrome/index.js.map +1 -1
  187. package/dist/views/page-editor/viewports.d.ts +1 -1
  188. package/dist/views/page-editor/viewports.d.ts.map +1 -1
  189. package/dist/views/page-editor/viewports.js +1 -1
  190. package/dist/views/page-editor/viewports.js.map +1 -1
  191. package/dist/views/settings/AISettingsTab.d.ts.map +1 -1
  192. package/dist/views/settings/AISettingsTab.js +13 -3
  193. package/dist/views/settings/AISettingsTab.js.map +1 -1
  194. package/dist/views/settings/BrandVoiceCard.d.ts +3 -0
  195. package/dist/views/settings/BrandVoiceCard.d.ts.map +1 -1
  196. package/dist/views/settings/BrandVoiceCard.js +2 -2
  197. package/dist/views/settings/BrandVoiceCard.js.map +1 -1
  198. package/dist/views/settings/brand-voice/BrandVoiceAlignmentPanel.d.ts.map +1 -1
  199. package/dist/views/settings/brand-voice/BrandVoiceAlignmentPanel.js +4 -1
  200. package/dist/views/settings/brand-voice/BrandVoiceAlignmentPanel.js.map +1 -1
  201. package/dist/views/settings/featureModel.d.ts +0 -3
  202. package/dist/views/settings/featureModel.d.ts.map +1 -1
  203. package/dist/views/settings/featureModel.js +2 -2
  204. package/dist/views/settings/featureModel.js.map +1 -1
  205. package/dist/views/settings/useAiSettings.d.ts +2 -2
  206. package/dist/views/settings/useAiSettings.d.ts.map +1 -1
  207. package/dist/views/settings/useAiSettings.js +6 -2
  208. package/dist/views/settings/useAiSettings.js.map +1 -1
  209. package/dist/views/settings/useAppearanceSettings.d.ts +5 -6
  210. package/dist/views/settings/useAppearanceSettings.d.ts.map +1 -1
  211. package/dist/views/settings/useAppearanceSettings.js +1 -1
  212. package/dist/views/settings/useAppearanceSettings.js.map +1 -1
  213. package/dist/views/settings/useEmailSettings.d.ts +3 -2
  214. package/dist/views/settings/useEmailSettings.d.ts.map +1 -1
  215. package/dist/views/settings/useGeneralSettings.d.ts +2 -11
  216. package/dist/views/settings/useGeneralSettings.d.ts.map +1 -1
  217. package/dist/views/settings/useGeneralSettings.js +3 -3
  218. package/dist/views/settings/useGeneralSettings.js.map +1 -1
  219. package/dist/views/settings/useSeoSettings.d.ts +1 -1
  220. package/dist/views/settings/useSeoSettings.d.ts.map +1 -1
  221. package/dist/views/settings/useUpdates.d.ts +1 -3
  222. package/dist/views/settings/useUpdates.d.ts.map +1 -1
  223. package/dist/views/settings/useUpdates.js +1 -1
  224. package/dist/views/settings/useUpdates.js.map +1 -1
  225. package/package.json +4 -4
  226. package/src/__tests__/lib/posts-service.test.ts +35 -0
  227. package/src/__tests__/lib/public-path.test.ts +37 -0
  228. package/src/__tests__/views/ai-settings.render.test.tsx +86 -2
  229. package/src/__tests__/views/posts-list-view.render.test.tsx +12 -0
  230. package/src/__tests__/views/seo-autopilot-card.render.test.tsx +4 -4
  231. package/src/components/CoauthorResultPopover.tsx +3 -1
  232. package/src/components/CommentSidePanel.tsx +0 -1
  233. package/src/components/EditorRail.tsx +1 -1
  234. package/src/components/MediaPickerModal.tsx +1 -1
  235. package/src/components/TipTapEditor.tsx +2 -2
  236. package/src/components/forms/EntriesTable.tsx +1 -1
  237. package/src/components/pages/tag-badges.tsx +1 -1
  238. package/src/components/seo/FaqProposalPreview.tsx +2 -2
  239. package/src/components/seo/SeoCopilotDrawer.tsx +1 -1
  240. package/src/components/seo/SeoEditorPane.tsx +3 -1
  241. package/src/components/ui/Badge.tsx +4 -6
  242. package/src/components/ui/Button.tsx +1 -3
  243. package/src/components/ui/Card.tsx +1 -14
  244. package/src/components/ui/Input.tsx +7 -15
  245. package/src/components/ui/Modal.tsx +1 -1
  246. package/src/components/ui/ResizableAside.tsx +5 -5
  247. package/src/components/ui/StatusBadge.tsx +1 -3
  248. package/src/components/ui/Toggle.tsx +1 -3
  249. package/src/fields/FieldRenderer.tsx +1 -1
  250. package/src/fields/index.ts +0 -17
  251. package/src/layout/primitives/tokens.ts +0 -7
  252. package/src/lib/brand-voice-client.ts +18 -1
  253. package/src/lib/coauthor-client.ts +1 -1
  254. package/src/lib/collection-schema.ts +2 -2
  255. package/src/lib/editor-seo-content.ts +0 -22
  256. package/src/lib/forms-service.ts +2 -42
  257. package/src/lib/notifications-client.ts +3 -3
  258. package/src/lib/page-audit-input.ts +1 -1
  259. package/src/lib/page-editor-service.ts +1 -3
  260. package/src/lib/pages-service.ts +4 -29
  261. package/src/lib/plan.ts +1 -1
  262. package/src/lib/post-editor-service.ts +4 -10
  263. package/src/lib/post-types-service.ts +2 -2
  264. package/src/lib/posts-service.ts +13 -2
  265. package/src/lib/preview-link.ts +0 -14
  266. package/src/lib/public-path.ts +33 -0
  267. package/src/lib/rail-width.ts +1 -1
  268. package/src/lib/reflow-probe.ts +4 -4
  269. package/src/lib/seo-service.ts +20 -60
  270. package/src/lib/theme-chrome.ts +1 -1
  271. package/src/lib/version-history.ts +2 -2
  272. package/src/lib/workflow-chrome.ts +3 -3
  273. package/src/views/Login.tsx +1 -1
  274. package/src/views/MediaBrowser.tsx +3 -2
  275. package/src/views/PageEditor.tsx +1 -1
  276. package/src/views/Pages/PagesListView.tsx +1 -1
  277. package/src/views/Pages.tsx +1 -1
  278. package/src/views/Posts/PostsListView.tsx +2 -1
  279. package/src/views/Redirects.tsx +1 -1
  280. package/src/views/page-editor/section-types.ts +0 -9
  281. package/src/views/page-editor/sections/admin-renderers.tsx +1 -1
  282. package/src/views/page-editor/theme-chrome/index.ts +2 -10
  283. package/src/views/page-editor/viewports.ts +0 -3
  284. package/src/views/settings/AISettingsTab.tsx +15 -3
  285. package/src/views/settings/BrandVoiceCard.tsx +11 -1
  286. package/src/views/settings/brand-voice/BrandVoiceAlignmentPanel.tsx +3 -1
  287. package/src/views/settings/featureModel.ts +2 -2
  288. package/src/views/settings/useAiSettings.ts +8 -3
  289. package/src/views/settings/useAppearanceSettings.ts +4 -6
  290. package/src/views/settings/useEmailSettings.ts +2 -2
  291. package/src/views/settings/useGeneralSettings.ts +5 -10
  292. package/src/views/settings/useSeoSettings.ts +1 -1
  293. package/src/views/settings/useUpdates.ts +2 -2
@@ -13,7 +13,7 @@ const EMPTY_FORM = {
13
13
  noIndexNonProduction: false,
14
14
  };
15
15
  /** Validate a site URL: absolute http(s), no trailing slash, parseable. */
16
- export function validateSiteUrl(value) {
16
+ function validateSiteUrl(value) {
17
17
  const trimmed = value.trim();
18
18
  if (!trimmed)
19
19
  return { valid: true };
@@ -33,7 +33,7 @@ export function validateSiteUrl(value) {
33
33
  return { valid: true };
34
34
  }
35
35
  /** Best-effort IANA timezone check using the Intl API. */
36
- export function isValidTimeZone(tz) {
36
+ function isValidTimeZone(tz) {
37
37
  if (!tz)
38
38
  return false;
39
39
  try {
@@ -45,7 +45,7 @@ export function isValidTimeZone(tz) {
45
45
  }
46
46
  }
47
47
  /** Best-effort BCP 47 locale check. */
48
- export function isValidLocale(locale) {
48
+ function isValidLocale(locale) {
49
49
  if (!locale)
50
50
  return false;
51
51
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"useGeneralSettings.js","sourceRoot":"","sources":["../../../src/views/settings/useGeneralSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGeneralSettings.js","sourceRoot":"","sources":["../../../src/views/settings/useGeneralSettings.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export interface SeoSettingsForm {
43
43
  /** Social profile URLs, one per line (`sameAs`). */
44
44
  organizationSameAs: string;
45
45
  }
46
- export interface SitemapSummary {
46
+ interface SitemapSummary {
47
47
  sitemapUrl: string;
48
48
  lastGeneratedAt: string | null;
49
49
  pagesIncluded: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useSeoSettings.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useSeoSettings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEtF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,sBAAsB,EAAE,MAAM,CAAA;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,yBAAyB,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,0BAA0B,EAAE,MAAM,CAAA;IAClC,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAA;IAC5B,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAA;IACtB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAA;IACxB,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,oDAAoD;IACpD,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAoBD,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAQtC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC7D,KAAK,EAAE,OAAO,CAAA;IACd,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAcA;AAsED,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACtF,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC/C,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAqP/D"}
1
+ {"version":3,"file":"useSeoSettings.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useSeoSettings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEtF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,sBAAsB,EAAE,MAAM,CAAA;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,yBAAyB,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,0BAA0B,EAAE,MAAM,CAAA;IAClC,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAA;IAC5B,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAA;IACtB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAA;IACxB,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,oDAAoD;IACpD,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAoBD,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAQtC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC7D,KAAK,EAAE,OAAO,CAAA;IACd,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAcA;AAsED,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACtF,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC/C,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAqP/D"}
@@ -5,7 +5,7 @@ export interface UpdateChangelogItem {
5
5
  summary: string;
6
6
  type?: UpdateChangeType;
7
7
  }
8
- export interface UpdatePluginCompatibility {
8
+ interface UpdatePluginCompatibility {
9
9
  name: string;
10
10
  compatible: boolean;
11
11
  minVersion?: string;
@@ -31,8 +31,6 @@ interface GithubForm {
31
31
  githubRepo: string;
32
32
  githubToken: string;
33
33
  }
34
- /** Admin/Owner may manage updates (matches the server's `requireAdminScope`). */
35
- export declare function canManageUpdates(role: string | null | undefined): boolean;
36
34
  /**
37
35
  * State + actions for the Settings → Updates tab. Owns the update-status check,
38
36
  * the GitHub-integration config form (with dirty tracking for the shared save
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdates.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useUpdates.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,KAAK,GACL,aAAa,GACb,UAAU,GACV,UAAU,GACV,aAAa,CAAA;AAEjB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACjD,MAAM,CAAC,EAAE,eAAe,GAAG,KAAK,CAAA;IAChC,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAID,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;eAMF,MAAM;kBAAY,MAAM;;;;oBAqCvC,MAAM,UAAU,SAAS,MAAM;;;;;;;;;EA0EnE"}
1
+ {"version":3,"file":"useUpdates.d.ts","sourceRoot":"","sources":["../../../src/views/settings/useUpdates.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,KAAK,GACL,aAAa,GACb,UAAU,GACV,UAAU,GACV,aAAa,CAAA;AAEjB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB;AAED,UAAU,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACjD,MAAM,CAAC,EAAE,eAAe,GAAG,KAAK,CAAA;IAChC,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAUD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;eAMF,MAAM;kBAAY,MAAM;;;;oBAqCvC,MAAM,UAAU,SAAS,MAAM;;;;;;;;;EA0EnE"}
@@ -4,7 +4,7 @@ import { toast } from 'sonner';
4
4
  import { cmsApi } from '../../lib/api.js';
5
5
  const REPO_PATTERN = /^[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+$/;
6
6
  /** Admin/Owner may manage updates (matches the server's `requireAdminScope`). */
7
- export function canManageUpdates(role) {
7
+ function canManageUpdates(role) {
8
8
  const r = (role ?? '').toUpperCase();
9
9
  return r === 'ADMIN' || r === 'OWNER';
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdates.js","sourceRoot":"","sources":["../../../src/views/settings/useUpdates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useUpdates.js","sourceRoot":"","sources":["../../../src/views/settings/useUpdates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prenta/admin",
3
- "version": "1.17.1",
3
+ "version": "1.17.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -99,15 +99,15 @@
99
99
  "typescript": "^5.7.0",
100
100
  "vitest": "^4.1.0",
101
101
  "@prenta/component-blocks": "0.3.1",
102
- "@prenta/core": "6.0.0",
103
- "@prenta/plugin-ai": "2.0.0",
102
+ "@prenta/core": "7.1.0",
103
+ "@prenta/plugin-ai": "3.0.0",
104
104
  "@prenta/plugin-blocks": "0.2.0",
105
105
  "@prenta/plugin-commerce": "0.2.1",
106
106
  "@prenta/plugin-forms": "0.1.0",
107
107
  "@prenta/plugin-media": "0.2.0",
108
108
  "@prenta/plugin-navigation": "0.3.0",
109
109
  "@prenta/plugin-seo": "1.0.0",
110
- "@prenta/sections-react": "0.17.41"
110
+ "@prenta/sections-react": "0.17.43"
111
111
  },
112
112
  "scripts": {
113
113
  "build": "tsc --project tsconfig.json && npx @tailwindcss/cli -i src/styles/build-input.css -o dist/prenta-admin.css --minify",
@@ -186,6 +186,41 @@ describe('posts-service.fetchPosts', () => {
186
186
  })
187
187
  })
188
188
 
189
+ it('lists the public path from the collection urlPrefix, not the collection slug (#921)', async () => {
190
+ cmsApiMock.mockReset()
191
+ cmsApiMock.mockImplementation((url: string) => {
192
+ if (!url.startsWith('/posts')) return { error: `unexpected url: ${url}` }
193
+ return {
194
+ data: {
195
+ ...POSTS_RESPONSE,
196
+ posts: [
197
+ { ...POSTS_RESPONSE.posts[1], id: 'p1', collection: 'posts', slug: 'seo-cost' },
198
+ { ...POSTS_RESPONSE.posts[1], id: 'r1', collection: 'resources', slug: 'guide' },
199
+ { ...POSTS_RESPONSE.posts[1], id: 'n1', collection: 'news', slug: 'q2' },
200
+ { ...POSTS_RESPONSE.posts[1], id: 'x1', collection: 'unknown-type', slug: 'orphan' },
201
+ ],
202
+ types: [
203
+ { ...POSTS_RESPONSE.types[0], slug: 'posts', urlPrefix: 'blog' },
204
+ { ...POSTS_RESPONSE.types[0], slug: 'resources', urlPrefix: '' },
205
+ { ...POSTS_RESPONSE.types[1], slug: 'news', urlPrefix: 'news' },
206
+ ],
207
+ },
208
+ }
209
+ })
210
+ const res = await fetchPosts({})
211
+ const byId = new Map(res.posts.map((p) => [p.id, p]))
212
+ // `posts` collection relabelled Blog with `urlPrefix: 'blog'` → /blog/{slug}.
213
+ expect(byId.get('p1')?.publicPath).toBe('/blog/seo-cost')
214
+ // Collection slug stays the API identity.
215
+ expect(byId.get('p1')?.postTypeId).toBe('posts')
216
+ // Empty urlPrefix (root-mounted) → /{slug}.
217
+ expect(byId.get('r1')?.publicPath).toBe('/guide')
218
+ // Prefix equal to slug is unchanged.
219
+ expect(byId.get('n1')?.publicPath).toBe('/news/q2')
220
+ // No type row for the collection → fall back to the collection slug.
221
+ expect(byId.get('x1')?.publicPath).toBe('/unknown-type/orphan')
222
+ })
223
+
189
224
  it('surfaces the scheduled date for SCHEDULED posts as the display date', async () => {
190
225
  const res = await fetchPosts({})
191
226
  const news = res.posts.find((p) => p.id === 'n1')
@@ -0,0 +1,37 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import { publicPathFor } from '../../lib/public-path.js'
4
+
5
+ describe('publicPathFor', () => {
6
+ it('lists /{urlPrefix}/{slug} when the collection declares a public prefix', () => {
7
+ // The collection slug (`posts`) is API identity; the public path is `/blog`.
8
+ expect(publicPathFor('blog', 'posts', 'how-much-do-seo-services-cost')).toBe(
9
+ '/blog/how-much-do-seo-services-cost',
10
+ )
11
+ })
12
+
13
+ it('falls back to /{collectionSlug}/{slug} when no urlPrefix is declared', () => {
14
+ expect(publicPathFor(undefined, 'posts', 'hello')).toBe('/posts/hello')
15
+ })
16
+
17
+ it('lists /{slug} when urlPrefix is the empty string (root-mounted collection)', () => {
18
+ expect(publicPathFor('', 'pages', 'about')).toBe('/about')
19
+ })
20
+
21
+ it('supports nested prefixes and trims stray slashes', () => {
22
+ expect(publicPathFor('help/articles', 'help-articles', 'reset-password')).toBe(
23
+ '/help/articles/reset-password',
24
+ )
25
+ expect(publicPathFor('/careers/', 'careers', '/senior-engineer/')).toBe(
26
+ '/careers/senior-engineer',
27
+ )
28
+ })
29
+
30
+ it('is unchanged for a type whose prefix equals its slug', () => {
31
+ expect(publicPathFor('news', 'news', 'q2-roadmap')).toBe('/news/q2-roadmap')
32
+ })
33
+
34
+ it('keeps a trailing slash placeholder when the slug is empty', () => {
35
+ expect(publicPathFor('blog', 'posts', '')).toBe('/blog/')
36
+ })
37
+ })
@@ -345,8 +345,12 @@ describe('AISettingsTab', () => {
345
345
  ),
346
346
  )
347
347
 
348
- expect((within(region).getByLabelText('Tone') as HTMLInputElement).value).toBe(
349
- 'confident, warm',
348
+ // The draft lands in state after the mocked promise resolves — wait on the
349
+ // rendered value, not just on the request having been made (CI flake).
350
+ await waitFor(() =>
351
+ expect((within(region).getByLabelText('Tone') as HTMLInputElement).value).toBe(
352
+ 'confident, warm',
353
+ ),
350
354
  )
351
355
  expect((within(region).getByLabelText('Name') as HTMLInputElement).value).toBe('Acme Voice')
352
356
  })
@@ -390,6 +394,86 @@ describe('AISettingsTab', () => {
390
394
  expect(screen.getByText(/set via an environment variable/i)).toBeTruthy()
391
395
  })
392
396
 
397
+ describe('brand voice readiness on a zero-config (env key) site', () => {
398
+ const ENV_PROVIDER = {
399
+ id: 'env:openai',
400
+ provider: 'openai',
401
+ displayName: 'OpenAI (environment)',
402
+ enabled: true,
403
+ status: 'unknown',
404
+ apiKeyLast4: '1234',
405
+ apiKeySource: 'environment',
406
+ keyManagedExternally: true,
407
+ hasKey: true,
408
+ createdAt: '1970-01-01T00:00:00.000Z',
409
+ updatedAt: '1970-01-01T00:00:00.000Z',
410
+ updatedBy: 'system',
411
+ }
412
+
413
+ const PAGES_CONFIG = { collections: { pages: { slug: 'pages', type: 'page' } } }
414
+
415
+ function zeroConfigSettings(hasKey: boolean) {
416
+ const next = deepClone(SETTINGS_RESPONSE)
417
+ next.settings.defaultProviderId = ''
418
+ next.settings.defaultModelId = ''
419
+ next.providers = [
420
+ { ...ENV_PROVIDER, hasKey } as (typeof SETTINGS_RESPONSE)['providers'][number],
421
+ ]
422
+ return next
423
+ }
424
+
425
+ it('is ready with a keyed provider and no explicit default model, and says so', async () => {
426
+ settingsResponse = zeroConfigSettings(true)
427
+ render(<AISettingsTab role="ADMIN" config={PAGES_CONFIG} />)
428
+ const region = await screen.findByRole('region', { name: 'Brand voice' })
429
+ await waitFor(() =>
430
+ expect(
431
+ within(region).getByText(
432
+ 'No default model selected — using the provider’s recommended default.',
433
+ ),
434
+ ).toBeTruthy(),
435
+ )
436
+ expect(within(region).queryByText(/Select a default model/)).toBeNull()
437
+ expect(
438
+ (
439
+ within(region).getByRole('button', {
440
+ name: 'Analyze & draft profile',
441
+ }) as HTMLButtonElement
442
+ ).disabled,
443
+ ).toBe(false)
444
+ })
445
+
446
+ it('still asks for a default model when the only provider has no key', async () => {
447
+ settingsResponse = zeroConfigSettings(false)
448
+ render(<AISettingsTab role="ADMIN" config={PAGES_CONFIG} />)
449
+ const region = await screen.findByRole('region', { name: 'Brand voice' })
450
+ await waitFor(() => expect(within(region).getByText(/Select a default model/)).toBeTruthy())
451
+ expect(within(region).queryByText(/recommended default/)).toBeNull()
452
+ })
453
+
454
+ it('still asks for a default model when the only keyed provider is a custom endpoint', async () => {
455
+ // Custom endpoints have no curated catalog, so the runtime cannot pick a
456
+ // provider default for them — readiness must not claim otherwise.
457
+ settingsResponse = zeroConfigSettings(true)
458
+ settingsResponse.providers = [
459
+ {
460
+ ...ENV_PROVIDER,
461
+ id: 'p-custom',
462
+ provider: 'custom',
463
+ displayName: 'Local LLM',
464
+ baseUrl: 'https://llm.example.com/v1',
465
+ apiKeySource: 'database',
466
+ keyManagedExternally: false,
467
+ hasKey: true,
468
+ } as (typeof SETTINGS_RESPONSE)['providers'][number],
469
+ ]
470
+ render(<AISettingsTab role="ADMIN" config={PAGES_CONFIG} />)
471
+ const region = await screen.findByRole('region', { name: 'Brand voice' })
472
+ await waitFor(() => expect(within(region).getByText(/Select a default model/)).toBeTruthy())
473
+ expect(within(region).queryByText(/recommended default/)).toBeNull()
474
+ })
475
+ })
476
+
393
477
  it('warns when the configured default model is no longer available', async () => {
394
478
  settingsResponse = deepClone(SETTINGS_RESPONSE)
395
479
  settingsResponse.settings.defaultModelId = 'anthropic:ghost-model'
@@ -13,6 +13,9 @@ function makePost(id: string, title: string) {
13
13
  postTypeAccentColor: 'blue',
14
14
  title,
15
15
  slug: id,
16
+ // Public path comes from the collection's `urlPrefix` (`blog`), not the
17
+ // collection slug (`articles`) — see #921.
18
+ publicPath: `/blog/${id}`,
16
19
  authorName: 'Author',
17
20
  authorInitials: 'AU',
18
21
  status: 'PUBLISHED',
@@ -47,6 +50,15 @@ beforeEach(() => {
47
50
  bulkDeletePosts.mockClear()
48
51
  })
49
52
 
53
+ describe('PostsListView — row subtitle', () => {
54
+ it('shows the public path (/{urlPrefix}/{slug}) rather than /{collectionSlug}/{slug} (#921)', async () => {
55
+ render(<PostsListView onNavigate={() => {}} />)
56
+ await screen.findByLabelText('Select "Alpha"')
57
+ expect(screen.getByText('/blog/a1')).toBeTruthy()
58
+ expect(screen.queryByText('/articles/a1')).toBeNull()
59
+ })
60
+ })
61
+
50
62
  describe('PostsListView — page-scoped selection', () => {
51
63
  it('clears the selection when navigating to another page so the bulk count stays honest', async () => {
52
64
  render(<PostsListView onNavigate={() => {}} />)
@@ -123,10 +123,10 @@ beforeEach(() => {
123
123
  describe('SeoAutopilotCard', () => {
124
124
  it('renders the master toggle, type groups, thresholds, and a Never run status', async () => {
125
125
  render(<SeoAutopilotCard canEdit onNavigate={() => {}} />)
126
- await screen.findByText('SEO Autopilot')
127
- expect(
128
- screen.getByRole('switch', { name: /enable autopilot/i }).getAttribute('aria-checked'),
129
- ).toBe('false')
126
+ // The heading is present during the loading skeleton; wait on the first
127
+ // loaded control instead so the assertions below never race the fetch.
128
+ const toggle = await screen.findByRole('switch', { name: /enable autopilot/i })
129
+ expect(toggle.getAttribute('aria-checked')).toBe('false')
130
130
  expect(screen.getByText('Titles')).toBeTruthy()
131
131
  expect(screen.getByText('Redirects')).toBeTruthy()
132
132
  expect((screen.getByLabelText(/minimum brand alignment/i) as HTMLInputElement).value).toBe('85')
@@ -5,7 +5,7 @@ import { Check, Copy, Loader2, Sparkles, Wand2, X } from 'lucide-react'
5
5
  import type { BrandAlignmentScoreResult } from '@prenta/core/brand-voice'
6
6
  import type { CoauthorAction, ProofreadChange } from '../lib/coauthor-client.js'
7
7
  import { coauthorActionLabel } from '../lib/coauthor-client.js'
8
- import { fixBrandVoiceContent } from '../lib/brand-voice-client.js'
8
+ import { brandVoiceFixAiNotice, fixBrandVoiceContent } from '../lib/brand-voice-client.js'
9
9
  import { BrandVoiceAlignmentBadge } from './BrandVoiceAlignmentBadge.js'
10
10
  import { toast } from 'sonner'
11
11
 
@@ -100,6 +100,8 @@ export function CoauthorResultPopover({
100
100
  ? 'Copy revised to match brand voice.'
101
101
  : 'Applied brand voice rule fixes.',
102
102
  )
103
+ const notice = brandVoiceFixAiNotice(res.result)
104
+ if (notice) toast.info(notice)
103
105
  } finally {
104
106
  setFixing(false)
105
107
  }
@@ -541,4 +541,3 @@ function formatRelative(iso: string): string {
541
541
  }
542
542
 
543
543
  // Re-export for tests that build their own CommentsApi.
544
- export { formatRelative as _formatRelative }
@@ -13,7 +13,7 @@ import {
13
13
  } from '../lib/rail-width.js'
14
14
 
15
15
  /** What the rail hands its children so they can render a header. */
16
- export interface RailState {
16
+ interface RailState {
17
17
  width: number
18
18
  dragging: boolean
19
19
  collapse: () => void
@@ -23,7 +23,7 @@ interface MediaItem {
23
23
  }
24
24
 
25
25
  /** Minimal selected-asset shape exposed to callers that need the asset id. */
26
- export interface SelectedMediaItem {
26
+ interface SelectedMediaItem {
27
27
  id: string
28
28
  storageKey: string
29
29
  /** Normalized public URL (falls back to storageKey when absent). */
@@ -73,7 +73,7 @@ const lowlight = createLowlight(common)
73
73
  * `onChange` still fires on every local update so existing autosave wiring
74
74
  * keeps working.
75
75
  */
76
- export interface TipTapCollaborationConfig {
76
+ interface TipTapCollaborationConfig {
77
77
  documentId: string
78
78
  /**
79
79
  * Base URL of the realtime gateway. `wss://your.app/api/cms/realtime/sync`
@@ -122,7 +122,7 @@ export interface TipTapEditorProps {
122
122
  * against the slice-4 endpoints; this prop is just the small set of
123
123
  * presentation + identity bits the panel can't infer from the editor.
124
124
  */
125
- export interface TipTapCommentsConfig {
125
+ interface TipTapCommentsConfig {
126
126
  documentId: string
127
127
  /** Logged-in user id — gates edit + delete affordances. */
128
128
  currentUserId: string
@@ -11,7 +11,7 @@ import { Star } from 'lucide-react'
11
11
  import type { FormSubmission } from '../../lib/forms-service.js'
12
12
  import { btnGhostIcon } from './primitives.js'
13
13
 
14
- export function formatEntryDateTime(iso: string | null | undefined): string {
14
+ function formatEntryDateTime(iso: string | null | undefined): string {
15
15
  if (!iso) return '—'
16
16
  const d = new Date(iso)
17
17
  if (Number.isNaN(d.getTime())) return '—'
@@ -13,7 +13,7 @@ import { paletteFor, TAG_COLOR_KEYS, type TagColorKey } from '../posts/badges.js
13
13
  * stay consistent with Post Type badges and work in light/dark mode.
14
14
  */
15
15
 
16
- export { TAG_COLOR_KEYS, type TagColorKey }
16
+ export { TAG_COLOR_KEYS }
17
17
 
18
18
  const DOT_COLOR: Record<TagColorKey, string> = {
19
19
  purple: 'bg-tag-purple',
@@ -13,11 +13,11 @@ import type { SeoFaqSignals } from '../../lib/seo-service.js'
13
13
  /** Server-enforced floor: a FAQ section with one question is not a FAQ. */
14
14
  export const FAQ_MIN_SELECTED = 2
15
15
  /** Mirrors core's `FAQ_HEADING_MAX` (measured after trim). */
16
- export const FAQ_HEADING_MAX = 80
16
+ const FAQ_HEADING_MAX = 80
17
17
  /** The window core aggregates FAQ signals over (`FAQ_SIGNAL_WINDOW_DAYS`). */
18
18
  const SIGNAL_WINDOW_DAYS = 28
19
19
 
20
- export interface FaqProposalPreviewItem {
20
+ interface FaqProposalPreviewItem {
21
21
  question: string
22
22
  answer: string
23
23
  /** Verbatim page quote the answer was grounded in; omit / `''` when none survived. */
@@ -60,7 +60,7 @@ export function SeoCopilotDrawer({
60
60
  <SeoEmptyState
61
61
  icon={<Bot size={24} />}
62
62
  title="AI is not configured"
63
- description="Install and configure an AI provider (plugin-ai) to enable the SEO Copilot."
63
+ description="Connect an AI provider in Settings → AI to enable the SEO Copilot."
64
64
  />
65
65
  ) : summary ? (
66
66
  <div className="text-foreground space-y-3 text-sm leading-relaxed">
@@ -38,7 +38,7 @@ import {
38
38
  type SeoFieldPayload,
39
39
  type LlmsInclude,
40
40
  } from '../../lib/seo-service.js'
41
- import { fixBrandVoiceContent } from '../../lib/brand-voice-client.js'
41
+ import { brandVoiceFixAiNotice, fixBrandVoiceContent } from '../../lib/brand-voice-client.js'
42
42
  import { BrandVoiceAlignmentBadge } from '../BrandVoiceAlignmentBadge.js'
43
43
  import { InspectorPaneBody, InspectorPaneFooter, InspectorPaneHeader } from '../ui/InspectorPane.js'
44
44
  import { Toggle } from '../ui/Toggle.js'
@@ -386,6 +386,8 @@ export function SeoEditorPane({
386
386
  update({ [field]: res.result.text } as Partial<SeoFieldPayload>)
387
387
  setAiAlignments((prev) => ({ ...prev, [field]: res.result!.afterScore }))
388
388
  toast.success('Copy adjusted to match brand voice.')
389
+ const notice = brandVoiceFixAiNotice(res.result)
390
+ if (notice) toast.info(notice)
389
391
  } finally {
390
392
  setAiFixBusy(null)
391
393
  }
@@ -20,27 +20,27 @@ const badge = cv('inline-flex items-center rounded-full px-2.5 py-0.5 text-xs fo
20
20
  defaultVariants: { tone: 'neutral', size: 'md' },
21
21
  })
22
22
 
23
- export type BadgeVariants = VariantProps<typeof badge>
23
+ type BadgeVariants = VariantProps<typeof badge>
24
24
 
25
25
  /**
26
26
  * Map document statuses to badge tones. Exposed so callers can reuse the
27
27
  * mapping (e.g. for the same status rendered as a dot indicator).
28
28
  */
29
- export const STATUS_TONE: Record<DocumentStatus, BadgeVariants['tone']> = {
29
+ const STATUS_TONE: Record<DocumentStatus, BadgeVariants['tone']> = {
30
30
  published: 'success',
31
31
  draft: 'neutral',
32
32
  archived: 'warning',
33
33
  scheduled: 'info',
34
34
  }
35
35
 
36
- export const STATUS_LABEL: Record<DocumentStatus, string> = {
36
+ const STATUS_LABEL: Record<DocumentStatus, string> = {
37
37
  published: 'Published',
38
38
  draft: 'Draft',
39
39
  archived: 'Archived',
40
40
  scheduled: 'Scheduled',
41
41
  }
42
42
 
43
- export type DocumentStatus = 'published' | 'draft' | 'archived' | 'scheduled'
43
+ type DocumentStatus = 'published' | 'draft' | 'archived' | 'scheduled'
44
44
 
45
45
  export interface BadgeProps extends HTMLAttributes<HTMLSpanElement>, BadgeVariants {
46
46
  /**
@@ -75,5 +75,3 @@ export function Badge({ status, tone, outline, size, className, children, ...res
75
75
  </span>
76
76
  )
77
77
  }
78
-
79
- export { badge as badgeVariants }
@@ -32,7 +32,7 @@ const button = cv(
32
32
  },
33
33
  )
34
34
 
35
- export type ButtonVariants = VariantProps<typeof button>
35
+ type ButtonVariants = VariantProps<typeof button>
36
36
 
37
37
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariants {
38
38
  loading?: boolean
@@ -96,5 +96,3 @@ export const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button
96
96
  </button>
97
97
  )
98
98
  })
99
-
100
- export { button as buttonVariants }
@@ -23,7 +23,7 @@ const card = cv(
23
23
  },
24
24
  )
25
25
 
26
- export type CardVariants = VariantProps<typeof card>
26
+ type CardVariants = VariantProps<typeof card>
27
27
 
28
28
  const INTERACTIVE_CLASS =
29
29
  'motion-safe:transition-shadow motion-safe:duration-[var(--motion-fast)] hover:shadow-[var(--shd2)] focus-within:shadow-[var(--shd2)]'
@@ -103,16 +103,3 @@ export function CardContent({ className = '', children, ...rest }: HTMLAttribute
103
103
  </div>
104
104
  )
105
105
  }
106
-
107
- export function CardFooter({ className = '', children, ...rest }: HTMLAttributes<HTMLDivElement>) {
108
- return (
109
- <div
110
- className={`flex items-center justify-end gap-2 border-t border-[var(--bdr)] px-6 py-4 ${className}`}
111
- {...rest}
112
- >
113
- {children}
114
- </div>
115
- )
116
- }
117
-
118
- export { card as cardVariants }