@rakun-kit/manager-react 1.5.9 → 1.6.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 (318) hide show
  1. package/README.md +366 -297
  2. package/dist/cjs/app/runtime-app.js +4 -1
  3. package/dist/cjs/app/runtime-app.js.map +1 -1
  4. package/dist/cjs/components/app-sidebar.js +13 -2
  5. package/dist/cjs/components/app-sidebar.js.map +1 -1
  6. package/dist/cjs/components/media/MediaLibrary.js +10 -1
  7. package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
  8. package/dist/cjs/components/media/contexts/MediaLibraryContext.js +1 -1
  9. package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
  10. package/dist/cjs/components/media/previews/MediaContextMenuContent.js +68 -15
  11. package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
  12. package/dist/cjs/components/media/previews/Previews.js +89 -35
  13. package/dist/cjs/components/media/previews/Previews.js.map +1 -1
  14. package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  15. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
  16. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  17. package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
  18. package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
  19. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +16 -9
  20. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  21. package/dist/cjs/components/media/previews/utils/mediaDownload.js +54 -0
  22. package/dist/cjs/components/media/previews/utils/mediaDownload.js.map +1 -0
  23. package/dist/cjs/components/media/previews/views/PreviewsListView.js +1 -1
  24. package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
  25. package/dist/cjs/components/rakun-logo.js +4 -9
  26. package/dist/cjs/components/rakun-logo.js.map +1 -1
  27. package/dist/cjs/components/ui/context-menu.js +1 -1
  28. package/dist/cjs/components/ui/context-menu.js.map +1 -1
  29. package/dist/cjs/i18n/catalog.js +366 -6
  30. package/dist/cjs/i18n/catalog.js.map +1 -1
  31. package/dist/cjs/layouts.js +2 -2
  32. package/dist/cjs/layouts.js.map +1 -1
  33. package/dist/cjs/lib/media.js +1 -0
  34. package/dist/cjs/lib/media.js.map +1 -1
  35. package/dist/cjs/media.js +45 -0
  36. package/dist/cjs/media.js.map +1 -1
  37. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +15 -4
  38. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  39. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
  40. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
  41. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
  42. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  43. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +3 -2
  44. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
  45. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
  46. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
  47. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +290 -0
  48. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
  49. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +88 -0
  50. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
  51. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +9 -1
  52. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
  53. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
  54. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
  55. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +222 -232
  56. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  57. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
  58. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  59. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
  60. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  61. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
  62. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +25 -0
  63. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
  64. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +10 -1
  65. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  66. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
  67. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
  68. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +135 -0
  69. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
  70. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +10 -0
  71. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
  72. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +113 -0
  73. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
  74. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
  75. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
  76. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +22 -0
  77. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
  78. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
  79. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +2 -0
  80. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
  81. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
  82. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
  83. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +10 -1
  84. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  85. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  86. package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  87. package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
  88. package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
  89. package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js +17 -0
  90. package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
  91. package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js +40 -26
  92. package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
  93. package/dist/cjs/router/dashboard/debugging/api-routes/test.js +6 -5
  94. package/dist/cjs/router/dashboard/debugging/api-routes/test.js.map +1 -1
  95. package/dist/cjs/router/dashboard/seo/index.js +6 -0
  96. package/dist/cjs/router/dashboard/seo/index.js.map +1 -0
  97. package/dist/cjs/router/dashboard/seo/screen.js +219 -0
  98. package/dist/cjs/router/dashboard/seo/screen.js.map +1 -0
  99. package/dist/cjs/router/dashboard/seo/site-analysis.js +153 -0
  100. package/dist/cjs/router/dashboard/seo/site-analysis.js.map +1 -0
  101. package/dist/cjs/router/dashboard/settings/llms/index.js +6 -0
  102. package/dist/cjs/router/dashboard/settings/llms/index.js.map +1 -0
  103. package/dist/cjs/router/dashboard/settings/llms/screen.js +122 -0
  104. package/dist/cjs/router/dashboard/settings/llms/screen.js.map +1 -0
  105. package/dist/cjs/router/dashboard/settings/screen.js +7 -0
  106. package/dist/cjs/router/dashboard/settings/screen.js.map +1 -1
  107. package/dist/cjs/router/shared/route-definitions.js +3 -2
  108. package/dist/cjs/router/shared/route-definitions.js.map +1 -1
  109. package/dist/cjs/router/shared/route-list.js +19 -3
  110. package/dist/cjs/router/shared/route-list.js.map +1 -1
  111. package/dist/cjs/router/shared/route-renderer.js +2 -1
  112. package/dist/cjs/router/shared/route-renderer.js.map +1 -1
  113. package/dist/docs/index.md +294 -192
  114. package/dist/esm/app/runtime-app.d.ts.map +1 -1
  115. package/dist/esm/app/runtime-app.js +4 -1
  116. package/dist/esm/app/runtime-app.js.map +1 -1
  117. package/dist/esm/components/app-sidebar.d.ts +2 -1
  118. package/dist/esm/components/app-sidebar.d.ts.map +1 -1
  119. package/dist/esm/components/app-sidebar.js +15 -4
  120. package/dist/esm/components/app-sidebar.js.map +1 -1
  121. package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
  122. package/dist/esm/components/media/MediaLibrary.js +11 -2
  123. package/dist/esm/components/media/MediaLibrary.js.map +1 -1
  124. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
  125. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
  126. package/dist/esm/components/media/contexts/MediaLibraryContext.js +1 -1
  127. package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
  128. package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
  129. package/dist/esm/components/media/previews/MediaContextMenuContent.js +70 -17
  130. package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
  131. package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
  132. package/dist/esm/components/media/previews/Previews.js +90 -36
  133. package/dist/esm/components/media/previews/Previews.js.map +1 -1
  134. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +2 -0
  135. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
  136. package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  137. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
  138. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
  139. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  140. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts.map +1 -1
  141. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
  142. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
  143. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +4 -1
  144. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
  145. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +17 -10
  146. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  147. package/dist/esm/components/media/previews/utils/mediaDownload.d.ts +13 -0
  148. package/dist/esm/components/media/previews/utils/mediaDownload.d.ts.map +1 -0
  149. package/dist/esm/components/media/previews/utils/mediaDownload.js +49 -0
  150. package/dist/esm/components/media/previews/utils/mediaDownload.js.map +1 -0
  151. package/dist/esm/components/media/previews/views/PreviewsListView.js +1 -1
  152. package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
  153. package/dist/esm/components/rakun-logo.d.ts +1 -5
  154. package/dist/esm/components/rakun-logo.d.ts.map +1 -1
  155. package/dist/esm/components/rakun-logo.js +1 -6
  156. package/dist/esm/components/rakun-logo.js.map +1 -1
  157. package/dist/esm/components/ui/context-menu.js +1 -1
  158. package/dist/esm/components/ui/context-menu.js.map +1 -1
  159. package/dist/esm/i18n/catalog.d.ts +645 -6
  160. package/dist/esm/i18n/catalog.d.ts.map +1 -1
  161. package/dist/esm/i18n/catalog.js +366 -6
  162. package/dist/esm/i18n/catalog.js.map +1 -1
  163. package/dist/esm/layouts.d.ts +3 -1
  164. package/dist/esm/layouts.d.ts.map +1 -1
  165. package/dist/esm/layouts.js +2 -2
  166. package/dist/esm/layouts.js.map +1 -1
  167. package/dist/esm/lib/media.d.ts +8 -0
  168. package/dist/esm/lib/media.d.ts.map +1 -1
  169. package/dist/esm/lib/media.js +1 -0
  170. package/dist/esm/lib/media.js.map +1 -1
  171. package/dist/esm/media.d.ts +19 -1
  172. package/dist/esm/media.d.ts.map +1 -1
  173. package/dist/esm/media.js +44 -0
  174. package/dist/esm/media.js.map +1 -1
  175. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
  176. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +18 -7
  177. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  178. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.d.ts.map +1 -1
  179. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
  180. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
  181. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
  182. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
  183. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  184. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -1
  185. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +4 -3
  186. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
  187. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -1
  188. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
  189. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
  190. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts +2 -0
  191. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts.map +1 -0
  192. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +283 -0
  193. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
  194. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts +10 -0
  195. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts.map +1 -0
  196. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +83 -0
  197. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
  198. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +2 -1
  199. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -1
  200. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +9 -1
  201. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
  202. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.d.ts.map +1 -1
  203. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
  204. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
  205. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +6 -2
  206. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
  207. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +221 -234
  208. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  209. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
  210. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
  211. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  212. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.d.ts.map +1 -1
  213. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
  214. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  215. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts +4 -1
  216. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts.map +1 -1
  217. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
  218. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts +4 -0
  219. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts.map +1 -0
  220. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +21 -0
  221. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
  222. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
  223. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +11 -2
  224. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  225. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.d.ts.map +1 -1
  226. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
  227. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
  228. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts +4 -0
  229. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts.map +1 -0
  230. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +130 -0
  231. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
  232. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts +14 -0
  233. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts.map +1 -0
  234. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +5 -0
  235. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
  236. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts +23 -0
  237. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts.map +1 -0
  238. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +103 -0
  239. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
  240. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.d.ts.map +1 -1
  241. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
  242. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
  243. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts +6 -0
  244. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts.map +1 -0
  245. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +18 -0
  246. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
  247. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts +2 -1
  248. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts.map +1 -1
  249. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
  250. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -1
  251. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +2 -0
  252. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
  253. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +43 -0
  254. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -1
  255. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
  256. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
  257. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -1
  258. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
  259. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +10 -1
  260. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  261. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts +1 -0
  262. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts.map +1 -1
  263. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts +2 -1
  264. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts.map +1 -1
  265. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js +2 -2
  266. package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
  267. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.d.ts.map +1 -1
  268. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
  269. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
  270. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts +5 -0
  271. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts.map +1 -0
  272. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js +14 -0
  273. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
  274. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.d.ts.map +1 -1
  275. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js +42 -28
  276. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
  277. package/dist/esm/router/dashboard/debugging/api-routes/test.d.ts.map +1 -1
  278. package/dist/esm/router/dashboard/debugging/api-routes/test.js +6 -5
  279. package/dist/esm/router/dashboard/debugging/api-routes/test.js.map +1 -1
  280. package/dist/esm/router/dashboard/seo/index.d.ts +2 -0
  281. package/dist/esm/router/dashboard/seo/index.d.ts.map +1 -0
  282. package/dist/esm/router/dashboard/seo/index.js +2 -0
  283. package/dist/esm/router/dashboard/seo/index.js.map +1 -0
  284. package/dist/esm/router/dashboard/seo/screen.d.ts +6 -0
  285. package/dist/esm/router/dashboard/seo/screen.d.ts.map +1 -0
  286. package/dist/esm/router/dashboard/seo/screen.js +212 -0
  287. package/dist/esm/router/dashboard/seo/screen.js.map +1 -0
  288. package/dist/esm/router/dashboard/seo/site-analysis.d.ts +40 -0
  289. package/dist/esm/router/dashboard/seo/site-analysis.d.ts.map +1 -0
  290. package/dist/esm/router/dashboard/seo/site-analysis.js +148 -0
  291. package/dist/esm/router/dashboard/seo/site-analysis.js.map +1 -0
  292. package/dist/esm/router/dashboard/settings/llms/index.d.ts +2 -0
  293. package/dist/esm/router/dashboard/settings/llms/index.d.ts.map +1 -0
  294. package/dist/esm/router/dashboard/settings/llms/index.js +2 -0
  295. package/dist/esm/router/dashboard/settings/llms/index.js.map +1 -0
  296. package/dist/esm/router/dashboard/settings/llms/screen.d.ts +2 -0
  297. package/dist/esm/router/dashboard/settings/llms/screen.d.ts.map +1 -0
  298. package/dist/esm/router/dashboard/settings/llms/screen.js +115 -0
  299. package/dist/esm/router/dashboard/settings/llms/screen.js.map +1 -0
  300. package/dist/esm/router/dashboard/settings/screen.d.ts.map +1 -1
  301. package/dist/esm/router/dashboard/settings/screen.js +8 -1
  302. package/dist/esm/router/dashboard/settings/screen.js.map +1 -1
  303. package/dist/esm/router/shared/route-definitions.d.ts +6 -2
  304. package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
  305. package/dist/esm/router/shared/route-definitions.js +3 -2
  306. package/dist/esm/router/shared/route-definitions.js.map +1 -1
  307. package/dist/esm/router/shared/route-list.d.ts +1 -1
  308. package/dist/esm/router/shared/route-list.d.ts.map +1 -1
  309. package/dist/esm/router/shared/route-list.js +17 -1
  310. package/dist/esm/router/shared/route-list.js.map +1 -1
  311. package/dist/esm/router/shared/route-renderer.d.ts.map +1 -1
  312. package/dist/esm/router/shared/route-renderer.js +2 -1
  313. package/dist/esm/router/shared/route-renderer.js.map +1 -1
  314. package/dist/esm/router/shared/types.d.ts +5 -0
  315. package/dist/esm/router/shared/types.d.ts.map +1 -1
  316. package/dist/styles.css +237 -6
  317. package/dist/tsconfig.build.tsbuildinfo +1 -1
  318. package/package.json +3 -3
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ 'use client';
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ManagerSeoScreen = void 0;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const lucide_react_1 = require("lucide-react");
10
+ const react_1 = require("react");
11
+ const sonner_1 = require("sonner");
12
+ const site_analysis_1 = require("./site-analysis.js");
13
+ const react_2 = require("../../../client/react.js");
14
+ const badge_1 = require("../../../components/ui/badge.js");
15
+ const button_1 = require("../../../components/ui/button.js");
16
+ const card_1 = require("../../../components/ui/card.js");
17
+ const loading_1 = __importDefault(require("../../../components/loading.js"));
18
+ const PaginationController_1 = require("../../../components/PaginationController.js");
19
+ const unauthorized_1 = __importDefault(require("../../../components/unauthorized.js"));
20
+ const formatDate_1 = require("../../../helpers/formatDate.js");
21
+ const get_action_error_message_1 = require("../../../helpers/get-action-error-message.js");
22
+ const i18n_1 = require("../../../i18n/index.js");
23
+ const link_1 = require("../../../link.js");
24
+ const utils_1 = require("../../../lib/utils.js");
25
+ const permissions_1 = require("../../../state/permissions.js");
26
+ const language_1 = require("../../../state/language.js");
27
+ const session_1 = require("../../../state/session.js");
28
+ const SEO_AUDIT_CONTENT_TYPE = 'SeoAudit';
29
+ const SEO_HISTORY_PAGE_SIZE = 10;
30
+ const scoreStyles = (score) => score >= 80
31
+ ? 'text-emerald-700 dark:text-emerald-300'
32
+ : score >= 50
33
+ ? 'text-amber-700 dark:text-amber-300'
34
+ : 'text-destructive';
35
+ const parsePayload = (value) => {
36
+ try {
37
+ const payload = JSON.parse(value);
38
+ return payload?.version === 1 && Array.isArray(payload.pages) ? payload : null;
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ };
44
+ const ManagerSeoScreen = ({ contentTypes, siteUrl, }) => {
45
+ const t = (0, i18n_1.useTranslations)();
46
+ const managerClient = (0, react_2.useManagerClient)();
47
+ const { getTranslation, language } = (0, language_1.useLanguage)();
48
+ const { hasAnyPermission, hasPermissions } = (0, session_1.useSession)();
49
+ const [currentPayload, setCurrentPayload] = (0, react_1.useState)(null);
50
+ const [siteHistoryPage, setSiteHistoryPage] = (0, react_1.useState)(1);
51
+ const [pageHistoryPage, setPageHistoryPage] = (0, react_1.useState)(1);
52
+ const canRead = hasAnyPermission([
53
+ 'content.SeoSettings.own',
54
+ 'content.SeoSettings.readAny',
55
+ ]);
56
+ const canCreate = hasPermissions(['content.SeoSettings.own']);
57
+ const createAudit = (0, react_2.useManagerMutation)('manager.create');
58
+ const siteHistoryQuery = (0, react_2.useManagerQuery)({
59
+ name: 'manager.list',
60
+ input: {
61
+ contentType: SEO_AUDIT_CONTENT_TYPE,
62
+ query: {
63
+ filter: { kind: 'site', languageCode: language.code },
64
+ options: {
65
+ limit: SEO_HISTORY_PAGE_SIZE,
66
+ page: siteHistoryPage,
67
+ sort: { createdAt: 'desc' },
68
+ },
69
+ },
70
+ },
71
+ enabled: canRead,
72
+ });
73
+ const latestSiteAuditQuery = (0, react_2.useManagerQuery)({
74
+ name: 'manager.list',
75
+ input: {
76
+ contentType: SEO_AUDIT_CONTENT_TYPE,
77
+ query: {
78
+ filter: { kind: 'site', languageCode: language.code },
79
+ options: { limit: 1, page: 1, sort: { createdAt: 'desc' } },
80
+ },
81
+ },
82
+ enabled: canRead,
83
+ });
84
+ const pageHistoryQuery = (0, react_2.useManagerQuery)({
85
+ name: 'manager.list',
86
+ input: {
87
+ contentType: SEO_AUDIT_CONTENT_TYPE,
88
+ query: {
89
+ filter: { kind: 'page', languageCode: language.code },
90
+ options: {
91
+ limit: SEO_HISTORY_PAGE_SIZE,
92
+ page: pageHistoryPage,
93
+ sort: { createdAt: 'desc' },
94
+ },
95
+ },
96
+ },
97
+ enabled: canRead,
98
+ });
99
+ const siteHistory = (siteHistoryQuery.data?.items ?? []);
100
+ const latestSiteAudit = (latestSiteAuditQuery.data?.items?.[0] ?? null);
101
+ const pageHistory = (pageHistoryQuery.data?.items ?? []);
102
+ const displayedPayload = currentPayload ?? parsePayload(latestSiteAudit?.payload ?? '');
103
+ const displayedCounts = displayedPayload ? (0, site_analysis_1.getSiteSeoAuditCounts)(displayedPayload) : null;
104
+ const routableContentTypes = (0, react_1.useMemo)(() => contentTypes.filter((contentType) => {
105
+ if (!contentType.routes?.some((route) => route.hasPage))
106
+ return false;
107
+ const permissions = (0, permissions_1.getEncodedContentPermissions)(contentType, ['own', 'readAny']);
108
+ return permissions.length === 0 || hasAnyPermission(permissions);
109
+ }), [contentTypes, hasAnyPermission]);
110
+ (0, react_1.useEffect)(() => {
111
+ setSiteHistoryPage(1);
112
+ setPageHistoryPage(1);
113
+ setCurrentPayload(null);
114
+ }, [language.code]);
115
+ const getFindingCopy = (finding) => {
116
+ switch (finding.code) {
117
+ case 'missingTitle':
118
+ return t('seoAudit.finding.missingTitle');
119
+ case 'titleLength':
120
+ return t('seoAudit.finding.titleLength');
121
+ case 'missingDescription':
122
+ return t('seoAudit.finding.missingDescription');
123
+ case 'descriptionLength':
124
+ return t('seoAudit.finding.descriptionLength');
125
+ case 'noIndex':
126
+ return t('seoAudit.finding.noIndex');
127
+ case 'missingCanonicalBase':
128
+ return t('seoAudit.finding.missingCanonicalBase');
129
+ case 'incompleteOpenGraph':
130
+ return t('seoAudit.finding.incompleteOpenGraph', {
131
+ fields: finding.fields?.join(', ') ?? '',
132
+ });
133
+ case 'duplicateTitle':
134
+ return t('seoAudit.finding.duplicateTitle');
135
+ case 'duplicateDescription':
136
+ return t('seoAudit.finding.duplicateDescription');
137
+ }
138
+ };
139
+ const runAudit = async () => {
140
+ try {
141
+ const contents = await Promise.all(routableContentTypes.map(async (contentType) => {
142
+ const result = await managerClient.request('manager.list', {
143
+ contentType: contentType.name,
144
+ languageCode: language.code,
145
+ query: { options: { limit: 'all' } },
146
+ });
147
+ return {
148
+ contentType: contentType.name,
149
+ documentVisibility: contentType.documentVisibility,
150
+ documents: result.items,
151
+ };
152
+ }));
153
+ const payload = (0, site_analysis_1.buildSiteSeoAudit)({
154
+ contents,
155
+ resolveValue: (value) => {
156
+ if (value === undefined || value === null)
157
+ return value;
158
+ try {
159
+ return getTranslation(value);
160
+ }
161
+ catch {
162
+ return value;
163
+ }
164
+ },
165
+ siteUrl,
166
+ });
167
+ const counts = (0, site_analysis_1.getSiteSeoAuditCounts)(payload);
168
+ await createAudit.mutateAsync({
169
+ contentType: SEO_AUDIT_CONTENT_TYPE,
170
+ data: {
171
+ _type: SEO_AUDIT_CONTENT_TYPE,
172
+ kind: 'site',
173
+ languageCode: language.code,
174
+ score: counts.score,
175
+ goodCount: counts.goodCount,
176
+ warningCount: counts.warningCount,
177
+ errorCount: counts.errorCount,
178
+ documentCount: payload.pages.length,
179
+ contentTypeCount: routableContentTypes.length,
180
+ payload: JSON.stringify(payload),
181
+ },
182
+ });
183
+ setCurrentPayload(payload);
184
+ setSiteHistoryPage(1);
185
+ await Promise.all([siteHistoryQuery.refetch(), latestSiteAuditQuery.refetch()]);
186
+ sonner_1.toast.success(t('seoAudit.generated'));
187
+ }
188
+ catch (error) {
189
+ sonner_1.toast.error((0, get_action_error_message_1.getActionErrorMessage)(error, t('seoAudit.generateError')));
190
+ }
191
+ };
192
+ if (!canRead) {
193
+ return ((0, jsx_runtime_1.jsx)(unauthorized_1.default, { neededPermission: [
194
+ 'content.SeoSettings.own',
195
+ 'content.SeoSettings.readAny',
196
+ ], anyPermission: true }));
197
+ }
198
+ if (siteHistoryQuery.isLoading ||
199
+ latestSiteAuditQuery.isLoading ||
200
+ pageHistoryQuery.isLoading) {
201
+ return (0, jsx_runtime_1.jsx)(loading_1.default, {});
202
+ }
203
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'container mx-auto flex flex-col gap-6 px-4 py-10', children: [(0, jsx_runtime_1.jsxs)(card_1.Card, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardHeader, { className: 'gap-4 sm:flex-row sm:items-center sm:justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'space-y-1.5', children: [(0, jsx_runtime_1.jsxs)(card_1.CardTitle, { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.SearchCheck, { className: 'size-5' }), t('seoAudit.title')] }), (0, jsx_runtime_1.jsx)(card_1.CardDescription, { children: t('seoAudit.description') })] }), (0, jsx_runtime_1.jsxs)(button_1.Button, { className: 'shrink-0', disabled: !canCreate || routableContentTypes.length === 0, loading: createAudit.isPending, onClick: () => void runAudit(), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.SearchCheck, {}), (siteHistoryQuery.data?.totalItems ?? 0) > 0
204
+ ? t('seoAudit.regenerate')
205
+ : t('seoAudit.generate')] })] }), (0, jsx_runtime_1.jsx)(card_1.CardContent, { className: 'text-sm text-muted-foreground', children: t('seoAudit.scope', { count: routableContentTypes.length }) })] }), displayedPayload && displayedCounts ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-4 sm:grid-cols-2 xl:grid-cols-4', children: [(0, jsx_runtime_1.jsx)(card_1.Card, { children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'pt-6', children: [(0, jsx_runtime_1.jsx)("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.score') }), (0, jsx_runtime_1.jsx)("p", { className: (0, utils_1.cn)('mt-2 text-4xl font-semibold', scoreStyles(displayedCounts.score)), children: displayedCounts.score })] }) }), (0, jsx_runtime_1.jsx)(card_1.Card, { children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'pt-6', children: [(0, jsx_runtime_1.jsx)("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.documents') }), (0, jsx_runtime_1.jsx)("p", { className: 'mt-2 text-4xl font-semibold', children: displayedPayload.pages.length })] }) }), (0, jsx_runtime_1.jsx)(card_1.Card, { children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'pt-6', children: [(0, jsx_runtime_1.jsxs)("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.CircleX, { className: 'size-4 text-destructive' }), t('seoAudit.errors')] }), (0, jsx_runtime_1.jsx)("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.errorCount })] }) }), (0, jsx_runtime_1.jsx)(card_1.Card, { children: (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'pt-6', children: [(0, jsx_runtime_1.jsxs)("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.AlertTriangle, { className: 'size-4 text-amber-500' }), t('seoAudit.warnings')] }), (0, jsx_runtime_1.jsx)("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.warningCount })] }) })] }), (0, jsx_runtime_1.jsxs)(card_1.Card, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardHeader, { children: [(0, jsx_runtime_1.jsx)(card_1.CardTitle, { children: t('seoAudit.pagesTitle') }), (0, jsx_runtime_1.jsx)(card_1.CardDescription, { children: t('seoAudit.pagesDescription') })] }), (0, jsx_runtime_1.jsx)(card_1.CardContent, { className: 'space-y-3', children: displayedPayload.pages
206
+ .slice()
207
+ .sort((a, b) => b.findings.length - a.findings.length)
208
+ .map((page) => ((0, jsx_runtime_1.jsxs)("details", { className: 'rounded-lg border', children: [(0, jsx_runtime_1.jsxs)("summary", { className: 'flex cursor-pointer list-none items-center gap-3 p-4', children: [page.findings.some((finding) => finding.severity === 'error') ? ((0, jsx_runtime_1.jsx)(lucide_react_1.CircleX, { className: 'size-4 shrink-0 text-destructive' })) : page.findings.length ? ((0, jsx_runtime_1.jsx)(lucide_react_1.AlertTriangle, { className: 'size-4 shrink-0 text-amber-500' })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.CheckCircle2, { className: 'size-4 shrink-0 text-emerald-500' })), (0, jsx_runtime_1.jsx)("span", { className: 'min-w-0 flex-1 truncate font-medium', children: page.label }), (0, jsx_runtime_1.jsx)(badge_1.Badge, { variant: 'outline', children: page.contentType }), (0, jsx_runtime_1.jsx)(badge_1.Badge, { variant: page.findings.length ? 'secondary' : 'outline', children: t('seoAudit.issueCount', { count: page.findings.length }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'border-t p-4', children: [page.findings.length ? ((0, jsx_runtime_1.jsx)("ul", { className: 'space-y-2 text-sm', children: page.findings.map((finding, index) => ((0, jsx_runtime_1.jsxs)("li", { className: 'flex items-start gap-2', children: [finding.severity === 'error' ? ((0, jsx_runtime_1.jsx)(lucide_react_1.CircleX, { className: 'mt-0.5 size-4 shrink-0 text-destructive' })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.AlertTriangle, { className: 'mt-0.5 size-4 shrink-0 text-amber-500' })), getFindingCopy(finding)] }, `${finding.code}:${index}`))) })) : ((0, jsx_runtime_1.jsx)("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noIssues') })), (0, jsx_runtime_1.jsx)(link_1.ManagerLink, { href: `/${page.contentType}/${page.documentId}`, className: 'mt-4 inline-flex text-sm font-medium text-primary hover:underline', children: t('seoAudit.openDocument') })] })] }, `${page.contentType}:${page.documentId}`))) })] })] })) : ((0, jsx_runtime_1.jsxs)("div", { className: 'flex min-h-64 flex-col items-center justify-center gap-3 rounded-lg border border-dashed p-8 text-center text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.SearchCheck, { className: 'size-9' }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { className: 'font-medium text-foreground', children: t('seoAudit.emptyTitle') }), (0, jsx_runtime_1.jsx)("p", { className: 'mt-1 max-w-lg text-sm', children: t('seoAudit.emptyDescription') })] })] })), (0, jsx_runtime_1.jsxs)(card_1.Card, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardHeader, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardTitle, { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.History, { className: 'size-4' }), t('seoAudit.historyTitle')] }), (0, jsx_runtime_1.jsx)(card_1.CardDescription, { children: t('seoAudit.historyDescription') })] }), (0, jsx_runtime_1.jsx)(card_1.CardContent, { children: siteHistory.length ? ((0, jsx_runtime_1.jsxs)("div", { className: 'space-y-4', children: [(0, jsx_runtime_1.jsx)("div", { className: 'grid gap-3 md:grid-cols-2 xl:grid-cols-3', children: siteHistory.map((audit) => ((0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg border p-4', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center justify-between gap-3', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-sm text-muted-foreground', children: audit.createdAt
209
+ ? (0, formatDate_1.formatDate)(new Date(audit.createdAt))
210
+ : t('common.unknown') }), (0, jsx_runtime_1.jsx)("strong", { className: scoreStyles(audit.score), children: t('seoAudit.scoreValue', { score: audit.score }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'mt-3 h-2 overflow-hidden rounded-full bg-muted', children: (0, jsx_runtime_1.jsx)("div", { className: 'h-full rounded-full bg-primary', style: { width: `${Math.max(0, Math.min(100, audit.score))}%` } }) }), (0, jsx_runtime_1.jsx)("p", { className: 'mt-3 text-xs text-muted-foreground', children: t('seoAudit.historySummary', {
211
+ documents: audit.documentCount,
212
+ errors: audit.errorCount,
213
+ warnings: audit.warningCount,
214
+ }) })] }, audit._id))) }), (siteHistoryQuery.data?.totalItems ?? 0) > SEO_HISTORY_PAGE_SIZE ? ((0, jsx_runtime_1.jsx)(PaginationController_1.PaginationController, { page: siteHistoryPage, setPage: setSiteHistoryPage, totalItems: siteHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })) : ((0, jsx_runtime_1.jsx)("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noHistory') })) })] }), pageHistory.length ? ((0, jsx_runtime_1.jsxs)(card_1.Card, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardHeader, { children: [(0, jsx_runtime_1.jsx)(card_1.CardTitle, { children: t('seoAudit.pageHistoryTitle') }), (0, jsx_runtime_1.jsx)(card_1.CardDescription, { children: t('seoAudit.pageHistoryDescription') })] }), (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'space-y-4', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-y-2', children: pageHistory.map((audit) => ((0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-wrap items-center gap-3 rounded-lg border p-3', children: [(0, jsx_runtime_1.jsx)("strong", { className: (0, utils_1.cn)('w-12', scoreStyles(audit.score)), children: audit.score }), (0, jsx_runtime_1.jsx)("span", { className: 'min-w-0 flex-1 truncate text-sm', children: audit.contentType ?? t('common.unknown') }), (0, jsx_runtime_1.jsx)("span", { className: 'text-xs text-muted-foreground', children: audit.createdAt
215
+ ? (0, formatDate_1.formatDate)(new Date(audit.createdAt))
216
+ : t('common.unknown') }), audit.contentType && audit.documentId ? ((0, jsx_runtime_1.jsx)(link_1.ManagerLink, { href: `/${audit.contentType}/${audit.documentId}`, className: 'text-sm font-medium text-primary hover:underline', children: t('seoAudit.openDocument') })) : null] }, audit._id))) }), (pageHistoryQuery.data?.totalItems ?? 0) > SEO_HISTORY_PAGE_SIZE ? ((0, jsx_runtime_1.jsx)(PaginationController_1.PaginationController, { page: pageHistoryPage, setPage: setPageHistoryPage, totalItems: pageHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })] })) : null] }));
217
+ };
218
+ exports.ManagerSeoScreen = ManagerSeoScreen;
219
+ //# sourceMappingURL=screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/screen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSiteSeoAuditCounts = exports.buildSiteSeoAudit = void 0;
4
+ const normalizeComparable = (value) => value.trim().toLocaleLowerCase();
5
+ const readString = (value, resolveValue) => {
6
+ if (typeof value === 'string')
7
+ return value.trim();
8
+ const resolved = resolveValue(value);
9
+ return typeof resolved === 'string' ? resolved.trim() : '';
10
+ };
11
+ const getSeo = (document) => document._seo && typeof document._seo === 'object'
12
+ ? document._seo
13
+ : {};
14
+ const getPathValue = (value, path) => path.split('.').reduce((current, segment) => {
15
+ if (!current || typeof current !== 'object')
16
+ return undefined;
17
+ return current[segment];
18
+ }, value);
19
+ const readSeoString = ({ contentType, document, field, resolveValue, seo, }) => {
20
+ const direct = readString(seo[field], resolveValue);
21
+ if (direct)
22
+ return direct;
23
+ const bindings = seo._bindings && typeof seo._bindings === 'object'
24
+ ? seo._bindings
25
+ : null;
26
+ const fields = bindings?.fields && typeof bindings.fields === 'object'
27
+ ? bindings.fields
28
+ : null;
29
+ const binding = fields?.[field] && typeof fields[field] === 'object'
30
+ ? fields[field]
31
+ : null;
32
+ if (binding?.contentType !== contentType ||
33
+ binding.id ||
34
+ typeof binding.path !== 'string') {
35
+ return '';
36
+ }
37
+ return readString(getPathValue(document, binding.path), resolveValue);
38
+ };
39
+ const hasSeoBinding = (seo, field) => {
40
+ if (!seo._bindings || typeof seo._bindings !== 'object')
41
+ return false;
42
+ const fields = seo._bindings.fields;
43
+ return Boolean(fields &&
44
+ typeof fields === 'object' &&
45
+ fields[field]);
46
+ };
47
+ const addDuplicateFindings = (pages, field, code, severity) => {
48
+ const groups = new Map();
49
+ for (const page of pages) {
50
+ const value = normalizeComparable(page[field]);
51
+ if (!value)
52
+ continue;
53
+ const group = groups.get(value) ?? [];
54
+ group.push(page);
55
+ groups.set(value, group);
56
+ }
57
+ for (const group of groups.values()) {
58
+ if (group.length < 2)
59
+ continue;
60
+ for (const page of group) {
61
+ page.findings.push({ code, severity });
62
+ }
63
+ }
64
+ };
65
+ const buildSiteSeoAudit = ({ contents, resolveValue, siteUrl, }) => {
66
+ const pages = contents.flatMap((content) => content.documents.flatMap((document) => {
67
+ if (content.documentVisibility && document._visibility !== 'published') {
68
+ return [];
69
+ }
70
+ const seo = getSeo(document);
71
+ const title = readSeoString({
72
+ contentType: content.contentType,
73
+ document,
74
+ field: 'title',
75
+ resolveValue,
76
+ seo,
77
+ });
78
+ const description = readSeoString({
79
+ contentType: content.contentType,
80
+ document,
81
+ field: 'description',
82
+ resolveValue,
83
+ seo,
84
+ });
85
+ const hasTitleBinding = hasSeoBinding(seo, 'title');
86
+ const hasDescriptionBinding = hasSeoBinding(seo, 'description');
87
+ const canonical = readString(seo.canonicalUrl, resolveValue);
88
+ const findings = [];
89
+ if (!title && !hasTitleBinding) {
90
+ findings.push({ code: 'missingTitle', severity: 'error' });
91
+ }
92
+ else if (title.length < 30 || title.length > 60) {
93
+ if (title)
94
+ findings.push({ code: 'titleLength', severity: 'warning' });
95
+ }
96
+ if (!description && !hasDescriptionBinding) {
97
+ findings.push({ code: 'missingDescription', severity: 'error' });
98
+ }
99
+ else if (description.length < 120 || description.length > 160) {
100
+ if (description) {
101
+ findings.push({ code: 'descriptionLength', severity: 'warning' });
102
+ }
103
+ }
104
+ if (seo.noIndex === true) {
105
+ findings.push({ code: 'noIndex', severity: 'warning' });
106
+ }
107
+ if (!canonical && !siteUrl?.trim()) {
108
+ findings.push({ code: 'missingCanonicalBase', severity: 'error' });
109
+ }
110
+ if (seo.customOpenGraph === true) {
111
+ const missingFields = [
112
+ ['title', seo.openGraphTitle],
113
+ ['description', seo.openGraphDescription],
114
+ ['image', seo.openGraphImage],
115
+ ]
116
+ .filter(([, value]) => !value)
117
+ .map(([field]) => field);
118
+ if (missingFields.length > 0) {
119
+ findings.push({
120
+ code: 'incompleteOpenGraph',
121
+ severity: 'warning',
122
+ fields: missingFields,
123
+ });
124
+ }
125
+ }
126
+ return [
127
+ {
128
+ contentType: content.contentType,
129
+ documentId: document._id,
130
+ label: title || `${content.contentType} ${document._id.slice(-6)}`,
131
+ title,
132
+ description,
133
+ findings,
134
+ },
135
+ ];
136
+ }));
137
+ addDuplicateFindings(pages, 'title', 'duplicateTitle', 'error');
138
+ addDuplicateFindings(pages, 'description', 'duplicateDescription', 'warning');
139
+ return { version: 1, pages };
140
+ };
141
+ exports.buildSiteSeoAudit = buildSiteSeoAudit;
142
+ const getSiteSeoAuditCounts = (payload) => {
143
+ const errorCount = payload.pages.reduce((total, page) => total + page.findings.filter((finding) => finding.severity === 'error').length, 0);
144
+ const warningCount = payload.pages.reduce((total, page) => total + page.findings.filter((finding) => finding.severity === 'warning').length, 0);
145
+ const totalChecks = Math.max(payload.pages.length * 4, errorCount + warningCount);
146
+ const goodCount = Math.max(0, totalChecks - errorCount - warningCount);
147
+ const score = totalChecks
148
+ ? Math.max(0, Math.round(((goodCount + warningCount * 0.5) / totalChecks) * 100))
149
+ : 0;
150
+ return { errorCount, goodCount, score, warningCount };
151
+ };
152
+ exports.getSiteSeoAuditCounts = getSiteSeoAuditCounts;
153
+ //# sourceMappingURL=site-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-analysis.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/site-analysis.ts"],"names":[],"mappings":";;;AA2CA,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;AAE/E,MAAM,UAAU,GAAG,CACjB,KAAc,EACd,YAAyC,EACzC,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;IAElD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,QAAyB,EAAE,EAAE,CAC3C,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;IAChD,CAAC,CAAE,QAAQ,CAAC,IAAgC;IAC5C,CAAC,CAAC,EAAE,CAAA;AAER,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,IAAY,EAAE,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC7D,OAAQ,OAAmC,CAAC,OAAO,CAAC,CAAA;AACtD,CAAC,EAAE,KAAK,CAAC,CAAA;AAEX,MAAM,aAAa,GAAG,CAAC,EACrB,WAAW,EACX,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,GAAG,GAOJ,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,QAAQ,GACZ,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAChD,CAAC,CAAE,GAAG,CAAC,SAAqC;QAC5C,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,MAAM,GACV,QAAQ,EAAE,MAAM,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;QACrD,CAAC,CAAE,QAAQ,CAAC,MAAkC;QAC9C,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,OAAO,GACX,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;QAClD,CAAC,CAAE,MAAM,CAAC,KAAK,CAA6B;QAC5C,CAAC,CAAC,IAAI,CAAA;IAEV,IACE,OAAO,EAAE,WAAW,KAAK,WAAW;QACpC,OAAO,CAAC,EAAE;QACV,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAChC,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,GAA4B,EAAE,KAAa,EAAE,EAAE;IACpE,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAErE,MAAM,MAAM,GAAI,GAAG,CAAC,SAAqC,CAAC,MAAM,CAAA;IAChE,OAAO,OAAO,CACZ,MAAM;QACJ,OAAO,MAAM,KAAK,QAAQ;QACzB,MAAkC,CAAC,KAAK,CAAC,CAC7C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAC3B,KAAyB,EACzB,KAA8B,EAC9B,IAA+C,EAC/C,QAAgC,EAChC,EAAE;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;IAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK;YAAE,SAAQ;QAEpB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAQ;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,YAAY,EACZ,OAAO,GAKR,EAAuB,EAAE;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACvE,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,aAAa,CAAC;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ;YACR,KAAK,EAAE,OAAO;YACd,YAAY;YACZ,GAAG;SACJ,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,aAAa,CAAC;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ;YACR,KAAK,EAAE,aAAa;YACpB,YAAY;YACZ,GAAG;SACJ,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAqB,EAAE,CAAA;QAErC,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAClD,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChE,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG;gBACpB,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;gBAC7B,CAAC,aAAa,EAAE,GAAG,CAAC,oBAAoB,CAAC;gBACzC,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;aAC9B;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAe,CAAC,CAAA;YAEpC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,qBAAqB;oBAC3B,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL;gBACE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,QAAQ,CAAC,GAAG;gBACxB,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClE,KAAK;gBACL,WAAW;gBACX,QAAQ;aACT;SACF,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC/D,oBAAoB,CAClB,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,SAAS,CACV,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;AAC9B,CAAC,CAAA;AAjGY,QAAA,iBAAiB,qBAiG7B;AAEM,MAAM,qBAAqB,GAAG,CAAC,OAA4B,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACd,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,EAChF,CAAC,CACF,CAAA;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CACvC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACd,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,EAClF,CAAC,CACF,CAAA;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IACjF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,WAAW;QACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CACnE;QACH,CAAC,CAAC,CAAC,CAAA;IAEL,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;AACvD,CAAC,CAAA;AArBY,QAAA,qBAAqB,yBAqBjC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManagerSettingsLlmsScreen = void 0;
4
+ var screen_1 = require("./screen.js");
5
+ Object.defineProperty(exports, "ManagerSettingsLlmsScreen", { enumerable: true, get: function () { return screen_1.ManagerSettingsLlmsScreen; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/settings/llms/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,mHAAA,yBAAyB,OAAA"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ 'use client';
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ManagerSettingsLlmsScreen = void 0;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const lucide_react_1 = require("lucide-react");
10
+ const react_1 = require("react");
11
+ const sonner_1 = require("sonner");
12
+ const ContentTypeEdit_1 = __importDefault(require("../../[contentType]/[edit]/ContentTypeEdit.js"));
13
+ const react_2 = require("../../../../client/react.js");
14
+ const loading_1 = __importDefault(require("../../../../components/loading.js"));
15
+ const unauthorized_1 = __importDefault(require("../../../../components/unauthorized.js"));
16
+ const button_1 = require("../../../../components/ui/button.js");
17
+ const card_1 = require("../../../../components/ui/card.js");
18
+ const i18n_1 = require("../../../../i18n/index.js");
19
+ const session_1 = require("../../../../state/session.js");
20
+ const LLMS_SETTINGS_CONTENT_TYPE = 'LlmsSettings';
21
+ const defaultLlmsSettingsData = {
22
+ _type: LLMS_SETTINGS_CONTENT_TYPE,
23
+ key: 'default',
24
+ llmsEnabled: false,
25
+ llmsSections: [],
26
+ };
27
+ const createLlmsSettingsEditContentType = (encoded) => {
28
+ const { key: _key, ...fields } = encoded.fields;
29
+ return {
30
+ ...encoded,
31
+ fields,
32
+ };
33
+ };
34
+ const ManagerSettingsLlmsScreen = () => {
35
+ const t = (0, i18n_1.useTranslations)();
36
+ const formRef = (0, react_1.useRef)(null);
37
+ const { hasPermissions } = (0, session_1.useSession)();
38
+ const canRead = hasPermissions(['content.LlmsSettings.readAny']);
39
+ const canUpdate = hasPermissions(['content.LlmsSettings.updateAny']);
40
+ const contentTypeQuery = (0, react_2.useManagerQuery)({
41
+ name: 'manager.contentType',
42
+ input: { contentType: LLMS_SETTINGS_CONTENT_TYPE },
43
+ enabled: canRead,
44
+ });
45
+ const contentType = (0, react_1.useMemo)(() => contentTypeQuery.data
46
+ ? createLlmsSettingsEditContentType(contentTypeQuery.data)
47
+ : null, [contentTypeQuery.data]);
48
+ const settingsListQuery = (0, react_2.useManagerQuery)({
49
+ name: 'manager.list',
50
+ input: {
51
+ contentType: LLMS_SETTINGS_CONTENT_TYPE,
52
+ query: {
53
+ filter: { key: 'default' },
54
+ options: { limit: 1, fields: ['key'] },
55
+ },
56
+ },
57
+ enabled: canRead,
58
+ });
59
+ const settingsId = settingsListQuery.data?.items?.[0]?._id;
60
+ const settingsQuery = (0, react_2.useManagerQuery)({
61
+ name: 'manager.get',
62
+ input: {
63
+ contentType: LLMS_SETTINGS_CONTENT_TYPE,
64
+ id: settingsId ?? '',
65
+ },
66
+ enabled: canRead && Boolean(settingsId),
67
+ });
68
+ const createMutation = (0, react_2.useManagerMutation)('manager.create');
69
+ const updateMutation = (0, react_2.useManagerMutation)('manager.update');
70
+ const defaultData = (settingsQuery.data ??
71
+ defaultLlmsSettingsData);
72
+ const isLoading = contentTypeQuery.isLoading ||
73
+ settingsListQuery.isLoading ||
74
+ (Boolean(settingsId) && settingsQuery.isLoading);
75
+ const isSaving = createMutation.isPending || updateMutation.isPending;
76
+ const saveSettings = async () => {
77
+ const value = formRef.current?.getValue();
78
+ if (!value || value._error) {
79
+ sonner_1.toast.error(t('settings.llms.fixErrors'));
80
+ return;
81
+ }
82
+ const data = {
83
+ ...value,
84
+ _type: LLMS_SETTINGS_CONTENT_TYPE,
85
+ key: 'default',
86
+ };
87
+ try {
88
+ if (settingsId) {
89
+ await updateMutation.mutateAsync({
90
+ contentType: LLMS_SETTINGS_CONTENT_TYPE,
91
+ id: settingsId,
92
+ data,
93
+ });
94
+ }
95
+ else {
96
+ await createMutation.mutateAsync({
97
+ contentType: LLMS_SETTINGS_CONTENT_TYPE,
98
+ data,
99
+ });
100
+ }
101
+ sonner_1.toast.success(t('settings.llms.saved'));
102
+ await settingsListQuery.refetch();
103
+ if (settingsId)
104
+ await settingsQuery.refetch();
105
+ }
106
+ catch (error) {
107
+ sonner_1.toast.error(error instanceof Error ? error.message : t('settings.llms.saveError'));
108
+ }
109
+ };
110
+ if (!canRead) {
111
+ return ((0, jsx_runtime_1.jsx)(unauthorized_1.default, { neededPermission: ['content.LlmsSettings.readAny'] }));
112
+ }
113
+ if (isLoading)
114
+ return (0, jsx_runtime_1.jsx)(loading_1.default, {});
115
+ if (!contentType)
116
+ return null;
117
+ return ((0, jsx_runtime_1.jsx)("div", { className: 'container mx-auto flex flex-col gap-6 px-4 py-10', children: (0, jsx_runtime_1.jsxs)(card_1.Card, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardHeader, { children: [(0, jsx_runtime_1.jsxs)(card_1.CardTitle, { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.BotMessageSquare, { className: 'h-5 w-5' }), t('settings.llms.title')] }), (0, jsx_runtime_1.jsx)(card_1.CardDescription, { children: t('settings.llms.description') })] }), (0, jsx_runtime_1.jsxs)(card_1.CardContent, { className: 'flex flex-col gap-8', children: [(0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { id: LLMS_SETTINGS_CONTENT_TYPE, ref: formRef, contentType: contentType, defaultData: defaultData, collapsible: true }, settingsId ?? 'new'), canUpdate ? ((0, jsx_runtime_1.jsx)(button_1.Button, { className: 'w-fit', loading: isSaving, onClick: () => void saveSettings(), children: t('settings.llms.save') })) : ((0, jsx_runtime_1.jsx)(unauthorized_1.default, { neededPermission: [
118
+ 'content.LlmsSettings.updateAny',
119
+ ] }))] })] }) }));
120
+ };
121
+ exports.ManagerSettingsLlmsScreen = ManagerSettingsLlmsScreen;
122
+ //# sourceMappingURL=screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/settings/llms/screen.tsx"],"names":[],"mappings":"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"}
@@ -64,6 +64,13 @@ const cards = [
64
64
  link: '/settings/seo',
65
65
  tour: 'settings-link-seo',
66
66
  },
