@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.
- package/README.md +366 -297
- package/dist/cjs/app/runtime-app.js +4 -1
- package/dist/cjs/app/runtime-app.js.map +1 -1
- package/dist/cjs/components/app-sidebar.js +13 -2
- package/dist/cjs/components/app-sidebar.js.map +1 -1
- package/dist/cjs/components/media/MediaLibrary.js +10 -1
- package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
- package/dist/cjs/components/media/contexts/MediaLibraryContext.js +1 -1
- package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js +68 -15
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/cjs/components/media/previews/Previews.js +89 -35
- package/dist/cjs/components/media/previews/Previews.js.map +1 -1
- package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +16 -9
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/cjs/components/media/previews/utils/mediaDownload.js +54 -0
- package/dist/cjs/components/media/previews/utils/mediaDownload.js.map +1 -0
- package/dist/cjs/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/cjs/components/rakun-logo.js +4 -9
- package/dist/cjs/components/rakun-logo.js.map +1 -1
- package/dist/cjs/components/ui/context-menu.js +1 -1
- package/dist/cjs/components/ui/context-menu.js.map +1 -1
- package/dist/cjs/i18n/catalog.js +366 -6
- package/dist/cjs/i18n/catalog.js.map +1 -1
- package/dist/cjs/layouts.js +2 -2
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/lib/media.js +1 -0
- package/dist/cjs/lib/media.js.map +1 -1
- package/dist/cjs/media.js +45 -0
- package/dist/cjs/media.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +15 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +3 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +290 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +88 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +9 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +222 -232
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +25 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +10 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +135 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +10 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +113 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +22 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +2 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +10 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js +2 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
- package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js +17 -0
- package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
- package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js +40 -26
- package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/test.js +6 -5
- package/dist/cjs/router/dashboard/debugging/api-routes/test.js.map +1 -1
- package/dist/cjs/router/dashboard/seo/index.js +6 -0
- package/dist/cjs/router/dashboard/seo/index.js.map +1 -0
- package/dist/cjs/router/dashboard/seo/screen.js +219 -0
- package/dist/cjs/router/dashboard/seo/screen.js.map +1 -0
- package/dist/cjs/router/dashboard/seo/site-analysis.js +153 -0
- package/dist/cjs/router/dashboard/seo/site-analysis.js.map +1 -0
- package/dist/cjs/router/dashboard/settings/llms/index.js +6 -0
- package/dist/cjs/router/dashboard/settings/llms/index.js.map +1 -0
- package/dist/cjs/router/dashboard/settings/llms/screen.js +122 -0
- package/dist/cjs/router/dashboard/settings/llms/screen.js.map +1 -0
- package/dist/cjs/router/dashboard/settings/screen.js +7 -0
- package/dist/cjs/router/dashboard/settings/screen.js.map +1 -1
- package/dist/cjs/router/shared/route-definitions.js +3 -2
- package/dist/cjs/router/shared/route-definitions.js.map +1 -1
- package/dist/cjs/router/shared/route-list.js +19 -3
- package/dist/cjs/router/shared/route-list.js.map +1 -1
- package/dist/cjs/router/shared/route-renderer.js +2 -1
- package/dist/cjs/router/shared/route-renderer.js.map +1 -1
- package/dist/docs/index.md +294 -192
- package/dist/esm/app/runtime-app.d.ts.map +1 -1
- package/dist/esm/app/runtime-app.js +4 -1
- package/dist/esm/app/runtime-app.js.map +1 -1
- package/dist/esm/components/app-sidebar.d.ts +2 -1
- package/dist/esm/components/app-sidebar.d.ts.map +1 -1
- package/dist/esm/components/app-sidebar.js +15 -4
- package/dist/esm/components/app-sidebar.js.map +1 -1
- package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
- package/dist/esm/components/media/MediaLibrary.js +11 -2
- package/dist/esm/components/media/MediaLibrary.js.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.js +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.js +70 -17
- package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
- package/dist/esm/components/media/previews/Previews.js +90 -36
- package/dist/esm/components/media/previews/Previews.js.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +2 -0
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +4 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +17 -10
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/esm/components/media/previews/utils/mediaDownload.d.ts +13 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.d.ts.map +1 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.js +49 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.js.map +1 -0
- package/dist/esm/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/esm/components/rakun-logo.d.ts +1 -5
- package/dist/esm/components/rakun-logo.d.ts.map +1 -1
- package/dist/esm/components/rakun-logo.js +1 -6
- package/dist/esm/components/rakun-logo.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +1 -1
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/i18n/catalog.d.ts +645 -6
- package/dist/esm/i18n/catalog.d.ts.map +1 -1
- package/dist/esm/i18n/catalog.js +366 -6
- package/dist/esm/i18n/catalog.js.map +1 -1
- package/dist/esm/layouts.d.ts +3 -1
- package/dist/esm/layouts.d.ts.map +1 -1
- package/dist/esm/layouts.js +2 -2
- package/dist/esm/layouts.js.map +1 -1
- package/dist/esm/lib/media.d.ts +8 -0
- package/dist/esm/lib/media.d.ts.map +1 -1
- package/dist/esm/lib/media.js +1 -0
- package/dist/esm/lib/media.js.map +1 -1
- package/dist/esm/media.d.ts +19 -1
- package/dist/esm/media.d.ts.map +1 -1
- package/dist/esm/media.js +44 -0
- package/dist/esm/media.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +18 -7
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +4 -3
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +283 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts +10 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +83 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +9 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +6 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +221 -234
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts +4 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts +4 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +21 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +11 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts +4 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +130 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts +14 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +5 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts +23 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +103 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts +6 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +18 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +43 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +10 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.types.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js +2 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts +5 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts.map +1 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js +14 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js +42 -28
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/test.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/test.js +6 -5
- package/dist/esm/router/dashboard/debugging/api-routes/test.js.map +1 -1
- package/dist/esm/router/dashboard/seo/index.d.ts +2 -0
- package/dist/esm/router/dashboard/seo/index.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/index.js +2 -0
- package/dist/esm/router/dashboard/seo/index.js.map +1 -0
- package/dist/esm/router/dashboard/seo/screen.d.ts +6 -0
- package/dist/esm/router/dashboard/seo/screen.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/screen.js +212 -0
- package/dist/esm/router/dashboard/seo/screen.js.map +1 -0
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts +40 -0
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/site-analysis.js +148 -0
- package/dist/esm/router/dashboard/seo/site-analysis.js.map +1 -0
- package/dist/esm/router/dashboard/settings/llms/index.d.ts +2 -0
- package/dist/esm/router/dashboard/settings/llms/index.d.ts.map +1 -0
- package/dist/esm/router/dashboard/settings/llms/index.js +2 -0
- package/dist/esm/router/dashboard/settings/llms/index.js.map +1 -0
- package/dist/esm/router/dashboard/settings/llms/screen.d.ts +2 -0
- package/dist/esm/router/dashboard/settings/llms/screen.d.ts.map +1 -0
- package/dist/esm/router/dashboard/settings/llms/screen.js +115 -0
- package/dist/esm/router/dashboard/settings/llms/screen.js.map +1 -0
- package/dist/esm/router/dashboard/settings/screen.d.ts.map +1 -1
- package/dist/esm/router/dashboard/settings/screen.js +8 -1
- package/dist/esm/router/dashboard/settings/screen.js.map +1 -1
- package/dist/esm/router/shared/route-definitions.d.ts +6 -2
- package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
- package/dist/esm/router/shared/route-definitions.js +3 -2
- package/dist/esm/router/shared/route-definitions.js.map +1 -1
- package/dist/esm/router/shared/route-list.d.ts +1 -1
- package/dist/esm/router/shared/route-list.d.ts.map +1 -1
- package/dist/esm/router/shared/route-list.js +17 -1
- package/dist/esm/router/shared/route-list.js.map +1 -1
- package/dist/esm/router/shared/route-renderer.d.ts.map +1 -1
- package/dist/esm/router/shared/route-renderer.js +2 -1
- package/dist/esm/router/shared/route-renderer.js.map +1 -1
- package/dist/esm/router/shared/types.d.ts +5 -0
- package/dist/esm/router/shared/types.d.ts.map +1 -1
- package/dist/styles.css +237 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { JsonViewer as RakunJsonViewer } from '@rakun-kit/react';
|
|
4
|
+
import { cn } from '../../../../lib/utils.js';
|
|
5
|
+
export function JsonViewer({ value, className }) {
|
|
6
|
+
return (_jsx(RakunJsonViewer, { value: value, className: cn('bg-muted/40 min-h-64 overflow-auto rounded-xl border p-4 font-mono text-xs leading-6', className), theme: {
|
|
7
|
+
foreground: 'var(--foreground)',
|
|
8
|
+
muted: 'var(--muted-foreground)',
|
|
9
|
+
accent: 'var(--primary)',
|
|
10
|
+
border: 'var(--border)',
|
|
11
|
+
hover: 'color-mix(in srgb, var(--muted) 60%, transparent)',
|
|
12
|
+
} }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=JsonViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonViewer.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/JsonViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAA0C;IACrF,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CACX,sFAAsF,EACtF,SAAS,CACV,EACD,KAAK,EAAE;YACL,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,mDAAmD;SAC3D,GACD,CACH,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaViewer.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemaViewer.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"AA6QA,wBAAgB,YAAY,CAAC,EAC3B,MAAM,GACP,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,2CAyBA"}
|
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronRight } from 'lucide-react';
|
|
4
|
+
import { CodeBlock } from './CodeBlock.js';
|
|
5
|
+
import { Badge } from '../../../../components/ui/badge.js';
|
|
6
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../../../../components/ui/collapsible.js';
|
|
4
7
|
import { useTranslations } from '../../../../i18n/index.js';
|
|
5
|
-
|
|
6
|
-
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
8
|
+
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
9
|
const asRecord = (value) => isRecord(value) ? value : null;
|
|
8
10
|
const asStringArray = (value) => Array.isArray(value)
|
|
9
|
-
? value.filter((item) => typeof item ===
|
|
11
|
+
? value.filter((item) => typeof item === 'string')
|
|
10
12
|
: [];
|
|
11
13
|
const getSchemaType = (schema) => {
|
|
12
14
|
const type = schema.type;
|
|
13
|
-
if (typeof type ===
|
|
15
|
+
if (typeof type === 'string')
|
|
14
16
|
return type;
|
|
15
17
|
if (Array.isArray(type))
|
|
16
|
-
return type.join(
|
|
18
|
+
return type.join(' | ');
|
|
17
19
|
if (schema.enum)
|
|
18
|
-
return
|
|
20
|
+
return 'enum';
|
|
19
21
|
if (schema.oneOf)
|
|
20
|
-
return
|
|
22
|
+
return 'oneOf';
|
|
21
23
|
if (schema.anyOf)
|
|
22
|
-
return
|
|
24
|
+
return 'anyOf';
|
|
23
25
|
if (schema.allOf)
|
|
24
|
-
return
|
|
25
|
-
return
|
|
26
|
+
return 'allOf';
|
|
27
|
+
return 'any';
|
|
26
28
|
};
|
|
27
29
|
const formatValue = (value) => {
|
|
28
|
-
if (typeof value ===
|
|
30
|
+
if (typeof value === 'string')
|
|
29
31
|
return value;
|
|
30
|
-
if (typeof value ===
|
|
32
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
31
33
|
return String(value);
|
|
32
34
|
}
|
|
33
35
|
if (value === null)
|
|
34
|
-
return
|
|
36
|
+
return 'null';
|
|
35
37
|
return JSON.stringify(value);
|
|
36
38
|
};
|
|
37
39
|
const getPropertyEntries = (schema) => {
|
|
@@ -45,15 +47,19 @@ const getPropertyEntries = (schema) => {
|
|
|
45
47
|
};
|
|
46
48
|
const SchemaBadges = ({ schema, required, }) => {
|
|
47
49
|
const t = useTranslations();
|
|
48
|
-
return (_jsxs("div", { className: "flex shrink-0 flex-wrap items-center gap-1.5", children: [_jsx(Badge, { variant: "secondary", children: getSchemaType(schema) }), required ? _jsx(Badge, { variant: "outline", children: t('common.required') }) : null, typeof schema.format ===
|
|
50
|
+
return (_jsxs("div", { className: "flex shrink-0 flex-wrap items-center gap-1.5", children: [_jsx(Badge, { variant: "secondary", children: getSchemaType(schema) }), required ? _jsx(Badge, { variant: "outline", children: t('common.required') }) : null, typeof schema.format === 'string' ? (_jsx(Badge, { variant: "outline", children: schema.format })) : null] }));
|
|
49
51
|
};
|
|
50
52
|
const SchemaMeta = ({ schema }) => {
|
|
51
53
|
const t = useTranslations();
|
|
52
54
|
const enumValues = Array.isArray(schema.enum) ? schema.enum : [];
|
|
53
|
-
return (_jsxs("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [typeof schema.description ===
|
|
55
|
+
return (_jsxs("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [typeof schema.description === 'string' ? (_jsx("span", { children: schema.description })) : null, 'default' in schema ? (_jsxs("span", { children: [t('apiRoutes.schemaDefault'), " ", formatValue(schema.default)] })) : null, enumValues.length > 0 ? (_jsxs("span", { children: [t('apiRoutes.schemaValues'), " ", enumValues.map(formatValue).join(', ')] })) : null, typeof schema.minimum === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMin'), " ", schema.minimum] })) : null, typeof schema.maximum === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMax'), " ", schema.maximum] })) : null, typeof schema.minLength === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMinLength'), " ", schema.minLength] })) : null, typeof schema.maxLength === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMaxLength'), " ", schema.maxLength] })) : null] }));
|
|
54
56
|
};
|
|
55
|
-
const Row = ({ name, schema, required,
|
|
56
|
-
const
|
|
57
|
+
const Row = ({ name, schema, required, expandable = false, }) => {
|
|
58
|
+
const content = (_jsxs(_Fragment, { children: [_jsx("span", { className: "mt-0.5 flex size-4 shrink-0 items-center justify-center", children: expandable ? (_jsx(ChevronRight, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" })) : null }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "wrap-break-word font-mono text-sm font-medium", children: name }), _jsx(SchemaMeta, { schema: schema })] }), _jsx(SchemaBadges, { schema: schema, required: required })] }));
|
|
59
|
+
const className = 'group flex w-full min-w-0 items-start justify-between gap-3 rounded-sm px-1.5 py-1.5 text-left hover:bg-muted/40';
|
|
60
|
+
return expandable ? (_jsx(CollapsibleTrigger, { asChild: true, children: _jsx("button", { type: "button", className: className, children: content }) })) : (_jsx("div", { className: className, children: content }));
|
|
61
|
+
};
|
|
62
|
+
const getSchemaChildren = (schema) => {
|
|
57
63
|
const requiredFields = new Set(asStringArray(schema.required));
|
|
58
64
|
const propertyEntries = getPropertyEntries(schema).map(([name, propertySchema]) => ({
|
|
59
65
|
name,
|
|
@@ -61,7 +67,7 @@ const SchemaChildren = ({ schema }) => {
|
|
|
61
67
|
required: requiredFields.has(name),
|
|
62
68
|
}));
|
|
63
69
|
const itemSchema = asRecord(schema.items);
|
|
64
|
-
const variantEntries = [
|
|
70
|
+
const variantEntries = ['oneOf', 'anyOf', 'allOf'].flatMap((key) => {
|
|
65
71
|
const value = schema[key];
|
|
66
72
|
if (!Array.isArray(value))
|
|
67
73
|
return [];
|
|
@@ -71,19 +77,27 @@ const SchemaChildren = ({ schema }) => {
|
|
|
71
77
|
required: false,
|
|
72
78
|
}));
|
|
73
79
|
});
|
|
74
|
-
|
|
80
|
+
return [
|
|
75
81
|
...propertyEntries,
|
|
76
|
-
...(itemSchema
|
|
77
|
-
? [{ name: "items", schema: itemSchema, required: false }]
|
|
78
|
-
: []),
|
|
82
|
+
...(itemSchema ? [{ name: 'items', schema: itemSchema, required: false }] : []),
|
|
79
83
|
...variantEntries,
|
|
80
84
|
];
|
|
85
|
+
};
|
|
86
|
+
const SchemaChildren = ({ schema, depth }) => {
|
|
87
|
+
const children = getSchemaChildren(schema);
|
|
81
88
|
if (children.length === 0)
|
|
82
89
|
return null;
|
|
83
|
-
return (_jsx("ul", { className: "ml-3 space-y-0.5", children: children.map((child, index) => (_jsx(SchemaTreeNode, { name: child.name, schema: child.schema, required: child.required, isLast: index === children.length - 1 }, `${child.name}-${index}`))) }));
|
|
90
|
+
return (_jsx("ul", { className: "ml-3 space-y-0.5", children: children.map((child, index) => (_jsx(SchemaTreeNode, { name: child.name, schema: child.schema, required: child.required, isLast: index === children.length - 1, depth: depth }, `${child.name}-${index}`))) }));
|
|
91
|
+
};
|
|
92
|
+
const SchemaTreeNode = ({ name, schema, required, isLast, depth, }) => {
|
|
93
|
+
const expandable = getSchemaChildren(schema).length > 0;
|
|
94
|
+
const node = (_jsxs(_Fragment, { children: [_jsx(Row, { name: name, schema: schema, required: required, expandable: expandable }), expandable ? (_jsx(CollapsibleContent, { children: _jsx(SchemaChildren, { schema: schema, depth: depth + 1 }) })) : null] }));
|
|
95
|
+
return (_jsxs("li", { className: "relative pl-6", children: [!isLast ? (_jsx("span", { className: "absolute left-0 top-4 h-full border-l border-border" })) : null, _jsx("span", { className: "absolute left-0 top-4 w-4 border-t border-border" }), expandable ? _jsx(Collapsible, { defaultOpen: depth < 1, children: node }) : node] }));
|
|
96
|
+
};
|
|
97
|
+
const RootSchemaNode = ({ schema }) => {
|
|
98
|
+
const expandable = getSchemaChildren(schema).length > 0;
|
|
99
|
+
return (_jsx("div", { className: "rounded-md border bg-background/60 p-3", children: expandable ? (_jsxs(Collapsible, { defaultOpen: true, children: [_jsx(Row, { name: getSchemaType(schema), schema: schema, expandable: true }), _jsx(CollapsibleContent, { children: _jsx(SchemaChildren, { schema: schema, depth: 1 }) })] })) : (_jsx(Row, { name: getSchemaType(schema), schema: schema })) }));
|
|
84
100
|
};
|
|
85
|
-
const SchemaTreeNode = ({ name, schema, required, isLast, }) => (_jsxs("li", { className: "relative pl-6", children: [!isLast ? (_jsx("span", { className: "absolute left-0 top-4 h-full border-l border-border" })) : null, _jsx("span", { className: "absolute left-0 top-4 w-4 border-t border-border" }), _jsx(Row, { name: name, schema: schema, required: required }), _jsx(SchemaChildren, { schema: schema })] }));
|
|
86
|
-
const RootSchemaNode = ({ schema }) => (_jsxs("div", { className: "rounded-md border bg-background/60 p-3", children: [_jsx(Row, { name: getSchemaType(schema), schema: schema }), _jsx(SchemaChildren, { schema: schema })] }));
|
|
87
101
|
export function SchemaViewer({ schema, }) {
|
|
88
102
|
const t = useTranslations();
|
|
89
103
|
const schemaRecord = asRecord(schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaViewer.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"SchemaViewer.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"AAmBA,KAAK,KAAK,GAAG;IACX,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,YAAY,GACb,EAAE,KAAK,2CAqEP"}
|
|
@@ -3,19 +3,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useRef, useState } from 'react';
|
|
4
4
|
import { CodeBlock } from './CodeBlock.js';
|
|
5
5
|
import { EditableCodeBlock, } from './EditableCodeBlock.js';
|
|
6
|
+
import { JsonViewer } from './JsonViewer.js';
|
|
6
7
|
import { useManagerClient } from '../../../../client/react.js';
|
|
7
8
|
import { Button } from '../../../../components/ui/button.js';
|
|
8
9
|
import { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from '../../../../components/ui/resizable.js';
|
|
9
10
|
export default function ApiPlayground({ operation, defaultInput, }) {
|
|
10
11
|
const client = useManagerClient();
|
|
11
12
|
const inputRef = useRef(null);
|
|
12
|
-
const [out, setOut] = useState(
|
|
13
|
+
const [out, setOut] = useState(null);
|
|
13
14
|
const [err, setErr] = useState('');
|
|
14
15
|
const [running, setRunning] = useState(false);
|
|
15
16
|
const run = async () => {
|
|
16
17
|
setRunning(true);
|
|
17
18
|
setErr('');
|
|
18
|
-
setOut(
|
|
19
|
+
setOut(null);
|
|
19
20
|
let parsedInput = undefined;
|
|
20
21
|
try {
|
|
21
22
|
const value = inputRef.current?.getValue().trim();
|
|
@@ -33,7 +34,7 @@ export default function ApiPlayground({ operation, defaultInput, }) {
|
|
|
33
34
|
method: operation.method,
|
|
34
35
|
})
|
|
35
36
|
: await client.request(operation.name, parsedInput);
|
|
36
|
-
setOut(
|
|
37
|
+
setOut({ value: result });
|
|
37
38
|
}
|
|
38
39
|
catch (error) {
|
|
39
40
|
if (error instanceof Error) {
|
|
@@ -42,12 +43,12 @@ export default function ApiPlayground({ operation, defaultInput, }) {
|
|
|
42
43
|
else {
|
|
43
44
|
setErr('Unknown error');
|
|
44
45
|
}
|
|
45
|
-
setOut(
|
|
46
|
+
setOut({ value: error });
|
|
46
47
|
}
|
|
47
48
|
finally {
|
|
48
49
|
setRunning(false);
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
|
-
return (_jsxs("div", { className: 'mt-6', children: [_jsxs(ResizablePanelGroup, { className: 'w-full', orientation: 'horizontal', children: [_jsx(ResizablePanel, { defaultSize: 50, children: _jsx(EditableCodeBlock, { ref: inputRef, children: defaultInput }) }), _jsx(ResizableHandle, { withHandle: true, className: 'mx-2' }), _jsxs(ResizablePanel, { defaultSize: 50, children: [err ? (_jsx("div", { className: 'mb-3 rounded-lg border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive', children: err })) : null, _jsx(
|
|
52
|
+
return (_jsxs("div", { className: 'mt-6', children: [_jsxs(ResizablePanelGroup, { className: 'w-full', orientation: 'horizontal', children: [_jsx(ResizablePanel, { defaultSize: 50, children: _jsx(EditableCodeBlock, { ref: inputRef, children: defaultInput }) }), _jsx(ResizableHandle, { withHandle: true, className: 'mx-2' }), _jsxs(ResizablePanel, { defaultSize: 50, children: [err ? (_jsx("div", { className: 'mb-3 rounded-lg border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive', children: err })) : null, out ? _jsx(JsonViewer, { value: out.value }) : _jsx(CodeBlock, {})] })] }), _jsx(Button, { className: 'mt-4 w-full', onClick: () => void run(), disabled: running, children: running ? 'Running...' : 'Run' })] }));
|
|
52
53
|
}
|
|
53
54
|
//# sourceMappingURL=test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAWlC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,YAAY,GACN;IACN,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;QACrB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,CAAC,EAAE,CAAC,CAAA;QACV,MAAM,CAAC,IAAI,CAAC,CAAA;QAEZ,IAAI,WAAW,GAAY,SAAS,CAAA;QAEpC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;YACjD,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC5B,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB;gBACpC,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE;oBACzD,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB,CAAC;gBACJ,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAa,EAAE,WAAoB,CAAC,CAAA;YACvE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,eAAe,CAAC,CAAA;YACzB,CAAC;YAED,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAC,MAAM,aACnB,MAAC,mBAAmB,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAC,YAAY,aAC9D,KAAC,cAAc,IAAC,WAAW,EAAE,EAAE,YAC7B,KAAC,iBAAiB,IAAC,GAAG,EAAE,QAAQ,YAAG,YAAY,GAAqB,GACrD,EACjB,KAAC,eAAe,IAAC,UAAU,QAAC,SAAS,EAAC,MAAM,GAAG,EAC/C,MAAC,cAAc,IAAC,WAAW,EAAE,EAAE,aAC5B,GAAG,CAAC,CAAC,CAAC,CACL,cAAK,SAAS,EAAC,6FAA6F,YACzG,GAAG,GACA,CACP,CAAC,CAAC,CAAC,IAAI,EACP,GAAG,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAI,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,IACxC,IACG,EACtB,KAAC,MAAM,IACL,SAAS,EAAC,aAAa,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,EACzB,QAAQ,EAAE,OAAO,YAEhB,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GACxB,IACL,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EncodedContentType } from '@rakun-kit/core/client';
|
|
2
|
+
export declare const ManagerSeoScreen: ({ contentTypes, siteUrl, }: {
|
|
3
|
+
contentTypes: EncodedContentType[];
|
|
4
|
+
siteUrl?: string;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/screen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAA;AA4E5E,eAAO,MAAM,gBAAgB,GAAI,4BAG9B;IACD,YAAY,EAAE,kBAAkB,EAAE,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,4CAwZA,CAAA"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { AlertTriangle, CheckCircle2, CircleX, History, SearchCheck, } from 'lucide-react';
|
|
4
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import { toast } from 'sonner';
|
|
6
|
+
import { buildSiteSeoAudit, getSiteSeoAuditCounts, } from './site-analysis.js';
|
|
7
|
+
import { useManagerClient, useManagerMutation, useManagerQuery } from '../../../client/react.js';
|
|
8
|
+
import { Badge } from '../../../components/ui/badge.js';
|
|
9
|
+
import { Button } from '../../../components/ui/button.js';
|
|
10
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '../../../components/ui/card.js';
|
|
11
|
+
import Loading from '../../../components/loading.js';
|
|
12
|
+
import { PaginationController } from '../../../components/PaginationController.js';
|
|
13
|
+
import UnauthorizedMessage from '../../../components/unauthorized.js';
|
|
14
|
+
import { formatDate } from '../../../helpers/formatDate.js';
|
|
15
|
+
import { getActionErrorMessage } from '../../../helpers/get-action-error-message.js';
|
|
16
|
+
import { useTranslations } from '../../../i18n/index.js';
|
|
17
|
+
import { ManagerLink } from '../../../link.js';
|
|
18
|
+
import { cn } from '../../../lib/utils.js';
|
|
19
|
+
import { getEncodedContentPermissions } from '../../../state/permissions.js';
|
|
20
|
+
import { useLanguage } from '../../../state/language.js';
|
|
21
|
+
import { useSession } from '../../../state/session.js';
|
|
22
|
+
const SEO_AUDIT_CONTENT_TYPE = 'SeoAudit';
|
|
23
|
+
const SEO_HISTORY_PAGE_SIZE = 10;
|
|
24
|
+
const scoreStyles = (score) => score >= 80
|
|
25
|
+
? 'text-emerald-700 dark:text-emerald-300'
|
|
26
|
+
: score >= 50
|
|
27
|
+
? 'text-amber-700 dark:text-amber-300'
|
|
28
|
+
: 'text-destructive';
|
|
29
|
+
const parsePayload = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
const payload = JSON.parse(value);
|
|
32
|
+
return payload?.version === 1 && Array.isArray(payload.pages) ? payload : null;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export const ManagerSeoScreen = ({ contentTypes, siteUrl, }) => {
|
|
39
|
+
const t = useTranslations();
|
|
40
|
+
const managerClient = useManagerClient();
|
|
41
|
+
const { getTranslation, language } = useLanguage();
|
|
42
|
+
const { hasAnyPermission, hasPermissions } = useSession();
|
|
43
|
+
const [currentPayload, setCurrentPayload] = useState(null);
|
|
44
|
+
const [siteHistoryPage, setSiteHistoryPage] = useState(1);
|
|
45
|
+
const [pageHistoryPage, setPageHistoryPage] = useState(1);
|
|
46
|
+
const canRead = hasAnyPermission([
|
|
47
|
+
'content.SeoSettings.own',
|
|
48
|
+
'content.SeoSettings.readAny',
|
|
49
|
+
]);
|
|
50
|
+
const canCreate = hasPermissions(['content.SeoSettings.own']);
|
|
51
|
+
const createAudit = useManagerMutation('manager.create');
|
|
52
|
+
const siteHistoryQuery = useManagerQuery({
|
|
53
|
+
name: 'manager.list',
|
|
54
|
+
input: {
|
|
55
|
+
contentType: SEO_AUDIT_CONTENT_TYPE,
|
|
56
|
+
query: {
|
|
57
|
+
filter: { kind: 'site', languageCode: language.code },
|
|
58
|
+
options: {
|
|
59
|
+
limit: SEO_HISTORY_PAGE_SIZE,
|
|
60
|
+
page: siteHistoryPage,
|
|
61
|
+
sort: { createdAt: 'desc' },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
enabled: canRead,
|
|
66
|
+
});
|
|
67
|
+
const latestSiteAuditQuery = useManagerQuery({
|
|
68
|
+
name: 'manager.list',
|
|
69
|
+
input: {
|
|
70
|
+
contentType: SEO_AUDIT_CONTENT_TYPE,
|
|
71
|
+
query: {
|
|
72
|
+
filter: { kind: 'site', languageCode: language.code },
|
|
73
|
+
options: { limit: 1, page: 1, sort: { createdAt: 'desc' } },
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
enabled: canRead,
|
|
77
|
+
});
|
|
78
|
+
const pageHistoryQuery = useManagerQuery({
|
|
79
|
+
name: 'manager.list',
|
|
80
|
+
input: {
|
|
81
|
+
contentType: SEO_AUDIT_CONTENT_TYPE,
|
|
82
|
+
query: {
|
|
83
|
+
filter: { kind: 'page', languageCode: language.code },
|
|
84
|
+
options: {
|
|
85
|
+
limit: SEO_HISTORY_PAGE_SIZE,
|
|
86
|
+
page: pageHistoryPage,
|
|
87
|
+
sort: { createdAt: 'desc' },
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
enabled: canRead,
|
|
92
|
+
});
|
|
93
|
+
const siteHistory = (siteHistoryQuery.data?.items ?? []);
|
|
94
|
+
const latestSiteAudit = (latestSiteAuditQuery.data?.items?.[0] ?? null);
|
|
95
|
+
const pageHistory = (pageHistoryQuery.data?.items ?? []);
|
|
96
|
+
const displayedPayload = currentPayload ?? parsePayload(latestSiteAudit?.payload ?? '');
|
|
97
|
+
const displayedCounts = displayedPayload ? getSiteSeoAuditCounts(displayedPayload) : null;
|
|
98
|
+
const routableContentTypes = useMemo(() => contentTypes.filter((contentType) => {
|
|
99
|
+
if (!contentType.routes?.some((route) => route.hasPage))
|
|
100
|
+
return false;
|
|
101
|
+
const permissions = getEncodedContentPermissions(contentType, ['own', 'readAny']);
|
|
102
|
+
return permissions.length === 0 || hasAnyPermission(permissions);
|
|
103
|
+
}), [contentTypes, hasAnyPermission]);
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
setSiteHistoryPage(1);
|
|
106
|
+
setPageHistoryPage(1);
|
|
107
|
+
setCurrentPayload(null);
|
|
108
|
+
}, [language.code]);
|
|
109
|
+
const getFindingCopy = (finding) => {
|
|
110
|
+
switch (finding.code) {
|
|
111
|
+
case 'missingTitle':
|
|
112
|
+
return t('seoAudit.finding.missingTitle');
|
|
113
|
+
case 'titleLength':
|
|
114
|
+
return t('seoAudit.finding.titleLength');
|
|
115
|
+
case 'missingDescription':
|
|
116
|
+
return t('seoAudit.finding.missingDescription');
|
|
117
|
+
case 'descriptionLength':
|
|
118
|
+
return t('seoAudit.finding.descriptionLength');
|
|
119
|
+
case 'noIndex':
|
|
120
|
+
return t('seoAudit.finding.noIndex');
|
|
121
|
+
case 'missingCanonicalBase':
|
|
122
|
+
return t('seoAudit.finding.missingCanonicalBase');
|
|
123
|
+
case 'incompleteOpenGraph':
|
|
124
|
+
return t('seoAudit.finding.incompleteOpenGraph', {
|
|
125
|
+
fields: finding.fields?.join(', ') ?? '',
|
|
126
|
+
});
|
|
127
|
+
case 'duplicateTitle':
|
|
128
|
+
return t('seoAudit.finding.duplicateTitle');
|
|
129
|
+
case 'duplicateDescription':
|
|
130
|
+
return t('seoAudit.finding.duplicateDescription');
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const runAudit = async () => {
|
|
134
|
+
try {
|
|
135
|
+
const contents = await Promise.all(routableContentTypes.map(async (contentType) => {
|
|
136
|
+
const result = await managerClient.request('manager.list', {
|
|
137
|
+
contentType: contentType.name,
|
|
138
|
+
languageCode: language.code,
|
|
139
|
+
query: { options: { limit: 'all' } },
|
|
140
|
+
});
|
|
141
|
+
return {
|
|
142
|
+
contentType: contentType.name,
|
|
143
|
+
documentVisibility: contentType.documentVisibility,
|
|
144
|
+
documents: result.items,
|
|
145
|
+
};
|
|
146
|
+
}));
|
|
147
|
+
const payload = buildSiteSeoAudit({
|
|
148
|
+
contents,
|
|
149
|
+
resolveValue: (value) => {
|
|
150
|
+
if (value === undefined || value === null)
|
|
151
|
+
return value;
|
|
152
|
+
try {
|
|
153
|
+
return getTranslation(value);
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
siteUrl,
|
|
160
|
+
});
|
|
161
|
+
const counts = getSiteSeoAuditCounts(payload);
|
|
162
|
+
await createAudit.mutateAsync({
|
|
163
|
+
contentType: SEO_AUDIT_CONTENT_TYPE,
|
|
164
|
+
data: {
|
|
165
|
+
_type: SEO_AUDIT_CONTENT_TYPE,
|
|
166
|
+
kind: 'site',
|
|
167
|
+
languageCode: language.code,
|
|
168
|
+
score: counts.score,
|
|
169
|
+
goodCount: counts.goodCount,
|
|
170
|
+
warningCount: counts.warningCount,
|
|
171
|
+
errorCount: counts.errorCount,
|
|
172
|
+
documentCount: payload.pages.length,
|
|
173
|
+
contentTypeCount: routableContentTypes.length,
|
|
174
|
+
payload: JSON.stringify(payload),
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
setCurrentPayload(payload);
|
|
178
|
+
setSiteHistoryPage(1);
|
|
179
|
+
await Promise.all([siteHistoryQuery.refetch(), latestSiteAuditQuery.refetch()]);
|
|
180
|
+
toast.success(t('seoAudit.generated'));
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
toast.error(getActionErrorMessage(error, t('seoAudit.generateError')));
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
if (!canRead) {
|
|
187
|
+
return (_jsx(UnauthorizedMessage, { neededPermission: [
|
|
188
|
+
'content.SeoSettings.own',
|
|
189
|
+
'content.SeoSettings.readAny',
|
|
190
|
+
], anyPermission: true }));
|
|
191
|
+
}
|
|
192
|
+
if (siteHistoryQuery.isLoading ||
|
|
193
|
+
latestSiteAuditQuery.isLoading ||
|
|
194
|
+
pageHistoryQuery.isLoading) {
|
|
195
|
+
return _jsx(Loading, {});
|
|
196
|
+
}
|
|
197
|
+
return (_jsxs("div", { className: 'container mx-auto flex flex-col gap-6 px-4 py-10', children: [_jsxs(Card, { children: [_jsxs(CardHeader, { className: 'gap-4 sm:flex-row sm:items-center sm:justify-between', children: [_jsxs("div", { className: 'space-y-1.5', children: [_jsxs(CardTitle, { className: 'flex items-center gap-2', children: [_jsx(SearchCheck, { className: 'size-5' }), t('seoAudit.title')] }), _jsx(CardDescription, { children: t('seoAudit.description') })] }), _jsxs(Button, { className: 'shrink-0', disabled: !canCreate || routableContentTypes.length === 0, loading: createAudit.isPending, onClick: () => void runAudit(), children: [_jsx(SearchCheck, {}), (siteHistoryQuery.data?.totalItems ?? 0) > 0
|
|
198
|
+
? t('seoAudit.regenerate')
|
|
199
|
+
: t('seoAudit.generate')] })] }), _jsx(CardContent, { className: 'text-sm text-muted-foreground', children: t('seoAudit.scope', { count: routableContentTypes.length }) })] }), displayedPayload && displayedCounts ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'grid gap-4 sm:grid-cols-2 xl:grid-cols-4', children: [_jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.score') }), _jsx("p", { className: cn('mt-2 text-4xl font-semibold', scoreStyles(displayedCounts.score)), children: displayedCounts.score })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.documents') }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedPayload.pages.length })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsxs("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [_jsx(CircleX, { className: 'size-4 text-destructive' }), t('seoAudit.errors')] }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.errorCount })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsxs("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [_jsx(AlertTriangle, { className: 'size-4 text-amber-500' }), t('seoAudit.warnings')] }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.warningCount })] }) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: t('seoAudit.pagesTitle') }), _jsx(CardDescription, { children: t('seoAudit.pagesDescription') })] }), _jsx(CardContent, { className: 'space-y-3', children: displayedPayload.pages
|
|
200
|
+
.slice()
|
|
201
|
+
.sort((a, b) => b.findings.length - a.findings.length)
|
|
202
|
+
.map((page) => (_jsxs("details", { className: 'rounded-lg border', children: [_jsxs("summary", { className: 'flex cursor-pointer list-none items-center gap-3 p-4', children: [page.findings.some((finding) => finding.severity === 'error') ? (_jsx(CircleX, { className: 'size-4 shrink-0 text-destructive' })) : page.findings.length ? (_jsx(AlertTriangle, { className: 'size-4 shrink-0 text-amber-500' })) : (_jsx(CheckCircle2, { className: 'size-4 shrink-0 text-emerald-500' })), _jsx("span", { className: 'min-w-0 flex-1 truncate font-medium', children: page.label }), _jsx(Badge, { variant: 'outline', children: page.contentType }), _jsx(Badge, { variant: page.findings.length ? 'secondary' : 'outline', children: t('seoAudit.issueCount', { count: page.findings.length }) })] }), _jsxs("div", { className: 'border-t p-4', children: [page.findings.length ? (_jsx("ul", { className: 'space-y-2 text-sm', children: page.findings.map((finding, index) => (_jsxs("li", { className: 'flex items-start gap-2', children: [finding.severity === 'error' ? (_jsx(CircleX, { className: 'mt-0.5 size-4 shrink-0 text-destructive' })) : (_jsx(AlertTriangle, { className: 'mt-0.5 size-4 shrink-0 text-amber-500' })), getFindingCopy(finding)] }, `${finding.code}:${index}`))) })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noIssues') })), _jsx(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}`))) })] })] })) : (_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: [_jsx(SearchCheck, { className: 'size-9' }), _jsxs("div", { children: [_jsx("p", { className: 'font-medium text-foreground', children: t('seoAudit.emptyTitle') }), _jsx("p", { className: 'mt-1 max-w-lg text-sm', children: t('seoAudit.emptyDescription') })] })] })), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: 'flex items-center gap-2', children: [_jsx(History, { className: 'size-4' }), t('seoAudit.historyTitle')] }), _jsx(CardDescription, { children: t('seoAudit.historyDescription') })] }), _jsx(CardContent, { children: siteHistory.length ? (_jsxs("div", { className: 'space-y-4', children: [_jsx("div", { className: 'grid gap-3 md:grid-cols-2 xl:grid-cols-3', children: siteHistory.map((audit) => (_jsxs("div", { className: 'rounded-lg border p-4', children: [_jsxs("div", { className: 'flex items-center justify-between gap-3', children: [_jsx("span", { className: 'text-sm text-muted-foreground', children: audit.createdAt
|
|
203
|
+
? formatDate(new Date(audit.createdAt))
|
|
204
|
+
: t('common.unknown') }), _jsx("strong", { className: scoreStyles(audit.score), children: t('seoAudit.scoreValue', { score: audit.score }) })] }), _jsx("div", { className: 'mt-3 h-2 overflow-hidden rounded-full bg-muted', children: _jsx("div", { className: 'h-full rounded-full bg-primary', style: { width: `${Math.max(0, Math.min(100, audit.score))}%` } }) }), _jsx("p", { className: 'mt-3 text-xs text-muted-foreground', children: t('seoAudit.historySummary', {
|
|
205
|
+
documents: audit.documentCount,
|
|
206
|
+
errors: audit.errorCount,
|
|
207
|
+
warnings: audit.warningCount,
|
|
208
|
+
}) })] }, audit._id))) }), (siteHistoryQuery.data?.totalItems ?? 0) > SEO_HISTORY_PAGE_SIZE ? (_jsx(PaginationController, { page: siteHistoryPage, setPage: setSiteHistoryPage, totalItems: siteHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noHistory') })) })] }), pageHistory.length ? (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: t('seoAudit.pageHistoryTitle') }), _jsx(CardDescription, { children: t('seoAudit.pageHistoryDescription') })] }), _jsxs(CardContent, { className: 'space-y-4', children: [_jsx("div", { className: 'space-y-2', children: pageHistory.map((audit) => (_jsxs("div", { className: 'flex flex-wrap items-center gap-3 rounded-lg border p-3', children: [_jsx("strong", { className: cn('w-12', scoreStyles(audit.score)), children: audit.score }), _jsx("span", { className: 'min-w-0 flex-1 truncate text-sm', children: audit.contentType ?? t('common.unknown') }), _jsx("span", { className: 'text-xs text-muted-foreground', children: audit.createdAt
|
|
209
|
+
? formatDate(new Date(audit.createdAt))
|
|
210
|
+
: t('common.unknown') }), audit.contentType && audit.documentId ? (_jsx(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 ? (_jsx(PaginationController, { page: pageHistoryPage, setPage: setPageHistoryPage, totalItems: pageHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })] })) : null] }));
|
|
211
|
+
};
|
|
212
|
+
//# 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,40 @@
|
|
|
1
|
+
export type SiteSeoFindingSeverity = 'warning' | 'error';
|
|
2
|
+
export type SiteSeoFindingCode = 'missingTitle' | 'titleLength' | 'missingDescription' | 'descriptionLength' | 'noIndex' | 'missingCanonicalBase' | 'incompleteOpenGraph' | 'duplicateTitle' | 'duplicateDescription';
|
|
3
|
+
export type SiteSeoFinding = {
|
|
4
|
+
code: SiteSeoFindingCode;
|
|
5
|
+
severity: SiteSeoFindingSeverity;
|
|
6
|
+
fields?: string[];
|
|
7
|
+
};
|
|
8
|
+
export type SiteSeoAuditPage = {
|
|
9
|
+
contentType: string;
|
|
10
|
+
documentId: string;
|
|
11
|
+
label: string;
|
|
12
|
+
title: string;
|
|
13
|
+
description: string;
|
|
14
|
+
findings: SiteSeoFinding[];
|
|
15
|
+
};
|
|
16
|
+
export type SiteSeoAuditPayload = {
|
|
17
|
+
version: 1;
|
|
18
|
+
pages: SiteSeoAuditPage[];
|
|
19
|
+
};
|
|
20
|
+
type SiteSeoDocument = Record<string, unknown> & {
|
|
21
|
+
_id: string;
|
|
22
|
+
};
|
|
23
|
+
type SiteSeoContent = {
|
|
24
|
+
contentType: string;
|
|
25
|
+
documentVisibility?: boolean;
|
|
26
|
+
documents: SiteSeoDocument[];
|
|
27
|
+
};
|
|
28
|
+
export declare const buildSiteSeoAudit: ({ contents, resolveValue, siteUrl, }: {
|
|
29
|
+
contents: SiteSeoContent[];
|
|
30
|
+
resolveValue: (value: unknown) => unknown;
|
|
31
|
+
siteUrl?: string;
|
|
32
|
+
}) => SiteSeoAuditPayload;
|
|
33
|
+
export declare const getSiteSeoAuditCounts: (payload: SiteSeoAuditPayload) => {
|
|
34
|
+
errorCount: number;
|
|
35
|
+
goodCount: number;
|
|
36
|
+
score: number;
|
|
37
|
+
warningCount: number;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=site-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-analysis.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/site-analysis.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,OAAO,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,GACT,sBAAsB,GACtB,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,CAAA;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B,CAAA;AAED,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/C,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,SAAS,EAAE,eAAe,EAAE,CAAA;CAC7B,CAAA;AAsGD,eAAO,MAAM,iBAAiB,GAAI,sCAI/B;IACD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,KAAG,mBAyFH,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,mBAAmB;;;;;CAqBjE,CAAA"}
|