@prenta/admin 2.6.0 → 2.7.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/CHANGELOG.md +104 -0
- package/design-system/tokens.css +179 -85
- package/design-system/tokens.json +276 -85
- package/design-system/tokens.scss +148 -44
- package/design-system/tokens.tailwind.cjs +50 -1
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +42 -20
- package/dist/AdminRoot.js.map +1 -1
- package/dist/LoginRoot.d.ts.map +1 -1
- package/dist/LoginRoot.js +2 -1
- package/dist/LoginRoot.js.map +1 -1
- package/dist/__tests__/components/author-avatar.test.js +3 -17
- package/dist/__tests__/components/author-avatar.test.js.map +1 -1
- package/dist/__tests__/components/notification-bell.test.js +86 -15
- package/dist/__tests__/components/notification-bell.test.js.map +1 -1
- package/dist/__tests__/components/responsive-tiers.render.test.d.ts +2 -0
- package/dist/__tests__/components/responsive-tiers.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/responsive-tiers.render.test.js +313 -0
- package/dist/__tests__/components/responsive-tiers.render.test.js.map +1 -0
- package/dist/__tests__/components/serp-preview.render.test.js +6 -3
- package/dist/__tests__/components/serp-preview.render.test.js.map +1 -1
- package/dist/__tests__/components/shell-primitives.render.test.d.ts +2 -0
- package/dist/__tests__/components/shell-primitives.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/shell-primitives.render.test.js +716 -0
- package/dist/__tests__/components/shell-primitives.render.test.js.map +1 -0
- package/dist/__tests__/components/theme-provider-accent.test.js +49 -7
- package/dist/__tests__/components/theme-provider-accent.test.js.map +1 -1
- package/dist/__tests__/components/toggle.test.js +10 -3
- package/dist/__tests__/components/toggle.test.js.map +1 -1
- package/dist/__tests__/components/ui-primitives.test.js +3 -7
- package/dist/__tests__/components/ui-primitives.test.js.map +1 -1
- package/dist/__tests__/layout/build-nav-items.test.js +1 -1
- package/dist/__tests__/layout/build-nav-items.test.js.map +1 -1
- package/dist/__tests__/layout/shell-nav.render.test.d.ts +2 -0
- package/dist/__tests__/layout/shell-nav.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/shell-nav.render.test.js +736 -0
- package/dist/__tests__/layout/shell-nav.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-forms-submenu.render.test.js +8 -4
- package/dist/__tests__/layout/sidebar-forms-submenu.render.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-groups.render.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.js +56 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.js +82 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js +1 -1
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-posts.test.js +48 -38
- package/dist/__tests__/layout/sidebar-posts.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-submenu.render.test.js +26 -10
- package/dist/__tests__/layout/sidebar-submenu.render.test.js.map +1 -1
- package/dist/__tests__/layout/topbar.render.test.d.ts +2 -0
- package/dist/__tests__/layout/topbar.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/topbar.render.test.js +406 -0
- package/dist/__tests__/layout/topbar.render.test.js.map +1 -0
- package/dist/__tests__/lib/api.test.js +2 -0
- package/dist/__tests__/lib/api.test.js.map +1 -1
- package/dist/__tests__/lib/job-drawer.test.d.ts +2 -0
- package/dist/__tests__/lib/job-drawer.test.d.ts.map +1 -0
- package/dist/__tests__/lib/job-drawer.test.js +393 -0
- package/dist/__tests__/lib/job-drawer.test.js.map +1 -0
- package/dist/__tests__/lib/job-view.test.d.ts +2 -0
- package/dist/__tests__/lib/job-view.test.d.ts.map +1 -0
- package/dist/__tests__/lib/job-view.test.js +387 -0
- package/dist/__tests__/lib/job-view.test.js.map +1 -0
- package/dist/__tests__/lib/jobs-service.test.d.ts +2 -0
- package/dist/__tests__/lib/jobs-service.test.d.ts.map +1 -0
- package/dist/__tests__/lib/jobs-service.test.js +88 -0
- package/dist/__tests__/lib/jobs-service.test.js.map +1 -0
- package/dist/__tests__/router/admin-route-order.test.d.ts +2 -0
- package/dist/__tests__/router/admin-route-order.test.d.ts.map +1 -0
- package/dist/__tests__/router/admin-route-order.test.js +36 -0
- package/dist/__tests__/router/admin-route-order.test.js.map +1 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.d.ts +2 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.d.ts.map +1 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.js +110 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.js.map +1 -0
- package/dist/__tests__/styles/breakpoint-order.test.d.ts +2 -0
- package/dist/__tests__/styles/breakpoint-order.test.d.ts.map +1 -0
- package/dist/__tests__/styles/breakpoint-order.test.js +52 -0
- package/dist/__tests__/styles/breakpoint-order.test.js.map +1 -0
- package/dist/__tests__/styles/responsive-layer.test.js +303 -12
- package/dist/__tests__/styles/responsive-layer.test.js.map +1 -1
- package/dist/__tests__/styles/tailwind-preset.test.d.ts +2 -0
- package/dist/__tests__/styles/tailwind-preset.test.d.ts.map +1 -0
- package/dist/__tests__/styles/tailwind-preset.test.js +147 -0
- package/dist/__tests__/styles/tailwind-preset.test.js.map +1 -0
- package/dist/__tests__/styles/theme-token-scope.test.js +9 -3
- package/dist/__tests__/styles/theme-token-scope.test.js.map +1 -1
- package/dist/__tests__/styles/tiers.test.d.ts +2 -0
- package/dist/__tests__/styles/tiers.test.d.ts.map +1 -0
- package/dist/__tests__/styles/tiers.test.js +121 -0
- package/dist/__tests__/styles/tiers.test.js.map +1 -0
- package/dist/__tests__/styles/tokens-drift.test.js +57 -6
- package/dist/__tests__/styles/tokens-drift.test.js.map +1 -1
- package/dist/__tests__/views/admin-lazy-route.render.test.js +27 -1
- package/dist/__tests__/views/admin-lazy-route.render.test.js.map +1 -1
- package/dist/__tests__/views/ai-settings.render.test.js +4 -4
- package/dist/__tests__/views/appearance-menus-route.render.test.d.ts +2 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.js +50 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.js.map +1 -0
- package/dist/__tests__/views/appearance-settings.render.test.js +8 -6
- package/dist/__tests__/views/appearance-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/appearance-theme-provider.render.test.d.ts +2 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.js +286 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.js.map +1 -0
- package/dist/__tests__/views/dashboard.test.js +37 -0
- package/dist/__tests__/views/dashboard.test.js.map +1 -1
- package/dist/__tests__/views/document-edit-navigation.render.test.d.ts +2 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.js +101 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.js.map +1 -0
- package/dist/__tests__/views/document-edit-routes.render.test.d.ts +2 -0
- package/dist/__tests__/views/document-edit-routes.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/document-edit-routes.render.test.js +113 -0
- package/dist/__tests__/views/document-edit-routes.render.test.js.map +1 -0
- package/dist/__tests__/views/email-settings.render.test.js +2 -2
- package/dist/__tests__/views/form-entries.render.test.js +15 -0
- package/dist/__tests__/views/form-entries.render.test.js.map +1 -1
- package/dist/__tests__/views/form-submissions.render.test.js +18 -0
- package/dist/__tests__/views/form-submissions.render.test.js.map +1 -1
- package/dist/__tests__/views/forms-list.render.test.js +12 -0
- package/dist/__tests__/views/forms-list.render.test.js.map +1 -1
- package/dist/__tests__/views/general-settings.render.test.js +26 -10
- package/dist/__tests__/views/general-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/jobs-drawer.render.test.d.ts +2 -0
- package/dist/__tests__/views/jobs-drawer.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/jobs-drawer.render.test.js +908 -0
- package/dist/__tests__/views/jobs-drawer.render.test.js.map +1 -0
- package/dist/__tests__/views/jobs-list.render.test.d.ts +2 -0
- package/dist/__tests__/views/jobs-list.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/jobs-list.render.test.js +695 -0
- package/dist/__tests__/views/jobs-list.render.test.js.map +1 -0
- package/dist/__tests__/views/kpi-grid.test.d.ts +2 -0
- package/dist/__tests__/views/kpi-grid.test.d.ts.map +1 -0
- package/dist/__tests__/views/kpi-grid.test.js +26 -0
- package/dist/__tests__/views/kpi-grid.test.js.map +1 -0
- package/dist/__tests__/views/mcp-connect.render.test.js +1 -0
- package/dist/__tests__/views/mcp-connect.render.test.js.map +1 -1
- package/dist/__tests__/views/post-section-editor.test.js +3 -1
- package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
- package/dist/__tests__/views/script-tags.render.test.js +25 -0
- package/dist/__tests__/views/script-tags.render.test.js.map +1 -1
- package/dist/__tests__/views/security-settings.render.test.js +9 -8
- package/dist/__tests__/views/security-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/seo-settings.render.test.js +7 -7
- package/dist/__tests__/views/seo-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/settings-save-bar.render.test.d.ts +2 -0
- package/dist/__tests__/views/settings-save-bar.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/settings-save-bar.render.test.js +68 -0
- package/dist/__tests__/views/settings-save-bar.render.test.js.map +1 -0
- package/dist/__tests__/views/settings-save-footer.render.test.js +23 -15
- package/dist/__tests__/views/settings-save-footer.render.test.js.map +1 -1
- package/dist/__tests__/views/settings-tabs.render.test.d.ts +2 -0
- package/dist/__tests__/views/settings-tabs.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/settings-tabs.render.test.js +319 -0
- package/dist/__tests__/views/settings-tabs.render.test.js.map +1 -0
- package/dist/__tests__/views/updates-tab.render.test.js +4 -3
- package/dist/__tests__/views/updates-tab.render.test.js.map +1 -1
- package/dist/components/Breadcrumbs.d.ts +8 -1
- package/dist/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.js +6 -0
- package/dist/components/Breadcrumbs.js.map +1 -1
- package/dist/components/CommandPalette.d.ts.map +1 -1
- package/dist/components/CommandPalette.js +40 -4
- package/dist/components/CommandPalette.js.map +1 -1
- package/dist/components/LocaleSwitcher.d.ts.map +1 -1
- package/dist/components/LocaleSwitcher.js +1 -1
- package/dist/components/LocaleSwitcher.js.map +1 -1
- package/dist/components/NotificationBell.d.ts.map +1 -1
- package/dist/components/NotificationBell.js +44 -3
- package/dist/components/NotificationBell.js.map +1 -1
- package/dist/components/OfflineStatus.js +1 -1
- package/dist/components/OfflineStatus.js.map +1 -1
- package/dist/components/PresenceIndicator.d.ts.map +1 -1
- package/dist/components/PresenceIndicator.js +2 -1
- package/dist/components/PresenceIndicator.js.map +1 -1
- package/dist/components/ReflowMeter.js +2 -2
- package/dist/components/ReflowMeter.js.map +1 -1
- package/dist/components/SEOPanel.js +2 -2
- package/dist/components/SEOPanel.js.map +1 -1
- package/dist/components/ThemeProvider.d.ts +24 -4
- package/dist/components/ThemeProvider.d.ts.map +1 -1
- package/dist/components/ThemeProvider.js +80 -22
- package/dist/components/ThemeProvider.js.map +1 -1
- package/dist/components/TipTapEditor.d.ts.map +1 -1
- package/dist/components/TipTapEditor.js +3 -4
- package/dist/components/TipTapEditor.js.map +1 -1
- package/dist/components/forms/EmbedPanel.js +1 -1
- package/dist/components/forms/EmbedPanel.js.map +1 -1
- package/dist/components/forms/FormEntryDetailPane.js +6 -1
- package/dist/components/forms/FormEntryDetailPane.js.map +1 -1
- package/dist/components/forms/ShortcodeGlossary.d.ts.map +1 -1
- package/dist/components/forms/ShortcodeGlossary.js +6 -1
- package/dist/components/forms/ShortcodeGlossary.js.map +1 -1
- package/dist/components/forms/primitives.d.ts +15 -5
- package/dist/components/forms/primitives.d.ts.map +1 -1
- package/dist/components/forms/primitives.js +11 -11
- package/dist/components/forms/primitives.js.map +1 -1
- package/dist/components/pages/tag-badges.d.ts +2 -1
- package/dist/components/pages/tag-badges.d.ts.map +1 -1
- package/dist/components/pages/tag-badges.js +4 -3
- package/dist/components/pages/tag-badges.js.map +1 -1
- package/dist/components/seo/PageAuditPanel.js +2 -2
- package/dist/components/seo/PageAuditPanel.js.map +1 -1
- package/dist/components/seo/SerpPreview.d.ts +4 -4
- package/dist/components/seo/SerpPreview.js +1 -1
- package/dist/components/seo/SerpPreview.js.map +1 -1
- package/dist/components/seo/primitives.js +2 -2
- package/dist/components/seo/primitives.js.map +1 -1
- package/dist/components/ui/AuthorAvatar.d.ts +4 -4
- package/dist/components/ui/AuthorAvatar.d.ts.map +1 -1
- package/dist/components/ui/AuthorAvatar.js +11 -10
- package/dist/components/ui/AuthorAvatar.js.map +1 -1
- package/dist/components/ui/Badge.d.ts +1 -1
- package/dist/components/ui/Badge.js +1 -1
- package/dist/components/ui/Badge.js.map +1 -1
- package/dist/components/ui/Breadcrumb.d.ts +27 -0
- package/dist/components/ui/Breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/Breadcrumb.js +41 -0
- package/dist/components/ui/Breadcrumb.js.map +1 -0
- package/dist/components/ui/Button.d.ts +2 -2
- package/dist/components/ui/Button.d.ts.map +1 -1
- package/dist/components/ui/Button.js +31 -16
- package/dist/components/ui/Button.js.map +1 -1
- package/dist/components/ui/Card.d.ts +8 -4
- package/dist/components/ui/Card.d.ts.map +1 -1
- package/dist/components/ui/Card.js +21 -13
- package/dist/components/ui/Card.js.map +1 -1
- package/dist/components/ui/CardListControls.d.ts +34 -0
- package/dist/components/ui/CardListControls.d.ts.map +1 -0
- package/dist/components/ui/CardListControls.js +25 -0
- package/dist/components/ui/CardListControls.js.map +1 -0
- package/dist/components/ui/CountChip.d.ts +20 -0
- package/dist/components/ui/CountChip.d.ts.map +1 -0
- package/dist/components/ui/CountChip.js +48 -0
- package/dist/components/ui/CountChip.js.map +1 -0
- package/dist/components/ui/FilterPill.d.ts +2 -1
- package/dist/components/ui/FilterPill.d.ts.map +1 -1
- package/dist/components/ui/FilterPill.js +3 -2
- package/dist/components/ui/FilterPill.js.map +1 -1
- package/dist/components/ui/Input.d.ts +1 -1
- package/dist/components/ui/InspectorPane.d.ts +1 -1
- package/dist/components/ui/InspectorPane.d.ts.map +1 -1
- package/dist/components/ui/InspectorPane.js +15 -4
- package/dist/components/ui/InspectorPane.js.map +1 -1
- package/dist/components/ui/Modal.d.ts.map +1 -1
- package/dist/components/ui/Modal.js +10 -2
- package/dist/components/ui/Modal.js.map +1 -1
- package/dist/components/ui/PageHeader.d.ts +28 -0
- package/dist/components/ui/PageHeader.d.ts.map +1 -0
- package/dist/components/ui/PageHeader.js +18 -0
- package/dist/components/ui/PageHeader.js.map +1 -0
- package/dist/components/ui/RowActions.d.ts +5 -0
- package/dist/components/ui/RowActions.d.ts.map +1 -1
- package/dist/components/ui/RowActions.js +7 -2
- package/dist/components/ui/RowActions.js.map +1 -1
- package/dist/components/ui/Segmented.d.ts +21 -0
- package/dist/components/ui/Segmented.d.ts.map +1 -0
- package/dist/components/ui/Segmented.js +41 -0
- package/dist/components/ui/Segmented.js.map +1 -0
- package/dist/components/ui/Toaster.d.ts +12 -0
- package/dist/components/ui/Toaster.d.ts.map +1 -0
- package/dist/components/ui/Toaster.js +103 -0
- package/dist/components/ui/Toaster.js.map +1 -0
- package/dist/components/ui/Toggle.d.ts +4 -3
- package/dist/components/ui/Toggle.d.ts.map +1 -1
- package/dist/components/ui/Toggle.js +16 -12
- package/dist/components/ui/Toggle.js.map +1 -1
- package/dist/components/ui/UnderlineTabs.d.ts +56 -0
- package/dist/components/ui/UnderlineTabs.d.ts.map +1 -0
- package/dist/components/ui/UnderlineTabs.js +205 -0
- package/dist/components/ui/UnderlineTabs.js.map +1 -0
- package/dist/components/ui/UnsavedBar.d.ts +25 -0
- package/dist/components/ui/UnsavedBar.d.ts.map +1 -0
- package/dist/components/ui/UnsavedBar.js +22 -0
- package/dist/components/ui/UnsavedBar.js.map +1 -0
- package/dist/components/ui/admin-links.d.ts +11 -0
- package/dist/components/ui/admin-links.d.ts.map +1 -0
- package/dist/components/ui/admin-links.js +10 -0
- package/dist/components/ui/admin-links.js.map +1 -0
- package/dist/components/ui/card-table.d.ts +43 -0
- package/dist/components/ui/card-table.d.ts.map +1 -0
- package/dist/components/ui/card-table.js +31 -0
- package/dist/components/ui/card-table.js.map +1 -0
- package/dist/components/virtual-window.d.ts +7 -0
- package/dist/components/virtual-window.d.ts.map +1 -1
- package/dist/components/virtual-window.js +5 -2
- package/dist/components/virtual-window.js.map +1 -1
- package/dist/fields/RelationshipField.js +1 -1
- package/dist/fields/RelationshipField.js.map +1 -1
- package/dist/files/dm-mono-latin-400-normal.woff +0 -0
- package/dist/files/dm-mono-latin-400-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-500-normal.woff +0 -0
- package/dist/files/dm-mono-latin-500-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-ext-400-normal.woff +0 -0
- package/dist/files/dm-mono-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-ext-500-normal.woff +0 -0
- package/dist/files/dm-mono-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-400-normal.woff +0 -0
- package/dist/files/dm-sans-latin-400-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-500-normal.woff +0 -0
- package/dist/files/dm-sans-latin-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-600-normal.woff +0 -0
- package/dist/files/dm-sans-latin-600-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-700-normal.woff +0 -0
- package/dist/files/dm-sans-latin-700-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-400-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-500-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-600-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-600-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-700-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-700-normal.woff2 +0 -0
- package/dist/hooks/useAppearanceBootstrap.d.ts.map +1 -1
- package/dist/hooks/useAppearanceBootstrap.js +9 -3
- package/dist/hooks/useAppearanceBootstrap.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/layout/Header.d.ts +14 -5
- package/dist/layout/Header.d.ts.map +1 -1
- package/dist/layout/Header.js +78 -13
- package/dist/layout/Header.js.map +1 -1
- package/dist/layout/Layout.d.ts +5 -3
- package/dist/layout/Layout.d.ts.map +1 -1
- package/dist/layout/Layout.js +45 -54
- package/dist/layout/Layout.js.map +1 -1
- package/dist/layout/MobileTabBar.d.ts +20 -0
- package/dist/layout/MobileTabBar.d.ts.map +1 -0
- package/dist/layout/MobileTabBar.js +29 -0
- package/dist/layout/MobileTabBar.js.map +1 -0
- package/dist/layout/Sidebar.d.ts +8 -26
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar.js +309 -345
- package/dist/layout/Sidebar.js.map +1 -1
- package/dist/layout/nav-config.d.ts +101 -0
- package/dist/layout/nav-config.d.ts.map +1 -0
- package/dist/layout/nav-config.js +297 -0
- package/dist/layout/nav-config.js.map +1 -0
- package/dist/layout/primitives/AdminShell.d.ts +10 -2
- package/dist/layout/primitives/AdminShell.d.ts.map +1 -1
- package/dist/layout/primitives/AdminShell.js +114 -6
- package/dist/layout/primitives/AdminShell.js.map +1 -1
- package/dist/layout/topbar-classes.d.ts +8 -0
- package/dist/layout/topbar-classes.d.ts.map +1 -0
- package/dist/layout/topbar-classes.js +8 -0
- package/dist/layout/topbar-classes.js.map +1 -0
- package/dist/layout/use-nav-items.d.ts +10 -0
- package/dist/layout/use-nav-items.d.ts.map +1 -0
- package/dist/layout/use-nav-items.js +39 -0
- package/dist/layout/use-nav-items.js.map +1 -0
- package/dist/lib/api.d.ts +6 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +1 -1
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/appearance-api.d.ts +3 -1
- package/dist/lib/appearance-api.d.ts.map +1 -1
- package/dist/lib/appearance-api.js +1 -0
- package/dist/lib/appearance-api.js.map +1 -1
- package/dist/lib/job-drawer.d.ts +128 -0
- package/dist/lib/job-drawer.d.ts.map +1 -0
- package/dist/lib/job-drawer.js +351 -0
- package/dist/lib/job-drawer.js.map +1 -0
- package/dist/lib/job-view.d.ts +187 -0
- package/dist/lib/job-view.d.ts.map +1 -0
- package/dist/lib/job-view.js +363 -0
- package/dist/lib/job-view.js.map +1 -0
- package/dist/lib/jobs-service.d.ts +134 -0
- package/dist/lib/jobs-service.d.ts.map +1 -0
- package/dist/lib/jobs-service.js +179 -0
- package/dist/lib/jobs-service.js.map +1 -0
- package/dist/lib/sheet-focus.d.ts +24 -0
- package/dist/lib/sheet-focus.d.ts.map +1 -0
- package/dist/lib/sheet-focus.js +61 -0
- package/dist/lib/sheet-focus.js.map +1 -0
- package/dist/lib/tiers.d.ts +30 -0
- package/dist/lib/tiers.d.ts.map +1 -0
- package/dist/lib/tiers.js +43 -0
- package/dist/lib/tiers.js.map +1 -0
- package/dist/prenta-admin.css +1 -1
- package/dist/router/admin-routes.d.ts.map +1 -1
- package/dist/router/admin-routes.js +8 -0
- package/dist/router/admin-routes.js.map +1 -1
- package/dist/router/index.d.ts +5 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +7 -0
- package/dist/router/index.js.map +1 -1
- package/dist/views/ApiKeys.js +2 -2
- package/dist/views/ApiKeys.js.map +1 -1
- package/dist/views/AppearanceChrome.d.ts +6 -0
- package/dist/views/AppearanceChrome.d.ts.map +1 -0
- package/dist/views/AppearanceChrome.js +25 -0
- package/dist/views/AppearanceChrome.js.map +1 -0
- package/dist/views/CollectionList.d.ts.map +1 -1
- package/dist/views/CollectionList.js +73 -53
- package/dist/views/CollectionList.js.map +1 -1
- package/dist/views/Dashboard.d.ts.map +1 -1
- package/dist/views/Dashboard.js +14 -8
- package/dist/views/Dashboard.js.map +1 -1
- package/dist/views/DocumentEdit.d.ts +6 -1
- package/dist/views/DocumentEdit.d.ts.map +1 -1
- package/dist/views/DocumentEdit.js +44 -8
- package/dist/views/DocumentEdit.js.map +1 -1
- package/dist/views/FormDeliveries.d.ts.map +1 -1
- package/dist/views/FormDeliveries.js +7 -1
- package/dist/views/FormDeliveries.js.map +1 -1
- package/dist/views/FormEntries.d.ts.map +1 -1
- package/dist/views/FormEntries.js +11 -2
- package/dist/views/FormEntries.js.map +1 -1
- package/dist/views/FormSubmissions.d.ts +1 -1
- package/dist/views/FormSubmissions.d.ts.map +1 -1
- package/dist/views/FormSubmissions.js +15 -4
- package/dist/views/FormSubmissions.js.map +1 -1
- package/dist/views/Forms.d.ts.map +1 -1
- package/dist/views/Forms.js +6 -4
- package/dist/views/Forms.js.map +1 -1
- package/dist/views/FormsSettings.d.ts +2 -0
- package/dist/views/FormsSettings.d.ts.map +1 -0
- package/dist/views/FormsSettings.js +37 -0
- package/dist/views/FormsSettings.js.map +1 -0
- package/dist/views/Jobs/BusyButton.d.ts +15 -0
- package/dist/views/Jobs/BusyButton.d.ts.map +1 -0
- package/dist/views/Jobs/BusyButton.js +26 -0
- package/dist/views/Jobs/BusyButton.js.map +1 -0
- package/dist/views/Jobs/CancelJobDialog.d.ts +21 -0
- package/dist/views/Jobs/CancelJobDialog.d.ts.map +1 -0
- package/dist/views/Jobs/CancelJobDialog.js +66 -0
- package/dist/views/Jobs/CancelJobDialog.js.map +1 -0
- package/dist/views/Jobs/DrawerActivity.d.ts +16 -0
- package/dist/views/Jobs/DrawerActivity.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerActivity.js +59 -0
- package/dist/views/Jobs/DrawerActivity.js.map +1 -0
- package/dist/views/Jobs/DrawerOverview.d.ts +28 -0
- package/dist/views/Jobs/DrawerOverview.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerOverview.js +32 -0
- package/dist/views/Jobs/DrawerOverview.js.map +1 -0
- package/dist/views/Jobs/DrawerResults.d.ts +25 -0
- package/dist/views/Jobs/DrawerResults.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerResults.js +50 -0
- package/dist/views/Jobs/DrawerResults.js.map +1 -0
- package/dist/views/Jobs/DrawerReview.d.ts +44 -0
- package/dist/views/Jobs/DrawerReview.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerReview.js +110 -0
- package/dist/views/Jobs/DrawerReview.js.map +1 -0
- package/dist/views/Jobs/JobDrawer.d.ts +31 -0
- package/dist/views/Jobs/JobDrawer.d.ts.map +1 -0
- package/dist/views/Jobs/JobDrawer.js +353 -0
- package/dist/views/Jobs/JobDrawer.js.map +1 -0
- package/dist/views/Jobs/JobsTable.d.ts +19 -0
- package/dist/views/Jobs/JobsTable.d.ts.map +1 -0
- package/dist/views/Jobs/JobsTable.js +80 -0
- package/dist/views/Jobs/JobsTable.js.map +1 -0
- package/dist/views/Jobs/WorkerStrip.d.ts +22 -0
- package/dist/views/Jobs/WorkerStrip.d.ts.map +1 -0
- package/dist/views/Jobs/WorkerStrip.js +63 -0
- package/dist/views/Jobs/WorkerStrip.js.map +1 -0
- package/dist/views/Jobs/atoms.d.ts +19 -0
- package/dist/views/Jobs/atoms.d.ts.map +1 -0
- package/dist/views/Jobs/atoms.js +52 -0
- package/dist/views/Jobs/atoms.js.map +1 -0
- package/dist/views/Jobs/focus.d.ts +23 -0
- package/dist/views/Jobs/focus.d.ts.map +1 -0
- package/dist/views/Jobs/focus.js +54 -0
- package/dist/views/Jobs/focus.js.map +1 -0
- package/dist/views/Jobs/icons.d.ts +22 -0
- package/dist/views/Jobs/icons.d.ts.map +1 -0
- package/dist/views/Jobs/icons.js +23 -0
- package/dist/views/Jobs/icons.js.map +1 -0
- package/dist/views/Jobs/placeholders.d.ts +6 -0
- package/dist/views/Jobs/placeholders.d.ts.map +1 -0
- package/dist/views/Jobs/placeholders.js +20 -0
- package/dist/views/Jobs/placeholders.js.map +1 -0
- package/dist/views/Jobs/useJobDetail.d.ts +21 -0
- package/dist/views/Jobs/useJobDetail.d.ts.map +1 -0
- package/dist/views/Jobs/useJobDetail.js +39 -0
- package/dist/views/Jobs/useJobDetail.js.map +1 -0
- package/dist/views/Jobs/useJobsFeed.d.ts +35 -0
- package/dist/views/Jobs/useJobsFeed.d.ts.map +1 -0
- package/dist/views/Jobs/useJobsFeed.js +231 -0
- package/dist/views/Jobs/useJobsFeed.js.map +1 -0
- package/dist/views/Jobs/useReviewItems.d.ts +39 -0
- package/dist/views/Jobs/useReviewItems.d.ts.map +1 -0
- package/dist/views/Jobs/useReviewItems.js +140 -0
- package/dist/views/Jobs/useReviewItems.js.map +1 -0
- package/dist/views/Jobs.d.ts +10 -1
- package/dist/views/Jobs.d.ts.map +1 -1
- package/dist/views/Jobs.js +126 -35
- package/dist/views/Jobs.js.map +1 -1
- package/dist/views/MediaBrowser.d.ts.map +1 -1
- package/dist/views/MediaBrowser.js +37 -9
- package/dist/views/MediaBrowser.js.map +1 -1
- package/dist/views/Pages/PagesListView.d.ts +1 -1
- package/dist/views/Pages/PagesListView.d.ts.map +1 -1
- package/dist/views/Pages/PagesListView.js +34 -5
- package/dist/views/Pages/PagesListView.js.map +1 -1
- package/dist/views/Posts/NewPostTypeInstructions.d.ts.map +1 -1
- package/dist/views/Posts/NewPostTypeInstructions.js +12 -2
- package/dist/views/Posts/NewPostTypeInstructions.js.map +1 -1
- package/dist/views/Posts/PostTypesView.d.ts.map +1 -1
- package/dist/views/Posts/PostTypesView.js +10 -1
- package/dist/views/Posts/PostTypesView.js.map +1 -1
- package/dist/views/Posts/PostsListView.d.ts +1 -2
- package/dist/views/Posts/PostsListView.d.ts.map +1 -1
- package/dist/views/Posts/PostsListView.js +31 -3
- package/dist/views/Posts/PostsListView.js.map +1 -1
- package/dist/views/SEO.d.ts.map +1 -1
- package/dist/views/SEO.js +3 -3
- package/dist/views/SEO.js.map +1 -1
- package/dist/views/ScriptTags.d.ts.map +1 -1
- package/dist/views/ScriptTags.js +20 -15
- package/dist/views/ScriptTags.js.map +1 -1
- package/dist/views/Settings.d.ts.map +1 -1
- package/dist/views/Settings.js +115 -51
- package/dist/views/Settings.js.map +1 -1
- package/dist/views/SpamFolder.d.ts +2 -0
- package/dist/views/SpamFolder.d.ts.map +1 -0
- package/dist/views/SpamFolder.js +14 -0
- package/dist/views/SpamFolder.js.map +1 -0
- package/dist/views/Trash.d.ts +6 -1
- package/dist/views/Trash.d.ts.map +1 -1
- package/dist/views/Trash.js +7 -2
- package/dist/views/Trash.js.map +1 -1
- package/dist/views/Users.js +2 -2
- package/dist/views/Users.js.map +1 -1
- package/dist/views/WidgetsPlaceholder.d.ts +2 -0
- package/dist/views/WidgetsPlaceholder.d.ts.map +1 -0
- package/dist/views/WidgetsPlaceholder.js +15 -0
- package/dist/views/WidgetsPlaceholder.js.map +1 -0
- package/dist/views/dashboard/kpi-grid.d.ts +18 -0
- package/dist/views/dashboard/kpi-grid.d.ts.map +1 -0
- package/dist/views/dashboard/kpi-grid.js +36 -0
- package/dist/views/dashboard/kpi-grid.js.map +1 -0
- package/dist/views/lazy-views.d.ts +4 -0
- package/dist/views/lazy-views.d.ts.map +1 -1
- package/dist/views/lazy-views.js +4 -0
- package/dist/views/lazy-views.js.map +1 -1
- package/dist/views/page-editor/PageTab.js +1 -1
- package/dist/views/page-editor/PageTab.js.map +1 -1
- package/dist/views/page-editor/ReviewBar.js +1 -1
- package/dist/views/page-editor/ReviewBar.js.map +1 -1
- package/dist/views/page-editor/VersionHistoryPanel.js +1 -1
- package/dist/views/page-editor/VersionHistoryPanel.js.map +1 -1
- package/dist/views/seo/AuditTab.js +1 -1
- package/dist/views/seo/AuditTab.js.map +1 -1
- package/dist/views/seo/OverviewTab.d.ts.map +1 -1
- package/dist/views/seo/OverviewTab.js +2 -2
- package/dist/views/seo/OverviewTab.js.map +1 -1
- package/dist/views/seo/ProposalsTab.js +1 -1
- package/dist/views/seo/ProposalsTab.js.map +1 -1
- package/dist/views/settings/AISettingsTab.d.ts.map +1 -1
- package/dist/views/settings/AISettingsTab.js +4 -2
- package/dist/views/settings/AISettingsTab.js.map +1 -1
- package/dist/views/settings/AccessProtectionCard.js +1 -1
- package/dist/views/settings/AccessProtectionCard.js.map +1 -1
- package/dist/views/settings/AdminThemeCard.d.ts.map +1 -1
- package/dist/views/settings/AdminThemeCard.js +63 -15
- package/dist/views/settings/AdminThemeCard.js.map +1 -1
- package/dist/views/settings/AppearanceTab.d.ts.map +1 -1
- package/dist/views/settings/AppearanceTab.js +4 -2
- package/dist/views/settings/AppearanceTab.js.map +1 -1
- package/dist/views/settings/BrandPreviewCard.js +1 -1
- package/dist/views/settings/BrandPreviewCard.js.map +1 -1
- package/dist/views/settings/BrandVoiceCard.js +1 -1
- package/dist/views/settings/BrandVoiceCard.js.map +1 -1
- package/dist/views/settings/EmailSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/EmailSettingsTab.js +5 -3
- package/dist/views/settings/EmailSettingsTab.js.map +1 -1
- package/dist/views/settings/GeneralSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/GeneralSettingsTab.js +4 -2
- package/dist/views/settings/GeneralSettingsTab.js.map +1 -1
- package/dist/views/settings/McpConnectTab.d.ts.map +1 -1
- package/dist/views/settings/McpConnectTab.js +1 -1
- package/dist/views/settings/McpConnectTab.js.map +1 -1
- package/dist/views/settings/ProviderConnectionCard.js +1 -1
- package/dist/views/settings/ProviderConnectionCard.js.map +1 -1
- package/dist/views/settings/SearchDataCard.js +1 -1
- package/dist/views/settings/SearchDataCard.js.map +1 -1
- package/dist/views/settings/SecurityStatusCard.js +2 -2
- package/dist/views/settings/SecurityStatusCard.js.map +1 -1
- package/dist/views/settings/SecurityTab.d.ts.map +1 -1
- package/dist/views/settings/SecurityTab.js +4 -2
- package/dist/views/settings/SecurityTab.js.map +1 -1
- package/dist/views/settings/SeoAutopilotCard.js +2 -2
- package/dist/views/settings/SeoAutopilotCard.js.map +1 -1
- package/dist/views/settings/SeoSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/SeoSettingsTab.js +5 -3
- package/dist/views/settings/SeoSettingsTab.js.map +1 -1
- package/dist/views/settings/SiteIndexStatusCard.js +1 -1
- package/dist/views/settings/SiteIndexStatusCard.js.map +1 -1
- package/dist/views/settings/SiteThemeCard.js +1 -1
- package/dist/views/settings/UpdatesTab.d.ts.map +1 -1
- package/dist/views/settings/UpdatesTab.js +6 -5
- package/dist/views/settings/UpdatesTab.js.map +1 -1
- package/dist/views/settings/components.d.ts +7 -11
- package/dist/views/settings/components.d.ts.map +1 -1
- package/dist/views/settings/components.js +18 -12
- package/dist/views/settings/components.js.map +1 -1
- package/dist/views/settings/useAppearanceSettings.d.ts +7 -1
- package/dist/views/settings/useAppearanceSettings.d.ts.map +1 -1
- package/dist/views/settings/useAppearanceSettings.js +89 -22
- package/dist/views/settings/useAppearanceSettings.js.map +1 -1
- package/dist/views/users/UserDetailDrawer.js +1 -1
- package/dist/views/users/UserDetailDrawer.js.map +1 -1
- package/package.json +11 -9
- package/src/AdminRoot.tsx +88 -30
- package/src/LoginRoot.tsx +2 -1
- package/src/__tests__/components/author-avatar.test.tsx +3 -20
- package/src/__tests__/components/notification-bell.test.tsx +146 -14
- package/src/__tests__/components/responsive-tiers.render.test.tsx +461 -0
- package/src/__tests__/components/serp-preview.render.test.tsx +6 -3
- package/src/__tests__/components/shell-primitives.render.test.tsx +951 -0
- package/src/__tests__/components/theme-provider-accent.test.tsx +83 -8
- package/src/__tests__/components/toggle.test.tsx +11 -3
- package/src/__tests__/components/ui-primitives.test.tsx +5 -8
- package/src/__tests__/layout/build-nav-items.test.ts +1 -1
- package/src/__tests__/layout/shell-nav.render.test.tsx +983 -0
- package/src/__tests__/layout/sidebar-forms-submenu.render.test.tsx +8 -4
- package/src/__tests__/layout/sidebar-groups.render.test.tsx +116 -0
- package/src/__tests__/layout/sidebar-menus.render.test.tsx +116 -0
- package/src/__tests__/layout/sidebar-plugin-nav.test.ts +1 -1
- package/src/__tests__/layout/sidebar-posts.test.ts +48 -40
- package/src/__tests__/layout/sidebar-submenu.render.test.tsx +35 -10
- package/src/__tests__/layout/topbar.render.test.tsx +464 -0
- package/src/__tests__/lib/api.test.ts +2 -0
- package/src/__tests__/lib/job-drawer.test.ts +493 -0
- package/src/__tests__/lib/job-view.test.ts +437 -0
- package/src/__tests__/lib/jobs-service.test.ts +98 -0
- package/src/__tests__/router/admin-route-order.test.ts +39 -0
- package/src/__tests__/styles/ai-gradient-contrast.test.ts +135 -0
- package/src/__tests__/styles/breakpoint-order.test.ts +68 -0
- package/src/__tests__/styles/responsive-layer.test.ts +367 -12
- package/src/__tests__/styles/tailwind-preset.test.ts +154 -0
- package/src/__tests__/styles/theme-token-scope.test.ts +10 -3
- package/src/__tests__/styles/tiers.test.ts +136 -0
- package/src/__tests__/styles/tokens-drift.test.ts +67 -6
- package/src/__tests__/views/admin-lazy-route.render.test.tsx +41 -1
- package/src/__tests__/views/ai-settings.render.test.tsx +4 -4
- package/src/__tests__/views/appearance-menus-route.render.test.tsx +58 -0
- package/src/__tests__/views/appearance-settings.render.test.tsx +10 -8
- package/src/__tests__/views/appearance-theme-provider.render.test.tsx +347 -0
- package/src/__tests__/views/dashboard.test.tsx +48 -0
- package/src/__tests__/views/document-edit-navigation.render.test.tsx +130 -0
- package/src/__tests__/views/document-edit-routes.render.test.tsx +130 -0
- package/src/__tests__/views/email-settings.render.test.tsx +2 -2
- package/src/__tests__/views/form-entries.render.test.tsx +22 -0
- package/src/__tests__/views/form-submissions.render.test.tsx +22 -0
- package/src/__tests__/views/forms-list.render.test.tsx +13 -0
- package/src/__tests__/views/general-settings.render.test.tsx +38 -11
- package/src/__tests__/views/jobs-drawer.render.test.tsx +1047 -0
- package/src/__tests__/views/jobs-list.render.test.tsx +850 -0
- package/src/__tests__/views/kpi-grid.test.ts +29 -0
- package/src/__tests__/views/mcp-connect.render.test.tsx +1 -0
- package/src/__tests__/views/post-section-editor.test.tsx +5 -1
- package/src/__tests__/views/script-tags.render.test.tsx +29 -0
- package/src/__tests__/views/security-settings.render.test.tsx +9 -10
- package/src/__tests__/views/seo-settings.render.test.tsx +7 -9
- package/src/__tests__/views/settings-save-bar.render.test.tsx +91 -0
- package/src/__tests__/views/settings-save-footer.render.test.tsx +25 -15
- package/src/__tests__/views/settings-tabs.render.test.tsx +371 -0
- package/src/__tests__/views/updates-tab.render.test.tsx +4 -3
- package/src/components/Breadcrumbs.tsx +7 -1
- package/src/components/CommandPalette.tsx +51 -3
- package/src/components/LocaleSwitcher.tsx +5 -6
- package/src/components/NotificationBell.tsx +74 -18
- package/src/components/OfflineStatus.tsx +1 -1
- package/src/components/PresenceIndicator.tsx +2 -1
- package/src/components/ReflowMeter.tsx +3 -3
- package/src/components/SEOPanel.tsx +2 -2
- package/src/components/ThemeProvider.tsx +122 -42
- package/src/components/TipTapEditor.tsx +3 -4
- package/src/components/forms/EmbedPanel.tsx +1 -1
- package/src/components/forms/FormEntryDetailPane.tsx +7 -1
- package/src/components/forms/ShortcodeGlossary.tsx +7 -1
- package/src/components/forms/primitives.tsx +37 -21
- package/src/components/pages/tag-badges.tsx +4 -3
- package/src/components/seo/PageAuditPanel.tsx +2 -2
- package/src/components/seo/SerpPreview.tsx +5 -5
- package/src/components/seo/primitives.tsx +2 -2
- package/src/components/ui/AuthorAvatar.tsx +11 -10
- package/src/components/ui/Badge.tsx +1 -1
- package/src/components/ui/Breadcrumb.tsx +109 -0
- package/src/components/ui/Button.tsx +40 -15
- package/src/components/ui/Card.tsx +35 -32
- package/src/components/ui/CardListControls.tsx +90 -0
- package/src/components/ui/CountChip.tsx +90 -0
- package/src/components/ui/FilterPill.tsx +5 -3
- package/src/components/ui/InspectorPane.tsx +21 -7
- package/src/components/ui/Modal.tsx +20 -6
- package/src/components/ui/PageHeader.tsx +63 -0
- package/src/components/ui/RowActions.tsx +7 -2
- package/src/components/ui/Segmented.tsx +97 -0
- package/src/components/ui/Toaster.tsx +139 -0
- package/src/components/ui/Toggle.tsx +18 -14
- package/src/components/ui/UnderlineTabs.tsx +373 -0
- package/src/components/ui/UnsavedBar.tsx +119 -0
- package/src/components/ui/admin-links.tsx +20 -0
- package/src/components/ui/card-table.ts +34 -0
- package/src/components/virtual-window.tsx +13 -2
- package/src/fields/RelationshipField.tsx +1 -1
- package/src/hooks/useAppearanceBootstrap.ts +9 -3
- package/src/index.ts +19 -0
- package/src/layout/Header.tsx +210 -135
- package/src/layout/Layout.tsx +61 -108
- package/src/layout/MobileTabBar.tsx +92 -0
- package/src/layout/Sidebar.tsx +555 -593
- package/src/layout/nav-config.tsx +425 -0
- package/src/layout/primitives/AdminShell.tsx +154 -6
- package/src/layout/topbar-classes.ts +8 -0
- package/src/layout/use-nav-items.ts +40 -0
- package/src/lib/api.ts +7 -1
- package/src/lib/appearance-api.ts +4 -0
- package/src/lib/job-drawer.ts +424 -0
- package/src/lib/job-view.ts +456 -0
- package/src/lib/jobs-service.ts +290 -0
- package/src/lib/sheet-focus.ts +71 -0
- package/src/lib/tiers.ts +43 -0
- package/src/router/admin-routes.ts +8 -0
- package/src/router/index.ts +9 -1
- package/src/styles/prenta-tokens.css +263 -82
- package/src/styles/responsive.css +460 -22
- package/src/styles/theme.css +177 -28
- package/src/views/ApiKeys.tsx +2 -2
- package/src/views/AppearanceChrome.tsx +74 -0
- package/src/views/CollectionList.tsx +264 -205
- package/src/views/Dashboard.tsx +26 -13
- package/src/views/DocumentEdit.tsx +111 -56
- package/src/views/FormDeliveries.tsx +30 -17
- package/src/views/FormEntries.tsx +28 -20
- package/src/views/FormSubmissions.tsx +32 -34
- package/src/views/Forms.tsx +55 -34
- package/src/views/FormsSettings.tsx +94 -0
- package/src/views/Jobs/BusyButton.tsx +56 -0
- package/src/views/Jobs/CancelJobDialog.tsx +127 -0
- package/src/views/Jobs/DrawerActivity.tsx +142 -0
- package/src/views/Jobs/DrawerOverview.tsx +139 -0
- package/src/views/Jobs/DrawerResults.tsx +155 -0
- package/src/views/Jobs/DrawerReview.tsx +464 -0
- package/src/views/Jobs/JobDrawer.tsx +556 -0
- package/src/views/Jobs/JobsTable.tsx +260 -0
- package/src/views/Jobs/WorkerStrip.tsx +144 -0
- package/src/views/Jobs/atoms.tsx +93 -0
- package/src/views/Jobs/focus.ts +56 -0
- package/src/views/Jobs/icons.tsx +111 -0
- package/src/views/Jobs/placeholders.tsx +66 -0
- package/src/views/Jobs/useJobDetail.ts +64 -0
- package/src/views/Jobs/useJobsFeed.ts +249 -0
- package/src/views/Jobs/useReviewItems.ts +187 -0
- package/src/views/Jobs.tsx +282 -105
- package/src/views/MediaBrowser.tsx +71 -21
- package/src/views/Pages/PagesListView.tsx +115 -39
- package/src/views/Posts/NewPostTypeInstructions.tsx +15 -10
- package/src/views/Posts/PostTypesView.tsx +28 -6
- package/src/views/Posts/PostsListView.tsx +130 -40
- package/src/views/SEO.tsx +23 -8
- package/src/views/ScriptTags.tsx +233 -153
- package/src/views/Settings.tsx +215 -256
- package/src/views/SpamFolder.tsx +32 -0
- package/src/views/Trash.tsx +12 -1
- package/src/views/Users.tsx +2 -2
- package/src/views/WidgetsPlaceholder.tsx +33 -0
- package/src/views/dashboard/kpi-grid.ts +38 -0
- package/src/views/lazy-views.tsx +12 -0
- package/src/views/page-editor/PageTab.tsx +2 -2
- package/src/views/page-editor/ReviewBar.tsx +1 -1
- package/src/views/page-editor/VersionHistoryPanel.tsx +1 -1
- package/src/views/seo/AuditTab.tsx +1 -1
- package/src/views/seo/OverviewTab.tsx +6 -5
- package/src/views/seo/ProposalsTab.tsx +1 -1
- package/src/views/settings/AISettingsTab.tsx +10 -6
- package/src/views/settings/AccessProtectionCard.tsx +1 -1
- package/src/views/settings/AdminThemeCard.tsx +228 -35
- package/src/views/settings/AppearanceTab.tsx +10 -6
- package/src/views/settings/BrandPreviewCard.tsx +1 -1
- package/src/views/settings/BrandVoiceCard.tsx +1 -1
- package/src/views/settings/EmailSettingsTab.tsx +11 -7
- package/src/views/settings/GeneralSettingsTab.tsx +10 -6
- package/src/views/settings/McpConnectTab.tsx +2 -1
- package/src/views/settings/ProviderConnectionCard.tsx +1 -1
- package/src/views/settings/SearchDataCard.tsx +1 -1
- package/src/views/settings/SecurityStatusCard.tsx +2 -2
- package/src/views/settings/SecurityTab.tsx +10 -6
- package/src/views/settings/SeoAutopilotCard.tsx +2 -2
- package/src/views/settings/SeoSettingsTab.tsx +13 -9
- package/src/views/settings/SiteIndexStatusCard.tsx +1 -1
- package/src/views/settings/SiteThemeCard.tsx +1 -1
- package/src/views/settings/UpdatesTab.tsx +107 -101
- package/src/views/settings/components.tsx +26 -62
- package/src/views/settings/useAppearanceSettings.ts +116 -25
- package/src/views/users/UserDetailDrawer.tsx +1 -1
- package/dist/components/ui/StatPill.d.ts +0 -18
- package/dist/components/ui/StatPill.d.ts.map +0 -1
- package/dist/components/ui/StatPill.js +0 -5
- package/dist/components/ui/StatPill.js.map +0 -1
- package/src/components/ui/StatPill.tsx +0 -37
|
@@ -10,8 +10,10 @@ import { cmsApi } from '../lib/api.js';
|
|
|
10
10
|
import { useVirtualWindow, VirtualTablePadding } from '../components/virtual-window.js';
|
|
11
11
|
import { FolderTree } from '../components/FolderTree.js';
|
|
12
12
|
import { Button } from '../components/ui/Button.js';
|
|
13
|
+
import { TIER_MEDIA } from '../lib/tiers.js';
|
|
14
|
+
import { useSheetFocus } from '../lib/sheet-focus.js';
|
|
13
15
|
import { StatusBadge } from '../components/ui/StatusBadge.js';
|
|
14
|
-
import {
|
|
16
|
+
import { CountChip } from '../components/ui/CountChip.js';
|
|
15
17
|
import { hasLowQualityAlt, MediaSeoAudit } from './MediaSeoAudit.js';
|
|
16
18
|
function hasAccessibleAlt(item) {
|
|
17
19
|
return item.isDecorative === true || Boolean(item.altTag?.trim());
|
|
@@ -88,6 +90,13 @@ function buildMediaApiUrl(folderSel) {
|
|
|
88
90
|
export function MediaBrowser({ onNavigate, currentPath }) {
|
|
89
91
|
const [folderSel, setFolderSel] = useState({ type: 'smart', smart: 'all' });
|
|
90
92
|
const [sidebarOpen, setSidebarOpen] = useState(true);
|
|
93
|
+
// Below 769px the folder tree stacks above the grid, so it starts closed
|
|
94
|
+
// there; the folder button opens it.
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if (typeof window.matchMedia === 'function' && window.matchMedia(TIER_MEDIA.mobile).matches) {
|
|
97
|
+
setSidebarOpen(false);
|
|
98
|
+
}
|
|
99
|
+
}, []);
|
|
91
100
|
const apiUrl = useMemo(() => buildMediaApiUrl(folderSel), [folderSel]);
|
|
92
101
|
const { data, loading, error, refetch } = useApiData(apiUrl);
|
|
93
102
|
const allData = useApiData('/media?pageSize=1');
|
|
@@ -137,6 +146,8 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
137
146
|
const gridColumns = useGridColumns(activeItem !== null);
|
|
138
147
|
const gridScrollRef = useRef(null);
|
|
139
148
|
const listScrollRef = useRef(null);
|
|
149
|
+
/** The grid's or list's scroll position when a card opened the detail panel. */
|
|
150
|
+
const savedListScroll = useRef(0);
|
|
140
151
|
const gridRowCount = gridColumns > 0 ? Math.ceil(filteredAndSorted.length / gridColumns) : 0;
|
|
141
152
|
const gridWindow = useVirtualWindow({
|
|
142
153
|
count: gridRowCount,
|
|
@@ -168,6 +179,7 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
168
179
|
return { total: mediaItems.length, images, videos, documents, bytes };
|
|
169
180
|
}, [mediaItems]);
|
|
170
181
|
const openDetail = useCallback((item) => {
|
|
182
|
+
savedListScroll.current = (gridScrollRef.current ?? listScrollRef.current)?.scrollTop ?? 0;
|
|
171
183
|
setActiveItem(item);
|
|
172
184
|
setEditAlt(item.altTag ?? '');
|
|
173
185
|
setEditIsDecorative(item.isDecorative === true);
|
|
@@ -389,6 +401,22 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
389
401
|
e.dataTransfer.effectAllowed = 'move';
|
|
390
402
|
};
|
|
391
403
|
const panelOpen = activeItem !== null;
|
|
404
|
+
const detailPanelRef = useRef(null);
|
|
405
|
+
// Below 769px the detail panel is a sheet over the content column
|
|
406
|
+
// (`[data-inspector-open]` in responsive.css hides the grid, tabs and
|
|
407
|
+
// header), so the card that opened it leaves the screen. Focus moves into
|
|
408
|
+
// the panel and back when it closes. The hidden scroll box comes back at the
|
|
409
|
+
// top, and the virtualised window wouldn't follow (no scroll event), so its
|
|
410
|
+
// position, saved when a card opens the panel, goes back first. Grid cards
|
|
411
|
+
// aren't focusable, so focus lands on the list itself.
|
|
412
|
+
useSheetFocus(panelOpen, detailPanelRef, {
|
|
413
|
+
restore: () => {
|
|
414
|
+
const scroller = gridScrollRef.current ?? listScrollRef.current;
|
|
415
|
+
if (scroller)
|
|
416
|
+
scroller.scrollTop = savedListScroll.current;
|
|
417
|
+
},
|
|
418
|
+
fallback: () => gridScrollRef.current ?? listScrollRef.current,
|
|
419
|
+
});
|
|
392
420
|
const issues = activeItem
|
|
393
421
|
? [
|
|
394
422
|
...(!hasAccessibleAlt(activeItem) ? ['Missing alt tag'] : []),
|
|
@@ -405,16 +433,16 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
405
433
|
if (loading) {
|
|
406
434
|
return (_jsx("div", { className: "flex h-64 items-center justify-center p-3 pr-6 sm:p-4 sm:pr-8", children: _jsx(Loader2, { className: "text-primary h-6 w-6 animate-spin" }) }));
|
|
407
435
|
}
|
|
408
|
-
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "border-destructive/30 bg-destructive/10 mb-4 flex items-center gap-3 rounded-lg border p-4", children: [_jsx(AlertTriangle, { className: "text-destructive h-5 w-5 shrink-0" }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: error }), _jsx("button", { onClick: refetch, className: "border-destructive/40 text-destructive hover:bg-destructive/15 rounded-lg border px-3 py-1 text-sm transition-colors", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-
|
|
436
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "border-destructive/30 bg-destructive/10 mb-4 flex items-center gap-3 rounded-lg border p-4", children: [_jsx(AlertTriangle, { className: "text-destructive h-5 w-5 shrink-0" }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: error }), _jsx("button", { onClick: refetch, className: "border-destructive/40 text-destructive hover:bg-destructive/15 rounded-lg border px-3 py-1 text-sm transition-colors", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-start justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: () => setSidebarOpen((prev) => !prev), className: "hover:bg-muted rounded-lg p-1.5 transition-colors", title: sidebarOpen ? 'Hide folders' : 'Show folders', "aria-label": sidebarOpen ? 'Hide folders' : 'Show folders', children: _jsx(FolderInput, { className: "text-muted-foreground h-5 w-5", "aria-hidden": true }) }), _jsxs("div", { children: [_jsx("h1", { className: "text-foreground leading-[normal]", children: "Media" }), _jsx("p", { className: "text-body text-sub mt-[3px] leading-[normal]", children: "Manage and optimize all your media assets" }), _jsxs("div", { className: "mt-[18px] flex flex-wrap items-center gap-1.5", children: [_jsx(CountChip, { n: mediaStats.total, label: "Total Files" }), _jsx(CountChip, { n: mediaStats.images, label: "Images" }), _jsx(CountChip, { n: mediaStats.videos, label: "Videos" }), _jsx(CountChip, { n: mediaStats.documents, label: "Documents" }), _jsx(CountChip, { n: formatStorage(mediaStats.bytes), label: "Storage used" })] })] })] }), _jsxs("div", { "data-header-actions": "", children: [_jsx("input", { ref: fileInputRef, type: "file", multiple: true, accept: "image/*,video/*,application/pdf,.doc,.docx,.xls,.xlsx", className: "hidden", onChange: (e) => handleUploadFiles(e.target.files) }), _jsx(Button, { type: "button", variant: "primary", size: "md", onClick: () => fileInputRef.current?.click(), loading: uploading, leftIcon: _jsx(Upload, { size: 16, "aria-hidden": true }), "data-fab": "", children: uploading ? 'Uploading...' : 'Upload Files' })] })] }), _jsxs("div", { role: "tablist", "aria-label": "Media views", className: "mb-4 flex border-b border-[var(--bdr)]", children: [_jsxs("button", { type: "button", role: "tab", "aria-selected": activeTab === 'library', onClick: () => setActiveTab('library'), className: `-mb-px flex items-center gap-1.5 border-b-2 px-4 py-2.5 text-[13px] font-medium transition-colors focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none ${activeTab === 'library'
|
|
409
437
|
? 'border-[var(--acc)] text-[var(--acc)]'
|
|
410
438
|
: 'border-transparent text-[var(--muted)] hover:text-[var(--txt)]'}`, children: [_jsx(ImageIcon, { size: 14, "aria-hidden": true }), "Library"] }), _jsxs("button", { type: "button", role: "tab", "aria-selected": activeTab === 'audit', onClick: () => setActiveTab('audit'), className: `-mb-px flex items-center gap-1.5 border-b-2 px-4 py-2.5 text-[13px] font-medium transition-colors focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none ${activeTab === 'audit'
|
|
411
439
|
? 'border-[var(--acc)] text-[var(--acc)]'
|
|
412
440
|
: 'border-transparent text-[var(--muted)] hover:text-[var(--txt)]'}`, children: [_jsx(Search, { size: 14, "aria-hidden": true }), "SEO Audit", _jsx("span", { className: `rounded-[4px] px-[5px] py-px text-[10px] font-semibold ${auditAttentionCount === 0
|
|
413
441
|
? 'bg-[var(--suc-l)] text-[var(--suc)]'
|
|
414
|
-
: 'bg-[var(--err-l)] text-[var(--err)]'}`, "aria-label": `${auditAttentionCount} items need attention`, children: auditAttentionCount })] })] }), activeTab === 'audit' ? (_jsx(MediaSeoAudit, { items: mediaItems, onEdit: handleAuditEdit, error: error, onRetry: refetch })) : (_jsxs("div", { className: "flex min-h-0 flex-1 gap-4 overflow-hidden", children: [sidebarOpen && (_jsx("div", { className: "border-border bg-card flex w-56 shrink-0 flex-col overflow-hidden rounded-lg border", children: _jsx(FolderTree, { scope: "media", selected: folderSel, onSelect: (sel) => {
|
|
442
|
+
: 'bg-[var(--err-l)] text-[var(--err)]'}`, "aria-label": `${auditAttentionCount} items need attention`, children: auditAttentionCount })] })] }), activeTab === 'audit' ? (_jsx(MediaSeoAudit, { items: mediaItems, onEdit: handleAuditEdit, error: error, onRetry: refetch })) : (_jsxs("div", { className: "mobile:flex-col flex min-h-0 flex-1 gap-4 overflow-hidden", children: [sidebarOpen && (_jsx("div", { className: "border-border bg-card mobile:max-h-[40vh] mobile:w-full flex w-56 shrink-0 flex-col overflow-hidden rounded-lg border", children: _jsx(FolderTree, { scope: "media", selected: folderSel, onSelect: (sel) => {
|
|
415
443
|
setFolderSel(sel);
|
|
416
444
|
setSelectedMedia([]);
|
|
417
|
-
}, totalCount: allData.data?.total, uncategorizedCount: uncatData.data?.total, onDropItem: handleDropItem }) })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsx("div", { className: "border-border bg-card mb-4 rounded-lg border", children: _jsxs("div", { className: "flex items-center justify-between p-3", children: [_jsxs("div", { className: "flex flex-1 items-center gap-3", children: [_jsxs("div", { className: "relative max-w-md flex-1", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2", "aria-hidden": true }), _jsx("input", { type: "search", placeholder: "Search media...", "aria-label": "Search media", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "border-input focus:ring-ring w-full rounded-lg border py-2 pr-3 pl-9 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("select", { value: filterType, onChange: (e) => setFilterType(e.target.value), "aria-label": "Filter by type", className: "border-input focus:ring-ring rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none", children: [_jsx("option", { value: "all", children: "All Types" }), _jsx("option", { value: "image", children: "Images" }), _jsx("option", { value: "video", children: "Videos" }), _jsx("option", { value: "document", children: "Documents" })] })] }), _jsxs("div", { className: "bg-muted flex items-center gap-1 rounded-lg p-1", role: "group", "aria-label": "Media view", children: [_jsx("button", { type: "button", onClick: () => setViewMode('grid'), "aria-label": "Grid view", "aria-pressed": viewMode === 'grid', className: `rounded p-1.5 transition-colors ${viewMode === 'grid' ? 'bg-card text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'}`, children: _jsx(Grid3x3, { className: "h-4 w-4", "aria-hidden": true }) }), _jsx("button", { type: "button", onClick: () => setViewMode('list'), "aria-label": "List view", "aria-pressed": viewMode === 'list', className: `rounded p-1.5 transition-colors ${viewMode === 'list' ? 'bg-card text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'}`, children: _jsx(List, { className: "h-4 w-4", "aria-hidden": true }) })] })] }) }), selectedMedia.length > 0 && (_jsx("div", { className: "border-primary/30 bg-primary/10 mb-4 rounded-lg border p-4", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("span", { className: "text-primary text-sm", children: [selectedMedia.length, " file", selectedMedia.length !== 1 ? 's' : '', " selected"] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { onClick: async () => {
|
|
445
|
+
}, totalCount: allData.data?.total, uncategorizedCount: uncatData.data?.total, onDropItem: handleDropItem }) })), _jsxs("div", { className: "mobile:min-h-0 flex min-w-0 flex-1 flex-col", children: [_jsx("div", { className: "border-border bg-card mb-4 rounded-lg border", children: _jsxs("div", { className: "flex items-center justify-between p-3", children: [_jsxs("div", { className: "flex flex-1 items-center gap-3", children: [_jsxs("div", { className: "relative max-w-md flex-1", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2", "aria-hidden": true }), _jsx("input", { type: "search", placeholder: "Search media...", "aria-label": "Search media", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "border-input focus:ring-ring w-full rounded-lg border py-2 pr-3 pl-9 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("select", { value: filterType, onChange: (e) => setFilterType(e.target.value), "aria-label": "Filter by type", className: "border-input focus:ring-ring rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none", children: [_jsx("option", { value: "all", children: "All Types" }), _jsx("option", { value: "image", children: "Images" }), _jsx("option", { value: "video", children: "Videos" }), _jsx("option", { value: "document", children: "Documents" })] })] }), _jsxs("div", { className: "bg-muted flex items-center gap-1 rounded-lg p-1", role: "group", "aria-label": "Media view", children: [_jsx("button", { type: "button", onClick: () => setViewMode('grid'), "aria-label": "Grid view", "aria-pressed": viewMode === 'grid', className: `rounded p-1.5 transition-colors ${viewMode === 'grid' ? 'bg-card text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'}`, children: _jsx(Grid3x3, { className: "h-4 w-4", "aria-hidden": true }) }), _jsx("button", { type: "button", onClick: () => setViewMode('list'), "aria-label": "List view", "aria-pressed": viewMode === 'list', className: `rounded p-1.5 transition-colors ${viewMode === 'list' ? 'bg-card text-foreground shadow-sm' : 'text-muted-foreground hover:text-foreground'}`, children: _jsx(List, { className: "h-4 w-4", "aria-hidden": true }) })] })] }) }), selectedMedia.length > 0 && (_jsx("div", { className: "border-primary/30 bg-primary/10 mb-4 rounded-lg border p-4", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("span", { className: "text-primary text-sm", children: [selectedMedia.length, " file", selectedMedia.length !== 1 ? 's' : '', " selected"] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { onClick: async () => {
|
|
418
446
|
for (const id of selectedMedia)
|
|
419
447
|
await deleteMedia(id);
|
|
420
448
|
setSelectedMedia([]);
|
|
@@ -422,7 +450,7 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
422
450
|
? 'No uncategorized media'
|
|
423
451
|
: folderSel.type === 'folder'
|
|
424
452
|
? 'No media in this folder'
|
|
425
|
-
: 'No media yet' }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Upload your first file to get started." })] })) : (_jsxs("div", { className: "flex min-h-0 flex-1 gap-4 overflow-hidden", children: [_jsx("div", { className: `border-border bg-card overflow-hidden rounded-lg border transition-all duration-200 ${panelOpen ? 'min-w-0 flex-1' : 'w-full'}`, children: viewMode === 'grid' ? (_jsx("div", { ref: gridScrollRef, className: "h-full overflow-y-auto p-2 sm:p-3", children: _jsx("div", { className: "relative", style: { height: gridRowCount * 220 }, children: gridWindow.rows.map((virtualRow) => (_jsx("div", { className: "grid gap-3 sm:gap-4", style: {
|
|
453
|
+
: 'No media yet' }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Upload your first file to get started." })] })) : (_jsxs("div", { className: "flex min-h-0 flex-1 gap-4 overflow-hidden", children: [_jsx("div", { className: `border-border bg-card overflow-hidden rounded-lg border transition-all duration-200 ${panelOpen ? 'min-w-0 flex-1' : 'w-full'}`, children: viewMode === 'grid' ? (_jsx("div", { ref: gridScrollRef, tabIndex: -1, className: "h-full overflow-y-auto p-2 sm:p-3", children: _jsx("div", { className: "relative", style: { height: gridRowCount * 220 }, children: gridWindow.rows.map((virtualRow) => (_jsx("div", { className: "grid gap-3 sm:gap-4", style: {
|
|
426
454
|
position: 'absolute',
|
|
427
455
|
top: 0,
|
|
428
456
|
left: 0,
|
|
@@ -448,7 +476,7 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
448
476
|
: 'border-border hover:border-input'}`, onClick: () => openDetail(item), draggable: true, onDragStart: (e) => handleDragStart(e, item.id), children: [_jsxs("div", { className: "relative aspect-square w-full overflow-hidden", children: [_jsx("div", { className: "bg-muted flex h-full w-full items-center justify-center", children: _jsx(MediaPreview, { item: item }) }), hasIssues && (_jsx("div", { className: "bg-warning absolute top-1.5 left-1.5 flex h-5 w-5 items-center justify-center rounded-full", title: "Needs attention", children: _jsx(AlertTriangle, { className: "text-warning-foreground h-3 w-3" }) })), _jsx("div", { className: "absolute top-1.5 right-1.5 opacity-0 transition-opacity group-hover:opacity-100", onClick: (e) => handleCheckbox(e, item.id), children: _jsx("div", { className: `flex h-5 w-5 items-center justify-center rounded border-2 transition-colors ${selectedMedia.includes(item.id)
|
|
449
477
|
? 'border-primary bg-primary'
|
|
450
478
|
: 'border-input bg-card/80'}`, children: selectedMedia.includes(item.id) && (_jsx("svg", { className: "text-primary-foreground h-3 w-3", fill: "none", viewBox: "0 0 12 12", children: _jsx("path", { d: "M10 3L4.5 8.5L2 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })) }) })] }), _jsxs("div", { className: "border-border bg-card flex items-center gap-2 border-t px-2 py-1.5", children: [_jsx("span", { className: `mt-0.5 h-2 w-2 shrink-0 self-start rounded-full ${hasIssues ? 'bg-warning' : 'bg-success'}`, title: hasIssues ? 'Needs attention' : 'SEO complete' }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "text-foreground truncate text-xs font-medium", children: item.name }), _jsx("p", { className: "text-muted-foreground truncate text-xs", children: [typeLabel, item.size].filter(Boolean).join(' · ') })] })] })] }, item.id));
|
|
451
|
-
}) }, virtualRow.key))) }) })) : (_jsx("div", { ref: listScrollRef, className: "h-full overflow-auto", children: _jsxs("table", { className: "w-full min-w-[640px]", children: [_jsx("thead", { className: "border-border bg-muted sticky top-0 border-b", children: _jsxs("tr", { children: [_jsx("th", { className: "w-8 px-3 py-2 text-left", children: _jsx("input", { type: "checkbox", checked: selectedMedia.length === filteredAndSorted.length &&
|
|
479
|
+
}) }, virtualRow.key))) }) })) : (_jsx("div", { ref: listScrollRef, tabIndex: -1, className: "h-full overflow-auto outline-none", children: _jsxs("table", { className: "w-full min-w-[640px]", children: [_jsx("thead", { className: "border-border bg-muted sticky top-0 border-b", children: _jsxs("tr", { children: [_jsx("th", { className: "w-8 px-3 py-2 text-left", children: _jsx("input", { type: "checkbox", checked: selectedMedia.length === filteredAndSorted.length &&
|
|
452
480
|
filteredAndSorted.length > 0, onChange: handleSelectAll, className: "border-input rounded" }) }), _jsx("th", { className: "w-6 px-1 py-2" }), _jsx("th", { className: "px-3 py-2 text-left", "aria-sort": ariaSortFor('name'), children: _jsx(SortHeader, { label: "Name", sortKey: "name" }) }), _jsx("th", { className: "px-3 py-2 text-left", "aria-sort": ariaSortFor('type'), children: _jsx(SortHeader, { label: "Type", sortKey: "type" }) }), _jsx("th", { className: "px-3 py-2 text-left", "aria-sort": ariaSortFor('size'), children: _jsx(SortHeader, { label: "Size", sortKey: "size" }) }), _jsx("th", { className: "px-3 py-2 text-left", "aria-sort": ariaSortFor('date'), children: _jsx(SortHeader, { label: "Uploaded", sortKey: "date" }) }), _jsx("th", { className: "text-foreground px-3 py-2 text-left text-xs font-medium", children: "Status" })] }) }), _jsxs("tbody", { className: "divide-border divide-y", children: [_jsx(VirtualTablePadding, { height: listWindow.paddingTop, columns: 7 }), listWindow.rows.map((row) => {
|
|
453
481
|
const item = filteredAndSorted[row.index];
|
|
454
482
|
if (!item)
|
|
@@ -456,7 +484,7 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
456
484
|
const isActive = activeItem?.id === item.id;
|
|
457
485
|
const hasIssues = !hasAccessibleAlt(item) || !item.title || item.usedOn?.length === 0;
|
|
458
486
|
return (_jsxs("tr", { className: `cursor-pointer transition-colors ${isActive ? 'bg-primary/10' : 'hover:bg-muted'}`, onClick: () => openDetail(item), draggable: true, onDragStart: (e) => handleDragStart(e, item.id), children: [_jsx("td", { className: "px-3 py-2", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", checked: selectedMedia.includes(item.id), onChange: () => handleCheckbox({ stopPropagation: () => { } }, item.id), className: "border-input rounded" }) }), _jsx("td", { className: "cursor-grab px-1 py-2", children: _jsx(GripVertical, { className: "text-muted-foreground h-4 w-4" }) }), _jsx("td", { className: "px-3 py-2", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "bg-muted flex h-10 w-10 items-center justify-center overflow-hidden rounded", children: _jsx(MediaPreview, { item: item }) }), _jsx("span", { className: "text-foreground text-sm font-medium", children: item.name })] }) }), _jsx("td", { className: "text-muted-foreground px-3 py-2 text-sm", children: item.format ?? item.type }), _jsx("td", { className: "text-muted-foreground px-3 py-2 text-sm", children: item.size }), _jsx("td", { className: "text-muted-foreground px-3 py-2 text-sm", children: item.date }), _jsx("td", { className: "px-3 py-2", children: hasIssues ? (_jsx(StatusBadge, { tone: "warning", children: "Needs attention" })) : (_jsx(StatusBadge, { tone: "success", children: "Complete" })) })] }, item.id));
|
|
459
|
-
}), _jsx(VirtualTablePadding, { height: listWindow.paddingBottom, columns: 7 })] })] }) })) }), panelOpen && activeItem && (_jsxs("div", { className: "border-border bg-card flex w-80 shrink-0 flex-col overflow-y-auto rounded-lg border lg:w-96", children: [_jsxs("div", { className: "border-border bg-card sticky top-0 z-10 flex items-center justify-between border-b p-4", children: [_jsx("h3", { className: "text-foreground truncate text-sm font-medium", children: activeItem.name }), _jsx("button", { onClick: closeDetail, className: "hover:bg-muted rounded p-1 transition-colors", "aria-label": "Close panel", children: _jsx(X, { className: "text-muted-foreground h-4 w-4" }) })] }), _jsxs("div", { className: "flex-1 overflow-y-auto", children: [_jsx("div", { className: "border-border border-b p-4", children: _jsx("div", { className: "bg-muted flex aspect-video items-center justify-center overflow-hidden rounded-lg", children: isImageMedia(activeItem) ? (_jsx(MediaPreview, { item: activeItem })) : (_jsx(ImageIcon, { className: "text-muted-foreground h-12 w-12" })) }) }), issues.length > 0 && (_jsxs("div", { className: "border-warning/30 bg-
|
|
487
|
+
}), _jsx(VirtualTablePadding, { height: listWindow.paddingBottom, columns: 7 })] })] }) })) }), panelOpen && activeItem && (_jsxs("div", { ref: detailPanelRef, "data-inspector-open": "", tabIndex: -1, role: "region", "aria-label": `${activeItem.name} details`, className: "border-border bg-card mobile:w-full flex w-80 shrink-0 flex-col overflow-y-auto rounded-lg border lg:w-96", children: [_jsxs("div", { className: "border-border bg-card sticky top-0 z-10 flex items-center justify-between border-b p-4", children: [_jsx("h3", { className: "text-foreground truncate text-sm font-medium", children: activeItem.name }), _jsx("button", { type: "button", onClick: closeDetail, className: "hover:bg-muted prenta-touch-target mobile:-my-2.5 mobile:-mr-2.5 mobile:h-11 mobile:w-11 flex items-center justify-center rounded p-1 transition-colors", "aria-label": "Close panel", children: _jsx(X, { className: "text-muted-foreground h-4 w-4", "aria-hidden": true }) })] }), _jsxs("div", { className: "flex-1 overflow-y-auto", children: [_jsx("div", { className: "border-border border-b p-4", children: _jsx("div", { className: "bg-muted flex aspect-video items-center justify-center overflow-hidden rounded-lg", children: isImageMedia(activeItem) ? (_jsx(MediaPreview, { item: activeItem })) : (_jsx(ImageIcon, { className: "text-muted-foreground h-12 w-12" })) }) }), issues.length > 0 && (_jsxs("div", { className: "border-warning/30 bg-warn-l mx-4 mt-4 rounded-lg border p-4", children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertTriangle, { className: "text-warning mt-0.5 h-4 w-4 shrink-0" }), _jsxs("div", { children: [_jsxs("p", { className: "text-warning mb-1 text-xs font-medium", children: [issues.length, " issue", issues.length !== 1 ? 's' : '', " found"] }), _jsx("ul", { className: "space-y-0.5", children: issues.map((issue, i) => (_jsxs("li", { className: "text-warning text-xs", children: ["\u2022 ", issue] }, i))) })] })] }), _jsxs("button", { type: "button", onClick: async () => {
|
|
460
488
|
if (!hasAccessibleAlt(activeItem))
|
|
461
489
|
await handleAiGenerate('alt');
|
|
462
490
|
if (!activeItem.title)
|
|
@@ -475,12 +503,12 @@ export function MediaBrowser({ onNavigate, currentPath }) {
|
|
|
475
503
|
setEditAlt('');
|
|
476
504
|
}, className: "border-input size-4 rounded" }), _jsx("span", { className: "text-foreground", children: "Decorative image (empty alt)" })] }), activeItem.aiAltSuggestion !== undefined &&
|
|
477
505
|
editAlt !== activeItem.aiAltSuggestion &&
|
|
478
|
-
!editIsDecorative && (_jsxs("div", { className: "border-warning/40 bg-
|
|
506
|
+
!editIsDecorative && (_jsxs("div", { className: "border-warning/40 bg-warn-l mt-2 flex items-start justify-between gap-2 rounded-lg border p-4 text-xs", children: [_jsxs("span", { className: "text-foreground", children: ["AI suggestion:", ' ', activeItem.aiAltSuggestion.trim()
|
|
479
507
|
? activeItem.aiAltSuggestion
|
|
480
508
|
: '(decorative — empty alt)'] }), _jsx("button", { type: "button", onClick: () => {
|
|
481
509
|
const suggestion = activeItem.aiAltSuggestion ?? '';
|
|
482
510
|
setEditAlt(suggestion);
|
|
483
511
|
setEditIsDecorative(!suggestion.trim());
|
|
484
|
-
}, className: "text-primary shrink-0 font-medium hover:opacity-80", children: "Apply" })] })), !editIsDecorative && !editAlt && (_jsx("p", { className: "text-destructive mt-1 text-xs", children: "Required for accessibility and SEO" }))] }), _jsxs("div", { children: [_jsxs("div", { className: "mb-1 flex items-center justify-between", children: [_jsx("label", { className: "text-foreground text-sm font-medium", children: "Title" }), _jsxs("button", { type: "button", onClick: () => handleAiGenerate('title'), disabled: aiGenerating === 'title', className: "text-primary hover:text-primary/80 flex items-center gap-1 text-xs transition-colors disabled:opacity-50", children: [_jsx(Bot, { className: "h-3.5 w-3.5" }), aiGenerating === 'title' ? 'Generating...' : 'AI Generate'] })] }), _jsx("input", { type: "text", value: editTitle, onChange: (e) => setEditTitle(e.target.value), placeholder: "Image title...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-caption", className: "text-foreground mb-1 block text-sm font-medium", children: "Caption" }), _jsx("input", { id: "media-detail-caption", type: "text", value: editCaption, onChange: (e) => setEditCaption(e.target.value), placeholder: "Short caption shown alongside the asset...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-description", className: "text-foreground mb-1 block text-sm font-medium", children: "Description" }), _jsx("textarea", { id: "media-detail-description", value: editDescription, onChange: (e) => setEditDescription(e.target.value), placeholder: "Longer description for search and reuse...", rows: 2, className: "border-input focus:ring-ring w-full resize-none rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-focus-keyword", className: "text-foreground mb-1 block text-sm font-medium", children: "Focus Keyword" }), _jsx("input", { id: "media-detail-focus-keyword", type: "text", value: editFocusKeyword, onChange: (e) => setEditFocusKeyword(e.target.value), placeholder: "Primary keyword this asset targets...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "File Name" }), _jsx("input", { type: "text", value: editFilename, onChange: (e) => setEditFilename(e.target.value), className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] })] }), _jsxs("div", { className: "border-border border-b p-4", children: [_jsxs("h4", { className: "text-muted-foreground mb-3 text-xs font-medium tracking-wide uppercase", children: ["Used On ", activeItem.usedOn && `(${activeItem.usedOn.length})`] }), activeItem.usedOn && activeItem.usedOn.length > 0 ? (_jsx("div", { className: "space-y-2", children: activeItem.usedOn.map((usage, i) => (_jsxs("button", { type: "button", onClick: () => onNavigate?.(usage.path), className: "border-border hover:bg-muted flex w-full items-center gap-2 rounded-lg border p-2 text-left transition-colors", children: [_jsx(Link2, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx("span", { className: "text-foreground flex-1 truncate text-sm", children: usage.page }), _jsx(ExternalLink, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" })] }, i))) })) : (_jsx("div", { className: "border-warning/30 bg-
|
|
512
|
+
}, className: "text-primary shrink-0 font-medium hover:opacity-80", children: "Apply" })] })), !editIsDecorative && !editAlt && (_jsx("p", { className: "text-destructive mt-1 text-xs", children: "Required for accessibility and SEO" }))] }), _jsxs("div", { children: [_jsxs("div", { className: "mb-1 flex items-center justify-between", children: [_jsx("label", { className: "text-foreground text-sm font-medium", children: "Title" }), _jsxs("button", { type: "button", onClick: () => handleAiGenerate('title'), disabled: aiGenerating === 'title', className: "text-primary hover:text-primary/80 flex items-center gap-1 text-xs transition-colors disabled:opacity-50", children: [_jsx(Bot, { className: "h-3.5 w-3.5" }), aiGenerating === 'title' ? 'Generating...' : 'AI Generate'] })] }), _jsx("input", { type: "text", value: editTitle, onChange: (e) => setEditTitle(e.target.value), placeholder: "Image title...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-caption", className: "text-foreground mb-1 block text-sm font-medium", children: "Caption" }), _jsx("input", { id: "media-detail-caption", type: "text", value: editCaption, onChange: (e) => setEditCaption(e.target.value), placeholder: "Short caption shown alongside the asset...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-description", className: "text-foreground mb-1 block text-sm font-medium", children: "Description" }), _jsx("textarea", { id: "media-detail-description", value: editDescription, onChange: (e) => setEditDescription(e.target.value), placeholder: "Longer description for search and reuse...", rows: 2, className: "border-input focus:ring-ring w-full resize-none rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "media-detail-focus-keyword", className: "text-foreground mb-1 block text-sm font-medium", children: "Focus Keyword" }), _jsx("input", { id: "media-detail-focus-keyword", type: "text", value: editFocusKeyword, onChange: (e) => setEditFocusKeyword(e.target.value), placeholder: "Primary keyword this asset targets...", className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }), _jsxs("div", { children: [_jsx("label", { className: "text-foreground mb-1 block text-sm font-medium", children: "File Name" }), _jsx("input", { type: "text", value: editFilename, onChange: (e) => setEditFilename(e.target.value), className: "border-input focus:ring-ring w-full rounded-lg border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] })] }), _jsxs("div", { className: "border-border border-b p-4", children: [_jsxs("h4", { className: "text-muted-foreground mb-3 text-xs font-medium tracking-wide uppercase", children: ["Used On ", activeItem.usedOn && `(${activeItem.usedOn.length})`] }), activeItem.usedOn && activeItem.usedOn.length > 0 ? (_jsx("div", { className: "space-y-2", children: activeItem.usedOn.map((usage, i) => (_jsxs("button", { type: "button", onClick: () => onNavigate?.(usage.path), className: "border-border hover:bg-muted flex w-full items-center gap-2 rounded-lg border p-2 text-left transition-colors", children: [_jsx(Link2, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx("span", { className: "text-foreground flex-1 truncate text-sm", children: usage.page }), _jsx(ExternalLink, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" })] }, i))) })) : (_jsx("div", { className: "border-warning/30 bg-warn-l rounded-lg border p-4", children: _jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertTriangle, { className: "text-warning mt-0.5 h-4 w-4 shrink-0" }), _jsxs("div", { children: [_jsx("p", { className: "text-warning text-xs font-medium", children: "Orphaned media" }), _jsx("p", { className: "text-warning mt-0.5 text-xs", children: "This file isn't used on any page. Consider deleting it to save storage." })] })] }) }))] }), _jsxs("div", { className: "space-y-3 p-4", children: [_jsx("h4", { className: "text-muted-foreground text-xs font-medium tracking-wide uppercase", children: "AI Optimization" }), _jsxs("button", { type: "button", onClick: () => handleAiGenerate('optimize'), disabled: aiGenerating === 'optimize', className: "border-primary/30 bg-primary/10 hover:bg-primary/15 flex w-full items-center gap-2 rounded-lg border p-4 text-left transition-colors disabled:opacity-50", children: [_jsx(Sparkles, { className: `text-primary h-5 w-5 shrink-0 ${aiGenerating === 'optimize' ? 'animate-spin' : ''}` }), _jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-primary text-sm font-medium", children: aiGenerating === 'optimize' ? 'Optimizing...' : 'Optimize Image' }), _jsx("div", { className: "text-primary mt-0.5 text-xs", children: "Compress and convert to modern format (WebP/AVIF)" })] })] }), _jsxs("button", { type: "button", className: "border-border hover:bg-muted flex w-full items-center gap-2 rounded-lg border p-4 text-left transition-colors", children: [_jsx(Bot, { className: "text-muted-foreground h-5 w-5 shrink-0" }), _jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-foreground text-sm font-medium", children: "AI Content Analysis" }), _jsx("div", { className: "text-muted-foreground mt-0.5 text-xs", children: "Detect objects, faces, text, and suggest categories" })] })] })] })] }), _jsxs("div", { className: "border-border bg-card sticky bottom-0 flex items-center gap-2 border-t p-4", children: [_jsxs("button", { type: "button", onClick: handleSaveDetails, disabled: saving, className: "bg-primary text-primary-foreground hover:bg-primary/90 flex flex-1 items-center justify-center gap-2 rounded-lg px-4 py-2 text-sm transition-colors disabled:opacity-50", children: [saving && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), saving ? 'Saving...' : 'Save Changes'] }), _jsx("button", { type: "button", className: "hover:bg-muted rounded-lg p-2 transition-colors", title: "Download", "aria-label": "Download", children: _jsx(Download, { className: "text-muted-foreground h-4 w-4", "aria-hidden": true }) }), _jsx("button", { type: "button", onClick: () => deleteMedia(activeItem.id), className: "hover:bg-muted rounded-lg p-2 transition-colors", title: "Delete", "aria-label": "Delete", children: _jsx(Trash2, { className: "text-destructive h-4 w-4", "aria-hidden": true }) })] })] }))] }))] })] }))] }));
|
|
485
513
|
}
|
|
486
514
|
//# sourceMappingURL=MediaBrowser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaBrowser.js","sourceRoot":"","sources":["../../src/views/MediaBrowser.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaBrowser.js","sourceRoot":"","sources":["../../src/views/MediaBrowser.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Routing:
|
|
8
8
|
* - Row click → /pages/:id/edit (the page builder).
|
|
9
|
-
* - "+ New page"
|
|
9
|
+
* - "+ New page" sits on the right of the page header.
|
|
10
10
|
* - "Manage tags" (in the tag bar) → /pages/tags.
|
|
11
11
|
*/
|
|
12
12
|
interface PagesListViewProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/views/Pages/PagesListView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/views/Pages/PagesListView.tsx"],"names":[],"mappings":"AAiEA;;;;;;;;;;GAUG;AAEH,UAAU,kBAAkB;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAkDD,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAi2B/D"}
|
|
@@ -15,6 +15,9 @@ import { AuthorAvatar } from '../../components/ui/AuthorAvatar.js';
|
|
|
15
15
|
import { Button } from '../../components/ui/Button.js';
|
|
16
16
|
import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
|
|
17
17
|
import { RowActionButton, RowActions } from '../../components/ui/RowActions.js';
|
|
18
|
+
import { cardCell, cardColumnHeader, cardRow, cardRowGroup, cardTable, } from '../../components/ui/card-table.js';
|
|
19
|
+
import { TIER_MEDIA, useMediaQuery } from '../../lib/tiers.js';
|
|
20
|
+
import { CardListControls } from '../../components/ui/CardListControls.js';
|
|
18
21
|
import { PagesTreeTable } from './PagesTreeTable.js';
|
|
19
22
|
const TOGGLEABLE_COLUMNS = [
|
|
20
23
|
{ key: 'tags', label: 'Tags' },
|
|
@@ -22,6 +25,14 @@ const TOGGLEABLE_COLUMNS = [
|
|
|
22
25
|
{ key: 'seo', label: 'SEO score' },
|
|
23
26
|
];
|
|
24
27
|
const PAGE_SIZE = 25;
|
|
28
|
+
/** The sortable columns, for the phone sort select (the header's labels). */
|
|
29
|
+
const PAGE_SORT_OPTIONS = [
|
|
30
|
+
{ field: 'title', label: 'Title' },
|
|
31
|
+
{ field: 'author', label: 'Author' },
|
|
32
|
+
{ field: 'status', label: 'Status' },
|
|
33
|
+
{ field: 'modified', label: 'Last Modified' },
|
|
34
|
+
{ field: 'seo', label: 'SEO' },
|
|
35
|
+
];
|
|
25
36
|
const VIEW_MODE_KEY = 'prenta.pages.viewMode';
|
|
26
37
|
const HIDDEN_COLUMNS_KEY = 'prenta.pages.hiddenColumns';
|
|
27
38
|
function readStoredViewMode() {
|
|
@@ -156,10 +167,14 @@ export function PagesListView({ onNavigate }) {
|
|
|
156
167
|
return rows;
|
|
157
168
|
}, [displayGroups, grouped]);
|
|
158
169
|
const listScrollRef = useRef(null);
|
|
170
|
+
// Below 769px the rows are cards (`table[data-cards]`), taller than the
|
|
171
|
+
// 56px estimate the window places them by, so every row is mounted.
|
|
172
|
+
const cards = useMediaQuery(TIER_MEDIA.mobile);
|
|
159
173
|
const listWindow = useVirtualWindow({
|
|
160
174
|
count: tableRows.length,
|
|
161
175
|
scrollRef: listScrollRef,
|
|
162
176
|
estimateSize: 56,
|
|
177
|
+
enabled: !cards,
|
|
163
178
|
});
|
|
164
179
|
// ─── Tree mode ─────────────────────────────────────────────────────
|
|
165
180
|
const treeMode = viewMode === 'tree';
|
|
@@ -447,9 +462,9 @@ export function PagesListView({ onNavigate }) {
|
|
|
447
462
|
// Fill the shell's <main> and scroll the table card internally so the
|
|
448
463
|
// pagination footer stays reachable (h-full + main overflow-y-auto alone
|
|
449
464
|
// clips the footer — see #736).
|
|
450
|
-
_jsxs("div", { className: "flex h-full min-h-0 flex-col gap-4 p-4 sm:p-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h1", { className: "text-[var(--txt)]", children: "Pages" }), _jsx("p", { className: "text-sm text-[var(--sub)]", children: treeMode
|
|
465
|
+
_jsxs("div", { className: "mobile:h-auto flex h-full min-h-0 flex-col gap-4 p-4 sm:p-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h1", { className: "text-[var(--txt)]", children: "Pages" }), _jsx("p", { className: "text-sm text-[var(--sub)]", children: treeMode
|
|
451
466
|
? `${grandTotal} page${grandTotal === 1 ? '' : 's'} total`
|
|
452
|
-
: `${grandTotal} page${grandTotal === 1 ? '' : 's'} · organized by tags` })] }), _jsx(Button, { type: "button", variant: "primary", size: "sm", className: "shadow-sm", onClick: () => onNavigate('/pages/new'), leftIcon: _jsx(Plus, { size: 16, "aria-hidden": true }), children: "New page" })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-[var(--sub)]", "aria-hidden": true }), _jsx("input", { type: "search", value: search, onChange: (e) => setSearch(e.target.value), "aria-label": "Search pages", placeholder: "Search pages\u2026", className: "focus:border-primary focus:ring-primary/30 w-full rounded-lg border border-[var(--bdr)] bg-[var(--card)] py-2 pr-3 pl-9 text-sm text-[var(--txt)] shadow-sm placeholder:text-[var(--sub)] focus:ring-2 focus:outline-none" })] }), !treeMode && (_jsx(FilterSelect, { label: "Group by", value: groupBy, onChange: (v) => setGroupBy(v), options: [
|
|
467
|
+
: `${grandTotal} page${grandTotal === 1 ? '' : 's'} · organized by tags` })] }), _jsx("div", { "data-header-actions": "", className: "flex items-center gap-2", children: _jsx(Button, { type: "button", variant: "primary", size: "sm", className: "shadow-sm", onClick: () => onNavigate('/pages/new'), leftIcon: _jsx(Plus, { size: 16, "aria-hidden": true }), "data-fab": "", children: "New page" }) })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-[var(--sub)]", "aria-hidden": true }), _jsx("input", { type: "search", value: search, onChange: (e) => setSearch(e.target.value), "aria-label": "Search pages", placeholder: "Search pages\u2026", className: "focus:border-primary focus:ring-primary/30 w-full rounded-lg border border-[var(--bdr)] bg-[var(--card)] py-2 pr-3 pl-9 text-sm text-[var(--txt)] shadow-sm placeholder:text-[var(--sub)] focus:ring-2 focus:outline-none" })] }), !treeMode && (_jsx(FilterSelect, { label: "Group by", value: groupBy, onChange: (v) => setGroupBy(v), options: [
|
|
453
468
|
{ value: 'none', label: 'None' },
|
|
454
469
|
{ value: 'tag', label: 'Tag' },
|
|
455
470
|
{ value: 'status', label: 'Status' },
|
|
@@ -466,7 +481,21 @@ export function PagesListView({ onNavigate }) {
|
|
|
466
481
|
? treeFiltersActive
|
|
467
482
|
? `${treeRows.length} result${treeRows.length === 1 ? '' : 's'}`
|
|
468
483
|
: `${grandTotal} page${grandTotal === 1 ? '' : 's'}`
|
|
469
|
-
: `${total} of ${grandTotal}` })] }), !treeMode && (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-[10px] font-medium tracking-wider text-[var(--sub)] uppercase", children: "Tags" }), tags.map((t) => (_jsx(PageTagChip, { name: t.name, color: t.color, count: t.pageCount, selected: selectedTags.has(t.slug), onToggle: () => toggleTag(t.slug) }, t.slug))), selectedTags.size > 0 && (_jsxs("button", { type: "button", onClick: () => setSelectedTags(new Set()), className: "inline-flex items-center gap-1 text-xs text-[var(--sub)] hover:text-[var(--txt)]", children: [_jsx(X, { className: "h-3 w-3", "aria-hidden": true }), "Clear tags"] })), _jsxs("button", { type: "button", onClick: () => onNavigate('/pages/tags'), className: "text-primary ml-auto inline-flex items-center gap-1 text-xs font-medium hover:underline", children: [_jsx(TagIcon, { className: "h-3 w-3", "aria-hidden": true }), "Manage tags"] })] })), selected.size > 0 && (_jsx(BulkActionBar, { count: selected.size, tags: tags, blockedHomepage: blockedHomepage, onClear: () => setSelected(new Set()), onPublish: () => runBulkStatus('PUBLISHED'), onDraft: () => runBulkStatus('DRAFT'), onAddTag: (slug) => runBulkTag(slug, 'add'), documents: selectedPages.map((page) => ({ collection: 'pages', id: page.id })), onQueued: () => setSelected(new Set()), onRemoveTag: (slug) => runBulkTag(slug, 'remove'), onDelete: () => setPendingDelete(true), deletableCount: deletablePages.length })),
|
|
484
|
+
: `${total} of ${grandTotal}` })] }), !treeMode && (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-[10px] font-medium tracking-wider text-[var(--sub)] uppercase", children: "Tags" }), tags.map((t) => (_jsx(PageTagChip, { name: t.name, color: t.color, count: t.pageCount, selected: selectedTags.has(t.slug), onToggle: () => toggleTag(t.slug) }, t.slug))), selectedTags.size > 0 && (_jsxs("button", { type: "button", onClick: () => setSelectedTags(new Set()), className: "inline-flex items-center gap-1 text-xs text-[var(--sub)] hover:text-[var(--txt)]", children: [_jsx(X, { className: "h-3 w-3", "aria-hidden": true }), "Clear tags"] })), _jsxs("button", { type: "button", onClick: () => onNavigate('/pages/tags'), className: "text-primary ml-auto inline-flex items-center gap-1 text-xs font-medium hover:underline", children: [_jsx(TagIcon, { className: "h-3 w-3", "aria-hidden": true }), "Manage tags"] })] })), selected.size > 0 && (_jsx(BulkActionBar, { count: selected.size, tags: tags, blockedHomepage: blockedHomepage, onClear: () => setSelected(new Set()), onPublish: () => runBulkStatus('PUBLISHED'), onDraft: () => runBulkStatus('DRAFT'), onAddTag: (slug) => runBulkTag(slug, 'add'), documents: selectedPages.map((page) => ({ collection: 'pages', id: page.id })), onQueued: () => setSelected(new Set()), onRemoveTag: (slug) => runBulkTag(slug, 'remove'), onDelete: () => setPendingDelete(true), deletableCount: deletablePages.length })), treeMode ? null : (_jsx(CardListControls, { selectAll: {
|
|
485
|
+
checked: allOnPageSelected,
|
|
486
|
+
onChange: toggleAllOnPage,
|
|
487
|
+
disabled: visiblePages.length === 0,
|
|
488
|
+
}, sort: {
|
|
489
|
+
options: PAGE_SORT_OPTIONS.filter((option) => (option.field !== 'author' || showAuthor) && (option.field !== 'seo' || showSeo)),
|
|
490
|
+
field: sortBy,
|
|
491
|
+
dir,
|
|
492
|
+
onChange: (field, nextDir) => {
|
|
493
|
+
setSortBy(field);
|
|
494
|
+
setDir(nextDir);
|
|
495
|
+
},
|
|
496
|
+
} })), _jsx("div", { className: `flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-[var(--bdr)] bg-[var(--card)] shadow-sm ${treeMode
|
|
497
|
+
? ''
|
|
498
|
+
: 'mobile:flex-none mobile:overflow-visible mobile:rounded-none mobile:border-0 mobile:bg-transparent mobile:shadow-none'}`, children: treeMode ? (_jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: _jsx(PagesTreeTable, { rows: treeRows, loading: loading, error: error, flattened: treeFiltersActive, selected: selected, expanded: expanded, onToggleExpand: toggleExpand, onToggleSelect: toggleOne, onToggleAll: toggleAllOnPage, onOpen: (p) => onNavigate(`/pages/${p.id}/edit`), onAddSubPage: (p) => onNavigate(`/pages/new?parent=${encodeURIComponent(p.id)}`), onDuplicate: (p) => void runDuplicate(p), onDelete: (p) => setRowDelete(p), onReparent: (sourceId, targetId) => void runReparent(sourceId, targetId), canReparent: (sourceId, targetId) => checkReparent(treeRoots, sourceId, targetId).ok, onRetry: () => setRefreshToken((t) => t + 1), onClearFilters: clearFilters, onNewPage: () => onNavigate('/pages/new') }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { ref: listScrollRef, className: "mobile:flex-none mobile:overflow-visible min-h-0 flex-1 overflow-auto", children: _jsxs("table", { className: "w-full table-fixed", style: { minWidth: tableMinWidth }, ...cardTable, "aria-label": "Pages", children: [_jsxs("colgroup", { children: [_jsx("col", { style: { width: '40px' } }), _jsx("col", {}), showTags && _jsx("col", { style: { width: '200px' } }), showAuthor && _jsx("col", { style: { width: '170px' } }), _jsx("col", { style: { width: '120px' } }), _jsx("col", { style: { width: '130px' } }), showSeo && _jsx("col", { style: { width: '80px' } }), _jsx("col", { style: { width: '110px' } })] }), _jsx("thead", { ...cardRowGroup, className: "bg-muted/40 border-b border-[var(--bdr)]", children: _jsxs("tr", { ...cardRow, className: "text-xs text-[var(--sub)]", children: [_jsx("th", { ...cardColumnHeader, scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("input", { type: "checkbox", "aria-label": "Select all pages on this page", checked: allOnPageSelected, onChange: (e) => toggleAllOnPage(e.target.checked), className: "accent-primary rounded border-[var(--bdr)]" }) }), _jsx("th", { ...cardColumnHeader, scope: "col", "aria-sort": ariaSortFor('title'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Title", field: "title", current: sortBy, dir: dir, onSort: handleSort }) }), showTags && (_jsx("th", { ...cardColumnHeader, scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("span", { className: "text-xs font-medium tracking-wider uppercase", children: "Tags" }) })), showAuthor && (_jsx("th", { ...cardColumnHeader, scope: "col", "aria-sort": ariaSortFor('author'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Author", field: "author", current: sortBy, dir: dir, onSort: handleSort }) })), _jsx("th", { ...cardColumnHeader, scope: "col", "aria-sort": ariaSortFor('status'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Status", field: "status", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { ...cardColumnHeader, scope: "col", "aria-sort": ariaSortFor('modified'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Last Modified", field: "modified", current: sortBy, dir: dir, onSort: handleSort }) }), showSeo && (_jsx("th", { ...cardColumnHeader, scope: "col", "aria-sort": ariaSortFor('seo'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "SEO", field: "seo", current: sortBy, dir: dir, onSort: handleSort }) })), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-3 py-2.5 text-right", children: _jsx("span", { className: "sr-only", children: "Actions" }) })] }) }), _jsxs("tbody", { ...cardRowGroup, children: [loading && pages.length === 0 && _jsx(LoadingRows, { columns: columnCount }), !loading && error && (_jsx("tr", { children: _jsxs("td", { colSpan: columnCount, className: "px-3 py-12 text-center", children: [_jsx("div", { className: "mb-2 text-sm font-medium text-[var(--txt)]", children: error }), _jsx("button", { onClick: () => setRefreshToken((t) => t + 1), className: "text-primary text-sm hover:underline", children: "Try again" })] }) })), !loading && !error && pages.length === 0 && (_jsx(EmptyRow, { columns: columnCount, filtersActive: filtersAreActive, onClear: clearFilters, onNewPage: () => onNavigate('/pages/new') })), !loading && !error && (_jsx(VirtualTablePadding, { height: listWindow.paddingTop, columns: columnCount })), !loading &&
|
|
470
499
|
!error &&
|
|
471
500
|
listWindow.rows.map((row) => {
|
|
472
501
|
const entry = tableRows[row.index];
|
|
@@ -523,7 +552,7 @@ function FilterSelect({ label, value, onChange, options, }) {
|
|
|
523
552
|
return (_jsxs("label", { className: "inline-flex items-center gap-1.5 text-sm text-[var(--txt)]", children: [_jsxs("span", { className: "text-[var(--sub)]", children: [label, ":"] }), _jsx("select", { value: value, onChange: (e) => onChange(e.target.value), className: "focus:border-primary focus:ring-primary/30 rounded-lg border border-[var(--bdr)] bg-[var(--card)] px-2.5 py-1.5 text-sm text-[var(--txt)] shadow-sm focus:ring-2 focus:outline-none", children: options.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) })] }));
|
|
524
553
|
}
|
|
525
554
|
function GroupBlock({ showHeader, label, color, count, columns, children, }) {
|
|
526
|
-
return (_jsxs(_Fragment, { children: [showHeader && (_jsx("tr", { className: "bg-muted/30 border-b border-[var(--bdr)]", children: _jsx("td", { colSpan: columns, className: "px-3 py-2", children: _jsxs("span", { className: "inline-flex items-center gap-2 text-xs font-medium tracking-wider text-[var(--txt)] uppercase", children: [color && _jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(color)}` }), label, _jsx("span", { className: "text-[var(--sub)] tabular-nums", children: count })] }) }) })), children] }));
|
|
555
|
+
return (_jsxs(_Fragment, { children: [showHeader && (_jsx("tr", { ...cardRow, className: "bg-muted/30 border-b border-[var(--bdr)]", children: _jsx("td", { ...cardCell(), colSpan: columns, className: "px-3 py-2", children: _jsxs("span", { className: "inline-flex items-center gap-2 text-xs font-medium tracking-wider text-[var(--txt)] uppercase", children: [color && _jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(color)}` }), label, _jsx("span", { className: "text-[var(--sub)] tabular-nums", children: count })] }) }) })), children] }));
|
|
527
556
|
}
|
|
528
557
|
function dotFor(color) {
|
|
529
558
|
const map = {
|
|
@@ -543,7 +572,7 @@ function TagMenu({ label, tags, onPick, }) {
|
|
|
543
572
|
return (_jsxs(DropdownMenu.Root, { children: [_jsx(DropdownMenu.Trigger, { asChild: true, children: _jsxs("button", { type: "button", className: "inline-flex items-center gap-1 rounded-md px-2 py-1 text-sm text-[var(--txt)] transition-colors hover:bg-[var(--acc-l)]", children: [label, _jsx(ChevronDown, { className: "h-3 w-3", "aria-hidden": true })] }) }), _jsx(DropdownMenu.Portal, { container: adminPortalContainer(), children: _jsx(DropdownMenu.Content, { align: "start", sideOffset: 4, className: "bg-popover z-50 max-h-64 w-44 overflow-auto rounded-lg border border-[var(--bdr)] p-1 shadow-md", children: tags.length === 0 ? (_jsx("div", { className: "px-2 py-1.5 text-xs text-[var(--sub)]", children: "No tags yet" })) : (tags.map((t) => (_jsxs(DropdownMenu.Item, { onSelect: () => onPick(t.slug), className: "focus:bg-accent flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm text-[var(--txt)] outline-none", children: [_jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(t.color ?? 'gray')}` }), t.name] }, t.slug)))) }) })] }));
|
|
544
573
|
}
|
|
545
574
|
function PageRow({ page, selected, showTags, showAuthor, showSeo, resolveTag, onSelect, onOpen, onDuplicate, onDelete, }) {
|
|
546
|
-
return (_jsxs("tr", { className: `group border-b border-[var(--bdr)] transition-colors last:border-b-0 hover:bg-[var(--acc-l)] ${selected ? 'bg-[var(--acc-l)]' : ''}`, children: [_jsx("td", { className: "px-3 py-3", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", "aria-label": `Select "${page.title}"`, checked: selected, onChange: onSelect, className: "accent-primary rounded border-[var(--bdr)]" }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs("button", { type: "button", onClick: onOpen, className: "block w-full min-w-0 text-left", children: [_jsx("span", { className: "block truncate text-sm font-medium text-[var(--txt)] group-hover:text-[var(--acc)]", children: page.title }), _jsx("span", { className: "block truncate text-xs text-[var(--sub)]", children: page.path })] }) }), showTags && (_jsx("td", { className: "px-3 py-3", children: _jsx(PageTagsCell, { tagSlugs: page.tags, primaryTagId: page.primaryTagId, resolve: resolveTag }) })), showAuthor && (_jsx("td", { className: "px-3 py-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(AuthorAvatar, { name: page.authorName, size: 28 }), _jsx("span", { className: "truncate text-sm text-[var(--txt)]", children: page.authorName })] }) })), _jsx("td", { className: "px-3 py-3", children: _jsx(PostStatusBadge, { status: page.status }) }), _jsx("td", { className: "px-3 py-3 text-sm text-[var(--sub)] tabular-nums", children: formatDateShort(page.lastModified) }), showSeo && (_jsx("td", { className: "px-3 py-3", children: _jsx(SeoScoreIndicator, { score: page.seoScore }) })), _jsx("td", { className: "px-3 py-3", children: _jsxs(RowActions, { children: [_jsx(RowActionButton, { "aria-label": `Edit "${page.title}"`, title: "Edit", onClick: onOpen, children: _jsx(PenLine, { size: 13, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Duplicate "${page.title}"`, title: "Duplicate", onClick: onDuplicate, children: _jsx(Copy, { size: 12, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Delete "${page.title}"`, title: page.isHomepage ? 'The homepage cannot be deleted' : 'Delete', danger: true, disabled: page.isHomepage, onClick: onDelete, children: _jsx(Trash2, { size: 12, "aria-hidden": true }) })] }) })] }));
|
|
575
|
+
return (_jsxs("tr", { ...cardRow, "data-state": selected ? 'selected' : undefined, className: `group border-b border-[var(--bdr)] transition-colors last:border-b-0 hover:bg-[var(--acc-l)] ${selected ? 'bg-[var(--acc-l)]' : ''}`, children: [_jsx("td", { ...cardCell({ role: 'check' }), className: "px-3 py-3", onClick: (e) => e.stopPropagation(), children: _jsx("label", { className: "inline-flex cursor-pointer", children: _jsx("input", { type: "checkbox", "aria-label": `Select "${page.title}"`, checked: selected, onChange: onSelect, className: "accent-primary rounded border-[var(--bdr)]" }) }) }), _jsx("td", { ...cardCell({ role: 'title' }), className: "px-3 py-3", children: _jsxs("button", { type: "button", onClick: onOpen, className: "block w-full min-w-0 text-left", children: [_jsx("span", { className: "block truncate text-sm font-medium text-[var(--txt)] group-hover:text-[var(--acc)]", children: page.title }), _jsx("span", { className: "block truncate text-xs text-[var(--sub)]", children: page.path })] }) }), showTags && (_jsx("td", { ...cardCell({ label: 'Tags' }), className: "px-3 py-3", children: _jsx(PageTagsCell, { tagSlugs: page.tags, primaryTagId: page.primaryTagId, resolve: resolveTag }) })), showAuthor && (_jsx("td", { ...cardCell({ label: 'Author' }), className: "px-3 py-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(AuthorAvatar, { name: page.authorName, size: 28 }), _jsx("span", { className: "truncate text-sm text-[var(--txt)]", children: page.authorName })] }) })), _jsx("td", { ...cardCell({ label: 'Status' }), className: "px-3 py-3", children: _jsx(PostStatusBadge, { status: page.status }) }), _jsx("td", { ...cardCell({ label: 'Last Modified' }), className: "px-3 py-3 text-sm text-[var(--sub)] tabular-nums", children: formatDateShort(page.lastModified) }), showSeo && (_jsx("td", { ...cardCell({ label: 'SEO' }), className: "px-3 py-3", children: _jsx(SeoScoreIndicator, { score: page.seoScore }) })), _jsx("td", { ...cardCell({ role: 'actions' }), className: "px-3 py-3", children: _jsxs(RowActions, { children: [_jsx(RowActionButton, { "aria-label": `Edit "${page.title}"`, title: "Edit", onClick: onOpen, children: _jsx(PenLine, { size: 13, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Duplicate "${page.title}"`, title: "Duplicate", onClick: onDuplicate, children: _jsx(Copy, { size: 12, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Delete "${page.title}"`, title: page.isHomepage ? 'The homepage cannot be deleted' : 'Delete', danger: true, disabled: page.isHomepage, onClick: onDelete, children: _jsx(Trash2, { size: 12, "aria-hidden": true }) })] }) })] }));
|
|
547
576
|
}
|
|
548
577
|
function LoadingRows({ columns }) {
|
|
549
578
|
return (_jsx(_Fragment, { children: Array.from({ length: 8 }).map((_, i) => (_jsx("tr", { className: "border-b border-[var(--bdr)] last:border-b-0", children: Array.from({ length: columns }).map((__, j) => (_jsx("td", { className: "px-3 py-3", children: _jsx("div", { className: "bg-muted h-4 w-full animate-pulse rounded" }) }, j))) }, i))) }));
|