67
+ {
68
+ titleKey: 'settings.llms',
69
+ icon: (0, jsx_runtime_1.jsx)(lucide_react_1.BotMessageSquare, { size: "80" }),
70
+ link: '/settings/llms',
71
+ tour: 'settings-link-llms',
72
+ permission: 'content.LlmsSettings.readAny',
73
+ },
67
74
  ];
68
75
  const ManagerSettingsHomeScreen = () => {
69
76
  const t = (0, i18n_1.useTranslations)();
@@ -1 +1 @@
1
- {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/settings/screen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/settings/screen.tsx"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ const getManagerRouteDefinition = (kind) => route_list_1.managerRouteDefinitions
73
73
  exports.getManagerRouteDefinition = getManagerRouteDefinition;
74
74
  const renderManagerRoute = (args) => {
75
75
  const { definition, route, props } = args;
76
- const { pathname, basePath, contentTypes = [] } = props;
76
+ const { pathname, basePath, siteUrl, contentTypes = [] } = props;
77
77
  const matchedContentType = "contentType" in route
78
78
  ? contentTypes.find((item) => item.name === route.contentType)
79
79
  : undefined;
@@ -85,6 +85,7 @@ const renderManagerRoute = (args) => {
85
85
  route,
86
86
  pathname,
87
87
  basePath,
88
+ siteUrl,
88
89
  contentTypes,
89
90
  }) ?? (0, jsx_runtime_1.jsx)(layouts_1.ManagerAuthLayout, { children: children }));
90
91
  }
@@ -95,7 +96,7 @@ const renderManagerRoute = (args) => {
95
96
  basePath,
96
97
  contentTypes,
97
98
  headerEnd,
98
- }) ?? ((0, jsx_runtime_1.jsx)(layouts_1.ManagerDashboardLayout, { route: route, contentTypes: contentTypes, pathname: pathname, basePath: basePath, headerEnd: headerEnd, children: children })));
99
+ }) ?? ((0, jsx_runtime_1.jsx)(layouts_1.ManagerDashboardLayout, { route: route, contentTypes: contentTypes, pathname: pathname, basePath: basePath, siteUrl: siteUrl, headerEnd: headerEnd, children: children })));
99
100
  };
100
101
  exports.renderManagerRoute = renderManagerRoute;
101
102
  //# sourceMappingURL=route-definitions.js.map