@prenta/admin 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/__tests__/components/batch-ai-actions.test.d.ts +2 -0
  3. package/dist/__tests__/components/batch-ai-actions.test.d.ts.map +1 -0
  4. package/dist/__tests__/components/batch-ai-actions.test.js +42 -0
  5. package/dist/__tests__/components/batch-ai-actions.test.js.map +1 -0
  6. package/dist/__tests__/components/document-locale-switcher.test.js +17 -0
  7. package/dist/__tests__/components/document-locale-switcher.test.js.map +1 -1
  8. package/dist/components/BatchAiActions.d.ts +15 -0
  9. package/dist/components/BatchAiActions.d.ts.map +1 -0
  10. package/dist/components/BatchAiActions.js +47 -0
  11. package/dist/components/BatchAiActions.js.map +1 -0
  12. package/dist/components/DocumentLocaleSwitcher.d.ts.map +1 -1
  13. package/dist/components/DocumentLocaleSwitcher.js +30 -8
  14. package/dist/components/DocumentLocaleSwitcher.js.map +1 -1
  15. package/dist/components/ui/Badge.d.ts +1 -1
  16. package/dist/components/ui/Button.d.ts +1 -1
  17. package/dist/views/CollectionList.d.ts.map +1 -1
  18. package/dist/views/CollectionList.js +2 -1
  19. package/dist/views/CollectionList.js.map +1 -1
  20. package/dist/views/Pages/PagesListView.d.ts.map +1 -1
  21. package/dist/views/Pages/PagesListView.js +4 -3
  22. package/dist/views/Pages/PagesListView.js.map +1 -1
  23. package/dist/views/Posts/PostsListView.d.ts.map +1 -1
  24. package/dist/views/Posts/PostsListView.js +4 -3
  25. package/dist/views/Posts/PostsListView.js.map +1 -1
  26. package/package.json +4 -4
  27. package/src/__tests__/components/batch-ai-actions.test.tsx +52 -0
  28. package/src/__tests__/components/document-locale-switcher.test.tsx +26 -0
  29. package/src/components/BatchAiActions.tsx +83 -0
  30. package/src/components/DocumentLocaleSwitcher.tsx +34 -0
  31. package/src/views/CollectionList.tsx +6 -0
  32. package/src/views/Pages/PagesListView.tsx +12 -0
  33. package/src/views/Posts/PostsListView.tsx +8 -0
@@ -19,6 +19,7 @@ import {
19
19
  X,
20
20
  } from 'lucide-react'
21
21
  import { toast } from 'sonner'
22
+ import { BatchAiActions } from '../../components/BatchAiActions.js'
22
23
  import { useVirtualWindow, VirtualTablePadding } from '../../components/virtual-window.js'
23
24
  import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
24
25
  import { adminPortalContainer } from '../../lib/portal-container.js'
@@ -667,6 +668,8 @@ export function PagesListView({ onNavigate }: PagesListViewProps) {
667
668
  onPublish={() => runBulkStatus('PUBLISHED')}
668
669
  onDraft={() => runBulkStatus('DRAFT')}
669
670
  onAddTag={(slug) => runBulkTag(slug, 'add')}
671
+ documents={selectedPages.map((page) => ({ collection: 'pages', id: page.id }))}
672
+ onQueued={() => setSelected(new Set())}
670
673
  onRemoveTag={(slug) => runBulkTag(slug, 'remove')}
671
674
  onDelete={() => setPendingDelete(true)}
672
675
  deletableCount={deletablePages.length}
@@ -1154,6 +1157,8 @@ function BulkActionBar({
1154
1157
  onAddTag,
1155
1158
  onRemoveTag,
1156
1159
  onDelete,
1160
+ documents,
1161
+ onQueued,
1157
1162
  }: {
1158
1163
  count: number
1159
1164
  tags: PageTag[]
@@ -1165,6 +1170,8 @@ function BulkActionBar({
1165
1170
  onAddTag: (slug: string) => void
1166
1171
  onRemoveTag: (slug: string) => void
1167
1172
  onDelete: () => void
1173
+ documents: Array<{ collection: string; id: string }>
1174
+ onQueued: () => void
1168
1175
  }) {
1169
1176
  return (
1170
1177
  <div className="border-primary/30 bg-primary/5 flex flex-wrap items-center gap-2 rounded-lg border px-4 py-2">
@@ -1186,6 +1193,11 @@ function BulkActionBar({
1186
1193
  </button>
1187
1194
  <TagMenu label="Add tag" tags={tags} onPick={onAddTag} />
1188
1195
  <TagMenu label="Remove tag" tags={tags} onPick={onRemoveTag} />
1196
+ <BatchAiActions
1197
+ documents={documents}
1198
+ onQueued={onQueued}
1199
+ buttonClassName="rounded-md px-2 py-1 text-sm text-[var(--txt)] transition-colors hover:bg-[var(--acc-l)]"
1200
+ />
1189
1201
  <button
1190
1202
  type="button"
1191
1203
  onClick={onDelete}
@@ -16,6 +16,7 @@ import {
16
16
  X,
17
17
  } from 'lucide-react'
18
18
  import { toast } from 'sonner'
19
+ import { BatchAiActions } from '../../components/BatchAiActions.js'
19
20
  import { useVirtualWindow, VirtualTablePadding } from '../../components/virtual-window.js'
20
21
  import {
21
22
  bulkDeletePosts,
@@ -345,6 +346,8 @@ export function PostsListView({ onNavigate }: PostsListViewProps) {
345
346
  onPublish={() => runBulkUpdate('PUBLISHED')}
346
347
  onDraft={() => runBulkUpdate('DRAFT')}
347
348
  onDelete={() => setPendingBulk('delete')}
349
+ documents={selectedPosts.map((post) => ({ collection: post.postTypeId, id: post.id }))}
350
+ onQueued={() => setSelected(new Set())}
348
351
  />
349
352
  )}
350
353
 
@@ -746,12 +749,16 @@ function BulkActionBar({
746
749
  onPublish,
747
750
  onDraft,
748
751
  onDelete,
752
+ documents,
753
+ onQueued,
749
754
  }: {
750
755
  count: number
751
756
  onClear: () => void
752
757
  onPublish: () => void
753
758
  onDraft: () => void
754
759
  onDelete: () => void
760
+ documents: Array<{ collection: string; id: string }>
761
+ onQueued: () => void
755
762
  }) {
756
763
  return (
757
764
  <div className="border-primary/30 bg-primary/5 flex items-center gap-2 rounded-lg border px-4 py-2">
@@ -771,6 +778,7 @@ function BulkActionBar({
771
778
  >
772
779
  Move to draft
773
780
  </button>
781
+ <BatchAiActions documents={documents} onQueued={onQueued} />
774
782
  <button
775
783
  type="button"
776
784
  onClick={onDelete}