convex-cms 0.0.5-alpha.4 → 0.0.5-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/admin/src/components/Sidebar.tsx +150 -58
- package/admin/src/components/ui/collapsible.tsx +7 -0
- package/admin/src/embed/components/EmbedSidebar.tsx +163 -68
- package/admin-dist/nitro.json +1 -1
- package/admin-dist/public/assets/{CmsEmptyState-CkqBIab3.js → CmsEmptyState-Do_erIgn.js} +1 -1
- package/admin-dist/public/assets/{CmsPageHeader-CUtl5MMG.js → CmsPageHeader-qDwPGi48.js} +1 -1
- package/admin-dist/public/assets/{CmsStatusBadge-CUYFgEe-.js → CmsStatusBadge-Dd9uToHE.js} +1 -1
- package/admin-dist/public/assets/{CmsSurface-CsJfAVa3.js → CmsSurface-DBy5Lumx.js} +1 -1
- package/admin-dist/public/assets/{CmsToolbar-CnfbcxeP.js → CmsToolbar-D1-Y-7SK.js} +1 -1
- package/admin-dist/public/assets/ContentEntryEditor-CWBiIx52.js +4 -0
- package/admin-dist/public/assets/{TaxonomyFilter-CWCxC5HZ.js → TaxonomyFilter-CdYQawxb.js} +1 -1
- package/admin-dist/public/assets/_contentTypeId-D9VMP6Gs.js +1 -0
- package/admin-dist/public/assets/_entryId-2FlCfqE7.js +1 -0
- package/admin-dist/public/assets/{alert-CF1BSzGR.js → alert-GxZx0y5c.js} +1 -1
- package/admin-dist/public/assets/{badge-CmuOIVKp.js → badge-BAlGIjop.js} +1 -1
- package/admin-dist/public/assets/{circle-check-big-BKDVG6DU.js → circle-check-big-CpLxAvEj.js} +1 -1
- package/admin-dist/public/assets/{command-XJxnF2Sd.js → command-di7XCqcv.js} +1 -1
- package/admin-dist/public/assets/content-D8zELsDG.js +1 -0
- package/admin-dist/public/assets/{content-types-CrNEm8Hf.js → content-types-BmzD0krT.js} +2 -2
- package/admin-dist/public/assets/globals-BvFfH-v9.css +1 -0
- package/admin-dist/public/assets/{index-C7xOwudI.js → index-zqfj4T_v.js} +1 -1
- package/admin-dist/public/assets/{label-CHCnXeBk.js → label-B6PPtKR5.js} +1 -1
- package/admin-dist/public/assets/{link-2-Bb34judH.js → link-2-W2fVnVOf.js} +1 -1
- package/admin-dist/public/assets/{list-9Pzt48ld.js → list-F8O0lZXC.js} +1 -1
- package/admin-dist/public/assets/main-dZT72bAG.js +97 -0
- package/admin-dist/public/assets/media-CETueFbV.js +1 -0
- package/admin-dist/public/assets/new._contentTypeId-BV2-TyyR.js +1 -0
- package/admin-dist/public/assets/{plus-Ceef7DHk.js → plus-AABQIF0N.js} +1 -1
- package/admin-dist/public/assets/{rotate-ccw-7k7-4VUq.js → rotate-ccw-BZpZtw0N.js} +1 -1
- package/admin-dist/public/assets/{scroll-area-CC6wujnp.js → scroll-area-CDfk-zrz.js} +1 -1
- package/admin-dist/public/assets/{search-DwoUV2pv.js → search-BvgYr-c9.js} +1 -1
- package/admin-dist/public/assets/{select-hOZTp8aC.js → select-BuiHcMzS.js} +1 -1
- package/admin-dist/public/assets/settings-DBxbYDvn.js +1 -0
- package/admin-dist/public/assets/{switch-jX2pDaNU.js → switch-DiJvolcs.js} +1 -1
- package/admin-dist/public/assets/tabs-Cgz6G_Xy.js +1 -0
- package/admin-dist/public/assets/{tanstack-adapter-B-Glm4kH.js → tanstack-adapter-BknsSgra.js} +1 -1
- package/admin-dist/public/assets/taxonomies-DOErsLl5.js +1 -0
- package/admin-dist/public/assets/{textarea-B6SfBmr0.js → textarea-CgggMxUX.js} +1 -1
- package/admin-dist/public/assets/{trash-BOCnIznD.js → trash-BU4ANuaW.js} +1 -1
- package/admin-dist/public/assets/{triangle-alert-CXFIO_Gu.js → triangle-alert-lvCbwp0s.js} +1 -1
- package/admin-dist/public/assets/{useBreadcrumbLabel-_6qBagc3.js → useBreadcrumbLabel-D00rvqjw.js} +1 -1
- package/admin-dist/public/assets/{usePermissions-M1ijZ7a6.js → usePermissions-D7tQowaF.js} +1 -1
- package/admin-dist/server/_chunks/_libs/@radix-ui/react-collapsible.mjs +144 -0
- package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +21 -21
- package/admin-dist/server/_libs/lucide-react.mjs +131 -124
- package/admin-dist/server/_ssr/{CmsButton-DOiTVKQq.mjs → CmsButton-DbzfJru_.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsEmptyState-fbnGt3LD.mjs → CmsEmptyState-CuvcXr3Z.mjs} +3 -3
- package/admin-dist/server/_ssr/{CmsPageHeader-DHRrdOZa.mjs → CmsPageHeader-ClNPU7Up.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsStatusBadge-s7obWbKZ.mjs → CmsStatusBadge-CojMbrY7.mjs} +2 -2
- package/admin-dist/server/_ssr/{CmsSurface-rFoYjb62.mjs → CmsSurface-Dcv440rp.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsToolbar-zTE45z2q.mjs → CmsToolbar-BKv1nL6u.mjs} +2 -2
- package/admin-dist/server/_ssr/{ContentEntryEditor-BLoEjT_m.mjs → ContentEntryEditor-weiXSBdZ.mjs} +35 -51
- package/admin-dist/server/_ssr/{TaxonomyFilter-XAtaJC2z.mjs → TaxonomyFilter-BPQ57Mwk.mjs} +7 -7
- package/admin-dist/server/_ssr/{_contentTypeId-Csl4822C.mjs → _contentTypeId-DyyauLOs.mjs} +24 -23
- package/admin-dist/server/_ssr/{_entryId-D8alLFBx.mjs → _entryId-9Cafwxmw.mjs} +22 -21
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dk-FIYPN.mjs +4 -0
- package/admin-dist/server/_ssr/{command-C0Di14--.mjs → command-CEf8YBxY.mjs} +1 -1
- package/admin-dist/server/_ssr/{content-CT-FPsmV.mjs → content-ZFWVzO25.mjs} +20 -19
- package/admin-dist/server/_ssr/{content-types-C8cBFdzE.mjs → content-types-D25lUE-j.mjs} +18 -17
- package/admin-dist/server/_ssr/{index-BJtcrEc-.mjs → index-BlSIlH4Z.mjs} +10 -9
- package/admin-dist/server/_ssr/index.mjs +2 -2
- package/admin-dist/server/_ssr/{label-qn2Afwl4.mjs → label-PblVvdRv.mjs} +1 -1
- package/admin-dist/server/_ssr/{media-qv5IAsMZ.mjs → media-CD2_NUMw.mjs} +683 -314
- package/admin-dist/server/_ssr/{new._contentTypeId-DdGyrhqs.mjs → new._contentTypeId-dmZy6PBX.mjs} +20 -19
- package/admin-dist/server/_ssr/{router-nSVkxb6Y.mjs → router-x6Ab8T4s.mjs} +109 -43
- package/admin-dist/server/_ssr/{scroll-area-BCinP455.mjs → scroll-area-BH_1K-WT.mjs} +1 -1
- package/admin-dist/server/_ssr/{select-BKQlQScw.mjs → select-CrfEkFJw.mjs} +2 -2
- package/admin-dist/server/_ssr/{settings-BCr2KQlk.mjs → settings-DVdsoWoh.mjs} +158 -105
- package/admin-dist/server/_ssr/{switch-BaOi42fE.mjs → switch-DX_X8vZl.mjs} +1 -1
- package/admin-dist/server/_ssr/{tabs-DYXEi9kq.mjs → tabs-4FWM0sn8.mjs} +3 -3
- package/admin-dist/server/_ssr/{tanstack-adapter-Bsz8kha-.mjs → tanstack-adapter-D3ZcKtbY.mjs} +1 -1
- package/admin-dist/server/_ssr/{taxonomies-CueMHTbE.mjs → taxonomies-BHFfO9Yr.mjs} +21 -20
- package/admin-dist/server/_ssr/{textarea-CI0Jqx2x.mjs → textarea-CZVaroMc.mjs} +1 -1
- package/admin-dist/server/_ssr/{trash-DE6W8GoX.mjs → trash-9tUB2KwI.mjs} +14 -13
- package/admin-dist/server/_ssr/{useBreadcrumbLabel-B5Yi72lM.mjs → useBreadcrumbLabel-DVme3DSb.mjs} +1 -1
- package/admin-dist/server/_ssr/{usePermissions-C3nZ-Izm.mjs → usePermissions-zAQj-ruE.mjs} +1 -1
- package/admin-dist/server/index.mjs +188 -188
- package/dist/cli/commands/init.d.ts +12 -2
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +136 -138
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates/admin.d.ts +10 -0
- package/dist/cli/templates/admin.d.ts.map +1 -0
- package/dist/cli/templates/admin.js +212 -0
- package/dist/cli/templates/admin.js.map +1 -0
- package/dist/cli/templates/cmsClient.d.ts +7 -0
- package/dist/cli/templates/cmsClient.d.ts.map +1 -0
- package/dist/cli/templates/cmsClient.js +36 -0
- package/dist/cli/templates/cmsClient.js.map +1 -0
- package/dist/cli/templates/cmsConfig.d.ts +7 -0
- package/dist/cli/templates/cmsConfig.d.ts.map +1 -0
- package/dist/cli/templates/cmsConfig.js +86 -0
- package/dist/cli/templates/cmsConfig.js.map +1 -0
- package/dist/cli/templates/index.d.ts +10 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +10 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/templates/schemas/blog.d.ts +8 -0
- package/dist/cli/templates/schemas/blog.d.ts.map +1 -0
- package/dist/cli/templates/schemas/blog.js +103 -0
- package/dist/cli/templates/schemas/blog.js.map +1 -0
- package/dist/cli/templates/schemas/docs.d.ts +8 -0
- package/dist/cli/templates/schemas/docs.d.ts.map +1 -0
- package/dist/cli/templates/schemas/docs.js +110 -0
- package/dist/cli/templates/schemas/docs.js.map +1 -0
- package/dist/cli/templates/schemas/index.d.ts +11 -0
- package/dist/cli/templates/schemas/index.d.ts.map +1 -0
- package/dist/cli/templates/schemas/index.js +13 -0
- package/dist/cli/templates/schemas/index.js.map +1 -0
- package/dist/cli/templates/schemas/landing.d.ts +8 -0
- package/dist/cli/templates/schemas/landing.d.ts.map +1 -0
- package/dist/cli/templates/schemas/landing.js +135 -0
- package/dist/cli/templates/schemas/landing.js.map +1 -0
- package/dist/cli/utils/fileUtils.d.ts +21 -0
- package/dist/cli/utils/fileUtils.d.ts.map +1 -0
- package/dist/cli/utils/fileUtils.js +95 -0
- package/dist/cli/utils/fileUtils.js.map +1 -0
- package/dist/cli/utils/prompts.d.ts +25 -0
- package/dist/cli/utils/prompts.d.ts.map +1 -0
- package/dist/cli/utils/prompts.js +87 -0
- package/dist/cli/utils/prompts.js.map +1 -0
- package/dist/client/agentTools.d.ts +1 -1427
- package/dist/client/agentTools.d.ts.map +1 -1
- package/dist/component/contentTypeMutations.d.ts +1 -1
- package/dist/test.d.ts +5 -0
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +0 -1
- package/dist/test.js.map +1 -1
- package/package.json +28 -28
- package/admin/README.md +0 -99
- package/admin-dist/public/assets/ContentEntryEditor-BU220CCy.js +0 -4
- package/admin-dist/public/assets/_contentTypeId-DK8cskRt.js +0 -1
- package/admin-dist/public/assets/_entryId-CuVMExbb.js +0 -1
- package/admin-dist/public/assets/content-QBUxdxbS.js +0 -1
- package/admin-dist/public/assets/globals-B7Wsfh_v.css +0 -1
- package/admin-dist/public/assets/main-CjQ2VI9L.js +0 -97
- package/admin-dist/public/assets/media-Dc5PWt2Q.js +0 -1
- package/admin-dist/public/assets/new._contentTypeId-C_I4YxIa.js +0 -1
- package/admin-dist/public/assets/settings-t2PbCZh4.js +0 -1
- package/admin-dist/public/assets/tabs-q4EbZk7c.js +0 -1
- package/admin-dist/public/assets/taxonomies-kyk5P4ZW.js +0 -1
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BffZedId.mjs +0 -4
package/admin-dist/server/_ssr/{ContentEntryEditor-BLoEjT_m.mjs → ContentEntryEditor-weiXSBdZ.mjs}
RENAMED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { L as Label } from "./label-
|
|
4
|
-
import { c as CmsDialog, I as Input, b as CmsConfirmDialog, D as Dialog, d as DialogContent, e as DialogHeader, f as DialogTitle, C as CmsEmptyState, g as DialogFooter, a as Checkbox } from "./CmsEmptyState-
|
|
5
|
-
import { S as Switch } from "./switch-
|
|
6
|
-
import { T as Textarea } from "./textarea-
|
|
2
|
+
import { h as useSettingsConfig, a as api, c as cn, P as Popover, k as PopoverTrigger, l as PopoverContent, B as Button, r as buttonVariants } from "./router-x6Ab8T4s.mjs";
|
|
3
|
+
import { L as Label } from "./label-PblVvdRv.mjs";
|
|
4
|
+
import { c as CmsDialog, I as Input, b as CmsConfirmDialog, D as Dialog, d as DialogContent, e as DialogHeader, f as DialogTitle, C as CmsEmptyState, g as DialogFooter, a as Checkbox } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
5
|
+
import { S as Switch } from "./switch-DX_X8vZl.mjs";
|
|
6
|
+
import { T as Textarea } from "./textarea-CZVaroMc.mjs";
|
|
7
7
|
import { R as Root } from "../_chunks/_libs/@radix-ui/react-separator.mjs";
|
|
8
|
-
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-
|
|
9
|
-
import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-
|
|
10
|
-
import { C as CmsButton, B as Badge } from "./CmsButton-
|
|
11
|
-
import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-
|
|
12
|
-
import { C as CmsStatusBadge } from "./CmsStatusBadge-
|
|
13
|
-
import { S as ScrollArea } from "./scroll-area-
|
|
8
|
+
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-CrfEkFJw.mjs";
|
|
9
|
+
import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-4FWM0sn8.mjs";
|
|
10
|
+
import { C as CmsButton, B as Badge } from "./CmsButton-DbzfJru_.mjs";
|
|
11
|
+
import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-CEf8YBxY.mjs";
|
|
12
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CojMbrY7.mjs";
|
|
13
|
+
import { S as ScrollArea } from "./scroll-area-BH_1K-WT.mjs";
|
|
14
14
|
import { d as useMutation, u as useQuery } from "../_libs/convex.mjs";
|
|
15
|
-
import { L as LoaderCircle,
|
|
15
|
+
import { L as LoaderCircle, ak as CircleCheckBig, g as CircleAlert, an as RefreshCw, ao as History, t as Clock, X, d as ChevronDown, V as Tag, Q as Plus, a9 as Link2, J as FileText, _ as Check, W as Pencil, I as Image, ai as FolderOpen, a4 as Upload, N as Search, u as Calendar$1, ap as GitCompare, aq as ArrowRight, O as TriangleAlert, f as ChevronRight, aa as File, ab as Music, ac as Video, a2 as ChevronLeft, ar as Bold, as as Italic, at as Heading2, s as Link, af as List, au as Quote, c as Code, av as Minus } from "../_libs/lucide-react.mjs";
|
|
16
16
|
import { g as getDefaultClassNames, D as DayPicker } from "../_libs/react-day-picker.mjs";
|
|
17
17
|
function FieldWrapper({
|
|
18
18
|
field,
|
|
@@ -1008,11 +1008,11 @@ function MediaField({
|
|
|
1008
1008
|
const [typeFilter, setTypeFilter] = reactExports.useState("");
|
|
1009
1009
|
const allowedMimeTypes = field.options?.allowedMimeTypes ?? [];
|
|
1010
1010
|
const selectedAsset = useQuery(
|
|
1011
|
-
api.
|
|
1011
|
+
api.admin.getMediaAsset,
|
|
1012
1012
|
value ? { id: value } : "skip"
|
|
1013
1013
|
);
|
|
1014
1014
|
const assetsResult = useQuery(
|
|
1015
|
-
api.
|
|
1015
|
+
api.admin.listMediaAssets,
|
|
1016
1016
|
showPicker ? {
|
|
1017
1017
|
type: typeFilter ? typeFilter : void 0,
|
|
1018
1018
|
search: searchQuery || void 0,
|
|
@@ -1214,8 +1214,8 @@ function MediaField({
|
|
|
1214
1214
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsContent, { value: "upload", className: "mt-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1215
1215
|
UploadDropzone,
|
|
1216
1216
|
{
|
|
1217
|
-
generateUploadUrl: api.
|
|
1218
|
-
createAsset: api.
|
|
1217
|
+
generateUploadUrl: api.admin.generateUploadUrl,
|
|
1218
|
+
createAsset: api.admin.createMediaAsset,
|
|
1219
1219
|
onUploadComplete: handleUploadComplete,
|
|
1220
1220
|
allowedMimeTypes,
|
|
1221
1221
|
maxFileSize: field.options?.maxFileSize,
|
|
@@ -1258,7 +1258,7 @@ function ReferenceField({
|
|
|
1258
1258
|
if (!value) return [];
|
|
1259
1259
|
return Array.isArray(value) ? value : [value];
|
|
1260
1260
|
}, [value]);
|
|
1261
|
-
const contentTypes = useQuery(api.
|
|
1261
|
+
const contentTypes = useQuery(api.admin.listContentTypes, {
|
|
1262
1262
|
isActive: true,
|
|
1263
1263
|
includeEntryCounts: false
|
|
1264
1264
|
});
|
|
@@ -1270,11 +1270,11 @@ function ReferenceField({
|
|
|
1270
1270
|
);
|
|
1271
1271
|
}, [contentTypes?.page, allowedContentTypes]);
|
|
1272
1272
|
const selectedEntry = useQuery(
|
|
1273
|
-
api.
|
|
1273
|
+
api.admin.getEntry,
|
|
1274
1274
|
selectedIds.length === 1 ? { id: selectedIds[0] } : "skip"
|
|
1275
1275
|
);
|
|
1276
1276
|
const selectedEntries = useQuery(
|
|
1277
|
-
api.
|
|
1277
|
+
api.admin.listEntries,
|
|
1278
1278
|
selectedIds.length > 1 ? {
|
|
1279
1279
|
paginationOpts: { numItems: 100, cursor: null }
|
|
1280
1280
|
} : "skip"
|
|
@@ -1284,7 +1284,7 @@ function ReferenceField({
|
|
|
1284
1284
|
return selectedEntries.page.filter((entry) => selectedIds.includes(entry._id));
|
|
1285
1285
|
}, [selectedEntries?.page, selectedIds]);
|
|
1286
1286
|
const entriesResult = useQuery(
|
|
1287
|
-
api.
|
|
1287
|
+
api.admin.listEntries,
|
|
1288
1288
|
showPicker ? {
|
|
1289
1289
|
contentTypeId: contentTypeFilter || void 0,
|
|
1290
1290
|
search: searchQuery || void 0,
|
|
@@ -1524,7 +1524,7 @@ function TagField({
|
|
|
1524
1524
|
const suggestionsRef = reactExports.useRef(null);
|
|
1525
1525
|
const containerRef = reactExports.useRef(null);
|
|
1526
1526
|
const suggestionsResult = useQuery(
|
|
1527
|
-
api.
|
|
1527
|
+
api.admin.suggestTerms,
|
|
1528
1528
|
taxonomyId ? {
|
|
1529
1529
|
taxonomyId: asTaxonomyId(taxonomyId),
|
|
1530
1530
|
query: inputValue,
|
|
@@ -1534,7 +1534,7 @@ function TagField({
|
|
|
1534
1534
|
);
|
|
1535
1535
|
const suggestions = suggestionsResult ?? [];
|
|
1536
1536
|
const selectedTermsResult = useQuery(
|
|
1537
|
-
api.
|
|
1537
|
+
api.admin.listTerms,
|
|
1538
1538
|
taxonomyId && value && value.length > 0 ? {
|
|
1539
1539
|
taxonomyId: asTaxonomyId(taxonomyId),
|
|
1540
1540
|
paginationOpts: { numItems: 100, cursor: null }
|
|
@@ -1548,7 +1548,7 @@ function TagField({
|
|
|
1548
1548
|
}
|
|
1549
1549
|
}
|
|
1550
1550
|
}
|
|
1551
|
-
const createTermMutation = useMutation(api.
|
|
1551
|
+
const createTermMutation = useMutation(api.admin.createTerm);
|
|
1552
1552
|
reactExports.useEffect(() => {
|
|
1553
1553
|
function handleClickOutside(event) {
|
|
1554
1554
|
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
@@ -1810,7 +1810,7 @@ function CategoryField({
|
|
|
1810
1810
|
const [highlightedId, setHighlightedId] = reactExports.useState(null);
|
|
1811
1811
|
const containerRef = reactExports.useRef(null);
|
|
1812
1812
|
const hierarchyResult = useQuery(
|
|
1813
|
-
api.
|
|
1813
|
+
api.admin.getTermsHierarchy,
|
|
1814
1814
|
taxonomyId ? { taxonomyId: asTaxonomyId(taxonomyId) } : "skip"
|
|
1815
1815
|
);
|
|
1816
1816
|
const categoryTree = hierarchyResult ?? [];
|
|
@@ -2311,7 +2311,7 @@ function VersionCompare({
|
|
|
2311
2311
|
onClose,
|
|
2312
2312
|
onRollback
|
|
2313
2313
|
}) {
|
|
2314
|
-
const comparisonQuery = useQuery(api.
|
|
2314
|
+
const comparisonQuery = useQuery(api.admin.compareVersions, {
|
|
2315
2315
|
entryId,
|
|
2316
2316
|
fromVersionNumber: fromVersion,
|
|
2317
2317
|
toVersionNumber: toVersion
|
|
@@ -2536,11 +2536,11 @@ function VersionHistory({
|
|
|
2536
2536
|
const [isRollingBack, setIsRollingBack] = reactExports.useState(false);
|
|
2537
2537
|
const [rollbackError, setRollbackError] = reactExports.useState(null);
|
|
2538
2538
|
const [rollbackSuccess, setRollbackSuccess] = reactExports.useState(false);
|
|
2539
|
-
const versionsQuery = useQuery(api.
|
|
2539
|
+
const versionsQuery = useQuery(api.admin.getVersionHistory, {
|
|
2540
2540
|
entryId,
|
|
2541
2541
|
paginationOpts: { numItems: 50, cursor: null }
|
|
2542
2542
|
});
|
|
2543
|
-
const rollbackMutation = useMutation(api.
|
|
2543
|
+
const rollbackMutation = useMutation(api.admin.rollbackVersion);
|
|
2544
2544
|
const versions = versionsQuery?.page ?? [];
|
|
2545
2545
|
const isLoading = versionsQuery === void 0;
|
|
2546
2546
|
const handleCompare = reactExports.useCallback(
|
|
@@ -2935,14 +2935,14 @@ function ContentEntryEditor({
|
|
|
2935
2935
|
const autosaveTimerRef = reactExports.useRef(null);
|
|
2936
2936
|
const formDataRef = reactExports.useRef(formData);
|
|
2937
2937
|
formDataRef.current = formData;
|
|
2938
|
-
const createEntry = useMutation(api.
|
|
2939
|
-
const updateEntry = useMutation(api.
|
|
2940
|
-
const publishEntry = useMutation(api.
|
|
2941
|
-
const unpublishEntry = useMutation(api.
|
|
2942
|
-
const scheduleEntry = useMutation(api.
|
|
2943
|
-
const cancelScheduleEntry = useMutation(api.
|
|
2944
|
-
const deleteEntryMutation = useMutation(api.
|
|
2945
|
-
const duplicateEntryMutation = useMutation(api.
|
|
2938
|
+
const createEntry = useMutation(api.admin.createEntry);
|
|
2939
|
+
const updateEntry = useMutation(api.admin.updateEntry);
|
|
2940
|
+
const publishEntry = useMutation(api.admin.publishEntry);
|
|
2941
|
+
const unpublishEntry = useMutation(api.admin.unpublishEntry);
|
|
2942
|
+
const scheduleEntry = useMutation(api.admin.scheduleEntry);
|
|
2943
|
+
const cancelScheduleEntry = useMutation(api.admin.cancelScheduledEntry);
|
|
2944
|
+
const deleteEntryMutation = useMutation(api.admin.deleteEntry);
|
|
2945
|
+
const duplicateEntryMutation = useMutation(api.admin.duplicateEntry);
|
|
2946
2946
|
const [showScheduleModal, setShowScheduleModal] = reactExports.useState(false);
|
|
2947
2947
|
const [scheduleDateTime, setScheduleDateTime] = reactExports.useState(() => {
|
|
2948
2948
|
const tomorrow = /* @__PURE__ */ new Date();
|
|
@@ -3196,22 +3196,6 @@ function ContentEntryEditor({
|
|
|
3196
3196
|
setIsPublishing(false);
|
|
3197
3197
|
}
|
|
3198
3198
|
}, [entry, publishEntry, onSave]);
|
|
3199
|
-
reactExports.useCallback(async () => {
|
|
3200
|
-
if (!entry) return;
|
|
3201
|
-
setIsPublishing(true);
|
|
3202
|
-
setPublishError(null);
|
|
3203
|
-
try {
|
|
3204
|
-
const draftEntry = await unpublishEntry({
|
|
3205
|
-
id: entry._id
|
|
3206
|
-
});
|
|
3207
|
-
onSave?.(draftEntry);
|
|
3208
|
-
} catch (error) {
|
|
3209
|
-
const message = error instanceof Error ? error.message : "Failed to unpublish";
|
|
3210
|
-
setPublishError(message);
|
|
3211
|
-
} finally {
|
|
3212
|
-
setIsPublishing(false);
|
|
3213
|
-
}
|
|
3214
|
-
}, [entry, unpublishEntry, onSave]);
|
|
3215
3199
|
const handleSchedule = reactExports.useCallback(async () => {
|
|
3216
3200
|
if (!entry) return;
|
|
3217
3201
|
const publishAt = parseDateTimeLocal(scheduleDateTime);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { a as api, P as Popover,
|
|
3
|
-
import { C as CmsButton, B as Badge } from "./CmsButton-
|
|
4
|
-
import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-
|
|
5
|
-
import { a as Checkbox } from "./CmsEmptyState-
|
|
2
|
+
import { a as api, P as Popover, k as PopoverTrigger, c as cn, l as PopoverContent } from "./router-x6Ab8T4s.mjs";
|
|
3
|
+
import { C as CmsButton, B as Badge } from "./CmsButton-DbzfJru_.mjs";
|
|
4
|
+
import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-CEf8YBxY.mjs";
|
|
5
|
+
import { a as Checkbox } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
6
6
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
7
|
-
import { z as Tags, d as ChevronDown, X,
|
|
7
|
+
import { z as Tags, d as ChevronDown, X, _ as Check } from "../_libs/lucide-react.mjs";
|
|
8
8
|
function TaxonomyFilter({
|
|
9
9
|
selectedTermIds,
|
|
10
10
|
onChange,
|
|
@@ -15,7 +15,7 @@ function TaxonomyFilter({
|
|
|
15
15
|
}) {
|
|
16
16
|
const [open, setOpen] = reactExports.useState(false);
|
|
17
17
|
const [search, setSearch] = reactExports.useState("");
|
|
18
|
-
const taxonomiesResult = useQuery(api.
|
|
18
|
+
const taxonomiesResult = useQuery(api.admin.listTaxonomies, { isActive: true });
|
|
19
19
|
const taxonomies = taxonomiesResult?.page ?? [];
|
|
20
20
|
const activeTaxonomy = reactExports.useMemo(() => {
|
|
21
21
|
if (taxonomyId) {
|
|
@@ -25,7 +25,7 @@ function TaxonomyFilter({
|
|
|
25
25
|
}, [taxonomyId, taxonomies]);
|
|
26
26
|
const targetTaxonomyId = taxonomyId ?? taxonomies[0]?._id;
|
|
27
27
|
const termsResult = useQuery(
|
|
28
|
-
api.
|
|
28
|
+
api.admin.listTerms,
|
|
29
29
|
targetTaxonomyId ? {
|
|
30
30
|
taxonomyId: targetTaxonomyId,
|
|
31
31
|
paginationOpts: { numItems: 200, cursor: null }
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
2
|
import { d as useNavigate, L as Link } from "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { u as usePermissions } from "./usePermissions-
|
|
5
|
-
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-
|
|
6
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
7
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
8
|
-
import { C as CmsButton } from "./CmsButton-
|
|
9
|
-
import { C as CmsStatusBadge } from "./CmsStatusBadge-
|
|
10
|
-
import { C as CmsEmptyState, I as Input, b as CmsConfirmDialog } from "./CmsEmptyState-
|
|
11
|
-
import { T as TaxonomyFilter } from "./TaxonomyFilter-
|
|
12
|
-
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-
|
|
3
|
+
import { j as Route$1, a as api } from "./router-x6Ab8T4s.mjs";
|
|
4
|
+
import { u as usePermissions } from "./usePermissions-zAQj-ruE.mjs";
|
|
5
|
+
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-DVme3DSb.mjs";
|
|
6
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-ClNPU7Up.mjs";
|
|
7
|
+
import { C as CmsToolbar } from "./CmsToolbar-BKv1nL6u.mjs";
|
|
8
|
+
import { C as CmsButton } from "./CmsButton-DbzfJru_.mjs";
|
|
9
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CojMbrY7.mjs";
|
|
10
|
+
import { C as CmsEmptyState, I as Input, b as CmsConfirmDialog } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
11
|
+
import { T as TaxonomyFilter } from "./TaxonomyFilter-BPQ57Mwk.mjs";
|
|
12
|
+
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-CrfEkFJw.mjs";
|
|
13
13
|
import { d as useMutation, u as useQuery } from "../_libs/convex.mjs";
|
|
14
|
-
import { J as FileText, Q as Plus, N as Search,
|
|
14
|
+
import { J as FileText, Q as Plus, N as Search, am as ArrowUpDown, aj as ChevronUp, d as ChevronDown } from "../_libs/lucide-react.mjs";
|
|
15
15
|
import "../_libs/tiny-warning.mjs";
|
|
16
16
|
import "../_chunks/_libs/@tanstack/router-core.mjs";
|
|
17
17
|
import "../_libs/cookie-es.mjs";
|
|
@@ -32,14 +32,17 @@ import "../_chunks/_libs/@tanstack/react-store.mjs";
|
|
|
32
32
|
import "../_libs/use-sync-external-store.mjs";
|
|
33
33
|
import "../_libs/clsx.mjs";
|
|
34
34
|
import "../_libs/tailwind-merge.mjs";
|
|
35
|
-
import "../_chunks/_libs/@radix-ui/react-
|
|
36
|
-
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
37
|
-
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
35
|
+
import "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
|
|
38
36
|
import "../_chunks/_libs/@radix-ui/primitive.mjs";
|
|
39
37
|
import "../_chunks/_libs/@radix-ui/react-context.mjs";
|
|
40
38
|
import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
|
|
41
39
|
import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
|
|
40
|
+
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
42
41
|
import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
|
|
42
|
+
import "../_chunks/_libs/@radix-ui/react-slot.mjs";
|
|
43
|
+
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
44
|
+
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
45
|
+
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
43
46
|
import "../_chunks/_libs/@radix-ui/react-menu.mjs";
|
|
44
47
|
import "../_chunks/_libs/@radix-ui/react-collection.mjs";
|
|
45
48
|
import "../_chunks/_libs/@radix-ui/react-direction.mjs";
|
|
@@ -56,9 +59,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
|
|
|
56
59
|
import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
|
|
57
60
|
import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
|
|
58
61
|
import "../_chunks/_libs/@radix-ui/react-portal.mjs";
|
|
59
|
-
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
60
62
|
import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
|
|
61
|
-
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
62
63
|
import "../_libs/aria-hidden.mjs";
|
|
63
64
|
import "../_libs/react-remove-scroll.mjs";
|
|
64
65
|
import "../_libs/tslib.mjs";
|
|
@@ -83,7 +84,7 @@ import "../_libs/zod.mjs";
|
|
|
83
84
|
import "../_chunks/_libs/@radix-ui/react-dialog.mjs";
|
|
84
85
|
import "../_chunks/_libs/@radix-ui/react-checkbox.mjs";
|
|
85
86
|
import "../_chunks/_libs/@radix-ui/react-use-previous.mjs";
|
|
86
|
-
import "./command-
|
|
87
|
+
import "./command-CEf8YBxY.mjs";
|
|
87
88
|
import "../_libs/cmdk.mjs";
|
|
88
89
|
import "../_chunks/_libs/@radix-ui/react-select.mjs";
|
|
89
90
|
import "../_chunks/_libs/@radix-ui/number.mjs";
|
|
@@ -106,7 +107,7 @@ function ContentTypeEntriesPage() {
|
|
|
106
107
|
canUpdate,
|
|
107
108
|
canDelete
|
|
108
109
|
} = usePermissions();
|
|
109
|
-
const deleteEntry = useMutation(api.
|
|
110
|
+
const deleteEntry = useMutation(api.admin.deleteEntry);
|
|
110
111
|
const [deleteModalOpen, setDeleteModalOpen] = reactExports.useState(false);
|
|
111
112
|
const [entryToDelete, setEntryToDelete] = reactExports.useState(null);
|
|
112
113
|
const [isDeleting, setIsDeleting] = reactExports.useState(false);
|
|
@@ -118,11 +119,11 @@ function ContentTypeEntriesPage() {
|
|
|
118
119
|
}, 300);
|
|
119
120
|
return () => clearTimeout(timer);
|
|
120
121
|
}, [searchQuery]);
|
|
121
|
-
const contentType = useQuery(api.
|
|
122
|
+
const contentType = useQuery(api.admin.getContentType, {
|
|
122
123
|
id: contentTypeId
|
|
123
124
|
});
|
|
124
125
|
useBreadcrumbLabel(`/entries/type/${contentTypeId}`, contentType?.displayName);
|
|
125
|
-
const entriesResult = useQuery(api.
|
|
126
|
+
const entriesResult = useQuery(api.admin.listEntries, {
|
|
126
127
|
contentTypeId,
|
|
127
128
|
status: selectedStatus === "all" ? void 0 : selectedStatus,
|
|
128
129
|
search: debouncedSearch || void 0,
|
|
@@ -132,13 +133,13 @@ function ContentTypeEntriesPage() {
|
|
|
132
133
|
}
|
|
133
134
|
});
|
|
134
135
|
const allEntries = entriesResult?.page ?? [];
|
|
135
|
-
const entriesByTermResult0 = useQuery(api.
|
|
136
|
+
const entriesByTermResult0 = useQuery(api.admin.getEntriesByTerm, selectedTermIds[0] ? {
|
|
136
137
|
termId: selectedTermIds[0]
|
|
137
138
|
} : "skip");
|
|
138
|
-
const entriesByTermResult1 = useQuery(api.
|
|
139
|
+
const entriesByTermResult1 = useQuery(api.admin.getEntriesByTerm, selectedTermIds[1] ? {
|
|
139
140
|
termId: selectedTermIds[1]
|
|
140
141
|
} : "skip");
|
|
141
|
-
const entriesByTermResult2 = useQuery(api.
|
|
142
|
+
const entriesByTermResult2 = useQuery(api.admin.getEntriesByTerm, selectedTermIds[2] ? {
|
|
142
143
|
termId: selectedTermIds[2]
|
|
143
144
|
} : "skip");
|
|
144
145
|
const termFilteredEntryIds = reactExports.useMemo(() => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
2
|
import { d as useNavigate } from "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { C as ContentEntryEditor } from "./ContentEntryEditor-
|
|
5
|
-
import { u as usePermissions } from "./usePermissions-
|
|
6
|
-
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-
|
|
7
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
3
|
+
import { i as Route$2, a as api } from "./router-x6Ab8T4s.mjs";
|
|
4
|
+
import { C as ContentEntryEditor } from "./ContentEntryEditor-weiXSBdZ.mjs";
|
|
5
|
+
import { u as usePermissions } from "./usePermissions-zAQj-ruE.mjs";
|
|
6
|
+
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-DVme3DSb.mjs";
|
|
7
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
8
8
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
9
9
|
import { J as FileText } from "../_libs/lucide-react.mjs";
|
|
10
10
|
import "../_libs/tiny-warning.mjs";
|
|
@@ -27,14 +27,17 @@ import "../_chunks/_libs/@tanstack/react-store.mjs";
|
|
|
27
27
|
import "../_libs/use-sync-external-store.mjs";
|
|
28
28
|
import "../_libs/clsx.mjs";
|
|
29
29
|
import "../_libs/tailwind-merge.mjs";
|
|
30
|
-
import "../_chunks/_libs/@radix-ui/react-
|
|
31
|
-
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
32
|
-
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
30
|
+
import "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
|
|
33
31
|
import "../_chunks/_libs/@radix-ui/primitive.mjs";
|
|
34
32
|
import "../_chunks/_libs/@radix-ui/react-context.mjs";
|
|
35
33
|
import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
|
|
36
34
|
import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
|
|
35
|
+
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
37
36
|
import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
|
|
37
|
+
import "../_chunks/_libs/@radix-ui/react-slot.mjs";
|
|
38
|
+
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
39
|
+
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
40
|
+
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
38
41
|
import "../_chunks/_libs/@radix-ui/react-menu.mjs";
|
|
39
42
|
import "../_chunks/_libs/@radix-ui/react-collection.mjs";
|
|
40
43
|
import "../_chunks/_libs/@radix-ui/react-direction.mjs";
|
|
@@ -51,9 +54,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
|
|
|
51
54
|
import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
|
|
52
55
|
import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
|
|
53
56
|
import "../_chunks/_libs/@radix-ui/react-portal.mjs";
|
|
54
|
-
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
55
57
|
import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
|
|
56
|
-
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
57
58
|
import "../_libs/aria-hidden.mjs";
|
|
58
59
|
import "../_libs/react-remove-scroll.mjs";
|
|
59
60
|
import "../_libs/tslib.mjs";
|
|
@@ -75,25 +76,25 @@ import "node:http";
|
|
|
75
76
|
import "node:https";
|
|
76
77
|
import "node:http2";
|
|
77
78
|
import "../_libs/zod.mjs";
|
|
78
|
-
import "./label-
|
|
79
|
+
import "./label-PblVvdRv.mjs";
|
|
79
80
|
import "../_chunks/_libs/@radix-ui/react-label.mjs";
|
|
80
|
-
import "./switch-
|
|
81
|
+
import "./switch-DX_X8vZl.mjs";
|
|
81
82
|
import "../_chunks/_libs/@radix-ui/react-switch.mjs";
|
|
82
83
|
import "../_chunks/_libs/@radix-ui/react-use-previous.mjs";
|
|
83
|
-
import "./textarea-
|
|
84
|
+
import "./textarea-CZVaroMc.mjs";
|
|
84
85
|
import "../_chunks/_libs/@radix-ui/react-separator.mjs";
|
|
85
|
-
import "./select-
|
|
86
|
+
import "./select-CrfEkFJw.mjs";
|
|
86
87
|
import "../_chunks/_libs/@radix-ui/react-select.mjs";
|
|
87
88
|
import "../_chunks/_libs/@radix-ui/number.mjs";
|
|
88
89
|
import "../_chunks/_libs/@radix-ui/react-visually-hidden.mjs";
|
|
89
|
-
import "./tabs-
|
|
90
|
-
import "./CmsButton-
|
|
90
|
+
import "./tabs-4FWM0sn8.mjs";
|
|
91
|
+
import "./CmsButton-DbzfJru_.mjs";
|
|
91
92
|
import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
|
|
92
|
-
import "./command-
|
|
93
|
+
import "./command-CEf8YBxY.mjs";
|
|
93
94
|
import "../_libs/cmdk.mjs";
|
|
94
95
|
import "../_chunks/_libs/@radix-ui/react-dialog.mjs";
|
|
95
|
-
import "./CmsStatusBadge-
|
|
96
|
-
import "./scroll-area-
|
|
96
|
+
import "./CmsStatusBadge-CojMbrY7.mjs";
|
|
97
|
+
import "./scroll-area-BH_1K-WT.mjs";
|
|
97
98
|
import "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
|
|
98
99
|
import "../_libs/react-day-picker.mjs";
|
|
99
100
|
import "../_libs/date-fns.mjs";
|
|
@@ -107,10 +108,10 @@ function EditEntryPage() {
|
|
|
107
108
|
const {
|
|
108
109
|
canDelete
|
|
109
110
|
} = usePermissions();
|
|
110
|
-
const entry = useQuery(api.
|
|
111
|
+
const entry = useQuery(api.admin.getEntry, {
|
|
111
112
|
id: entryId
|
|
112
113
|
});
|
|
113
|
-
const contentType = useQuery(api.
|
|
114
|
+
const contentType = useQuery(api.admin.getContentType, entry ? {
|
|
114
115
|
id: entry.contentTypeId
|
|
115
116
|
} : "skip");
|
|
116
117
|
const getEntryTitle = () => {
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/__root.tsx", "children": ["/", "/content", "/content-types", "/media", "/settings", "/taxonomies", "/trash", "/entries/$entryId", "/entries/new/$contentTypeId", "/entries/type/$contentTypeId"], "preloads": ["/assets/main-dZT72bAG.js"], "assets": [] }, "/": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-zqfj4T_v.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/content": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content.tsx", "assets": [], "preloads": ["/assets/content-D8zELsDG.js", "/assets/usePermissions-D7tQowaF.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/badge-BAlGIjop.js", "/assets/circle-check-big-CpLxAvEj.js", "/assets/triangle-alert-lvCbwp0s.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsToolbar-D1-Y-7SK.js", "/assets/CmsStatusBadge-Dd9uToHE.js", "/assets/select-BuiHcMzS.js", "/assets/plus-AABQIF0N.js", "/assets/search-BvgYr-c9.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/content-types": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content-types.tsx", "assets": [], "preloads": ["/assets/content-types-BmzD0krT.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/badge-BAlGIjop.js", "/assets/label-B6PPtKR5.js", "/assets/textarea-CgggMxUX.js", "/assets/select-BuiHcMzS.js", "/assets/triangle-alert-lvCbwp0s.js", "/assets/plus-AABQIF0N.js", "/assets/list-F8O0lZXC.js", "/assets/link-2-W2fVnVOf.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsToolbar-D1-Y-7SK.js", "/assets/search-BvgYr-c9.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/media": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/media.tsx", "assets": [], "preloads": ["/assets/media-CETueFbV.js", "/assets/tabs-Cgz6G_Xy.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsToolbar-D1-Y-7SK.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/badge-BAlGIjop.js", "/assets/TaxonomyFilter-CdYQawxb.js", "/assets/label-B6PPtKR5.js", "/assets/select-BuiHcMzS.js", "/assets/textarea-CgggMxUX.js", "/assets/plus-AABQIF0N.js", "/assets/link-2-W2fVnVOf.js", "/assets/rotate-ccw-BZpZtw0N.js", "/assets/search-BvgYr-c9.js", "/assets/tanstack-adapter-BknsSgra.js", "/assets/command-di7XCqcv.js"] }, "/settings": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/settings.tsx", "assets": [], "preloads": ["/assets/settings-DBxbYDvn.js", "/assets/badge-BAlGIjop.js", "/assets/label-B6PPtKR5.js", "/assets/select-BuiHcMzS.js", "/assets/usePermissions-D7tQowaF.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsSurface-DBy5Lumx.js", "/assets/switch-DiJvolcs.js", "/assets/alert-GxZx0y5c.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/taxonomies": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/taxonomies.tsx", "assets": [], "preloads": ["/assets/taxonomies-DOErsLl5.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/badge-BAlGIjop.js", "/assets/label-B6PPtKR5.js", "/assets/textarea-CgggMxUX.js", "/assets/plus-AABQIF0N.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsSurface-DBy5Lumx.js", "/assets/scroll-area-CDfk-zrz.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/trash": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/trash.tsx", "assets": [], "preloads": ["/assets/trash-BU4ANuaW.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsToolbar-D1-Y-7SK.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/CmsSurface-DBy5Lumx.js", "/assets/badge-BAlGIjop.js", "/assets/select-BuiHcMzS.js", "/assets/alert-GxZx0y5c.js", "/assets/search-BvgYr-c9.js", "/assets/triangle-alert-lvCbwp0s.js", "/assets/rotate-ccw-BZpZtw0N.js", "/assets/tanstack-adapter-BknsSgra.js"] }, "/entries/$entryId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/$entryId.tsx", "assets": [], "preloads": ["/assets/_entryId-2FlCfqE7.js", "/assets/ContentEntryEditor-CWBiIx52.js", "/assets/usePermissions-D7tQowaF.js", "/assets/useBreadcrumbLabel-D00rvqjw.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/label-B6PPtKR5.js", "/assets/switch-DiJvolcs.js", "/assets/badge-BAlGIjop.js", "/assets/tabs-Cgz6G_Xy.js", "/assets/textarea-CgggMxUX.js", "/assets/list-F8O0lZXC.js", "/assets/select-BuiHcMzS.js", "/assets/search-BvgYr-c9.js", "/assets/command-di7XCqcv.js", "/assets/CmsStatusBadge-Dd9uToHE.js", "/assets/plus-AABQIF0N.js", "/assets/link-2-W2fVnVOf.js", "/assets/scroll-area-CDfk-zrz.js", "/assets/triangle-alert-lvCbwp0s.js", "/assets/circle-check-big-CpLxAvEj.js"] }, "/entries/new/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/new.$contentTypeId.tsx", "assets": [], "preloads": ["/assets/new._contentTypeId-BV2-TyyR.js", "/assets/ContentEntryEditor-CWBiIx52.js", "/assets/useBreadcrumbLabel-D00rvqjw.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/label-B6PPtKR5.js", "/assets/switch-DiJvolcs.js", "/assets/badge-BAlGIjop.js", "/assets/tabs-Cgz6G_Xy.js", "/assets/textarea-CgggMxUX.js", "/assets/list-F8O0lZXC.js", "/assets/select-BuiHcMzS.js", "/assets/search-BvgYr-c9.js", "/assets/command-di7XCqcv.js", "/assets/CmsStatusBadge-Dd9uToHE.js", "/assets/plus-AABQIF0N.js", "/assets/link-2-W2fVnVOf.js", "/assets/scroll-area-CDfk-zrz.js", "/assets/triangle-alert-lvCbwp0s.js", "/assets/circle-check-big-CpLxAvEj.js"] }, "/entries/type/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/type/$contentTypeId.tsx", "assets": [], "preloads": ["/assets/_contentTypeId-D9VMP6Gs.js", "/assets/usePermissions-D7tQowaF.js", "/assets/useBreadcrumbLabel-D00rvqjw.js", "/assets/CmsPageHeader-qDwPGi48.js", "/assets/CmsToolbar-D1-Y-7SK.js", "/assets/badge-BAlGIjop.js", "/assets/CmsStatusBadge-Dd9uToHE.js", "/assets/CmsEmptyState-Do_erIgn.js", "/assets/TaxonomyFilter-CdYQawxb.js", "/assets/select-BuiHcMzS.js", "/assets/plus-AABQIF0N.js", "/assets/search-BvgYr-c9.js", "/assets/command-di7XCqcv.js"] } }, "clientEntry": "/assets/main-dZT72bAG.js" });
|
|
2
|
+
export {
|
|
3
|
+
tsrStartManifest
|
|
4
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
2
|
import { _ as _e } from "../_libs/cmdk.mjs";
|
|
3
|
-
import { c as cn } from "./router-
|
|
3
|
+
import { c as cn } from "./router-x6Ab8T4s.mjs";
|
|
4
4
|
import { N as Search } from "../_libs/lucide-react.mjs";
|
|
5
5
|
function Command({
|
|
6
6
|
className,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { a as api, D as DropdownMenu, d as DropdownMenuTrigger, e as DropdownMenuContent, f as DropdownMenuItem, c as cn } from "./router-
|
|
3
|
-
import { u as usePermissions } from "./usePermissions-
|
|
4
|
-
import { I as Input, C as CmsEmptyState, a as Checkbox, c as CmsDialog } from "./CmsEmptyState-
|
|
5
|
-
import { C as CmsButton, B as Badge } from "./CmsButton-
|
|
6
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
7
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
8
|
-
import { C as CmsStatusBadge } from "./CmsStatusBadge-
|
|
9
|
-
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-
|
|
10
|
-
import { u as useTanStackNavigation } from "./tanstack-adapter-
|
|
2
|
+
import { a as api, D as DropdownMenu, d as DropdownMenuTrigger, e as DropdownMenuContent, f as DropdownMenuItem, c as cn } from "./router-x6Ab8T4s.mjs";
|
|
3
|
+
import { u as usePermissions } from "./usePermissions-zAQj-ruE.mjs";
|
|
4
|
+
import { I as Input, C as CmsEmptyState, a as Checkbox, c as CmsDialog } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
5
|
+
import { C as CmsButton, B as Badge } from "./CmsButton-DbzfJru_.mjs";
|
|
6
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-ClNPU7Up.mjs";
|
|
7
|
+
import { C as CmsToolbar } from "./CmsToolbar-BKv1nL6u.mjs";
|
|
8
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CojMbrY7.mjs";
|
|
9
|
+
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-CrfEkFJw.mjs";
|
|
10
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-D3ZcKtbY.mjs";
|
|
11
11
|
import { u as useQuery, d as useMutation } from "../_libs/convex.mjs";
|
|
12
|
-
import { Q as Plus, d as ChevronDown, N as Search, J as FileText, X,
|
|
12
|
+
import { Q as Plus, d as ChevronDown, N as Search, J as FileText, X, ak as CircleCheckBig, O as TriangleAlert } from "../_libs/lucide-react.mjs";
|
|
13
13
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
14
14
|
import "../_libs/tiny-warning.mjs";
|
|
15
15
|
import "../_chunks/_libs/@tanstack/router-core.mjs";
|
|
@@ -31,14 +31,17 @@ import "../_chunks/_libs/@tanstack/react-store.mjs";
|
|
|
31
31
|
import "../_libs/use-sync-external-store.mjs";
|
|
32
32
|
import "../_libs/clsx.mjs";
|
|
33
33
|
import "../_libs/tailwind-merge.mjs";
|
|
34
|
-
import "../_chunks/_libs/@radix-ui/react-
|
|
35
|
-
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
36
|
-
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
34
|
+
import "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
|
|
37
35
|
import "../_chunks/_libs/@radix-ui/primitive.mjs";
|
|
38
36
|
import "../_chunks/_libs/@radix-ui/react-context.mjs";
|
|
39
37
|
import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
|
|
40
38
|
import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
|
|
39
|
+
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
41
40
|
import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
|
|
41
|
+
import "../_chunks/_libs/@radix-ui/react-slot.mjs";
|
|
42
|
+
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
43
|
+
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
44
|
+
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
42
45
|
import "../_chunks/_libs/@radix-ui/react-menu.mjs";
|
|
43
46
|
import "../_chunks/_libs/@radix-ui/react-collection.mjs";
|
|
44
47
|
import "../_chunks/_libs/@radix-ui/react-direction.mjs";
|
|
@@ -55,9 +58,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
|
|
|
55
58
|
import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
|
|
56
59
|
import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
|
|
57
60
|
import "../_chunks/_libs/@radix-ui/react-portal.mjs";
|
|
58
|
-
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
59
61
|
import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
|
|
60
|
-
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
61
62
|
import "../_libs/aria-hidden.mjs";
|
|
62
63
|
import "../_libs/react-remove-scroll.mjs";
|
|
63
64
|
import "../_libs/tslib.mjs";
|
|
@@ -215,10 +216,10 @@ function BulkActionBar({
|
|
|
215
216
|
const [activeAction, setActiveAction] = reactExports.useState(null);
|
|
216
217
|
const [isProcessing, setIsProcessing] = reactExports.useState(false);
|
|
217
218
|
const [result, setResult] = reactExports.useState(null);
|
|
218
|
-
const bulkPublish = useMutation(api.
|
|
219
|
-
const bulkUnpublish = useMutation(api.
|
|
220
|
-
const bulkDelete = useMutation(api.
|
|
221
|
-
const bulkUpdate = useMutation(api.
|
|
219
|
+
const bulkPublish = useMutation(api.admin.bulkPublish);
|
|
220
|
+
const bulkUnpublish = useMutation(api.admin.bulkUnpublish);
|
|
221
|
+
const bulkDelete = useMutation(api.admin.bulkDelete);
|
|
222
|
+
const bulkUpdate = useMutation(api.admin.bulkUpdate);
|
|
222
223
|
const handleAction = reactExports.useCallback((action) => {
|
|
223
224
|
setActiveAction(action);
|
|
224
225
|
setResult(null);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { a as api, c as cn } from "./router-
|
|
3
|
-
import { C as CmsButton, B as Badge } from "./CmsButton-
|
|
4
|
-
import { I as Input, a as Checkbox, C as CmsEmptyState, c as CmsDialog } from "./CmsEmptyState-
|
|
5
|
-
import { L as Label } from "./label-
|
|
6
|
-
import { T as Textarea } from "./textarea-
|
|
7
|
-
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-
|
|
8
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
9
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
10
|
-
import { u as useTanStackNavigation } from "./tanstack-adapter-
|
|
2
|
+
import { a as api, c as cn } from "./router-x6Ab8T4s.mjs";
|
|
3
|
+
import { C as CmsButton, B as Badge } from "./CmsButton-DbzfJru_.mjs";
|
|
4
|
+
import { I as Input, a as Checkbox, C as CmsEmptyState, c as CmsDialog } from "./CmsEmptyState-CuvcXr3Z.mjs";
|
|
5
|
+
import { L as Label } from "./label-PblVvdRv.mjs";
|
|
6
|
+
import { T as Textarea } from "./textarea-CZVaroMc.mjs";
|
|
7
|
+
import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from "./select-CrfEkFJw.mjs";
|
|
8
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-ClNPU7Up.mjs";
|
|
9
|
+
import { C as CmsToolbar } from "./CmsToolbar-BKv1nL6u.mjs";
|
|
10
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-D3ZcKtbY.mjs";
|
|
11
11
|
import { u as useQuery, d as useMutation } from "../_libs/convex.mjs";
|
|
12
|
-
import {
|
|
12
|
+
import { ae as Grid3x3, af as List, Q as Plus, N as Search, ag as FileType, W as Pencil, ah as TextAlignStart, ai as FolderOpen, V as Tag, d as ChevronDown, p as Braces, I as Image, a9 as Link2, u as Calendar, T as ToggleLeft, r as Hash, aj as ChevronUp, X, O as TriangleAlert } from "../_libs/lucide-react.mjs";
|
|
13
13
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
14
14
|
import "../_libs/tiny-warning.mjs";
|
|
15
15
|
import "../_chunks/_libs/@tanstack/router-core.mjs";
|
|
@@ -31,14 +31,17 @@ import "../_chunks/_libs/@tanstack/react-store.mjs";
|
|
|
31
31
|
import "../_libs/use-sync-external-store.mjs";
|
|
32
32
|
import "../_libs/clsx.mjs";
|
|
33
33
|
import "../_libs/tailwind-merge.mjs";
|
|
34
|
-
import "../_chunks/_libs/@radix-ui/react-
|
|
35
|
-
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
36
|
-
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
34
|
+
import "../_chunks/_libs/@radix-ui/react-collapsible.mjs";
|
|
37
35
|
import "../_chunks/_libs/@radix-ui/primitive.mjs";
|
|
38
36
|
import "../_chunks/_libs/@radix-ui/react-context.mjs";
|
|
39
37
|
import "../_chunks/_libs/@radix-ui/react-use-controllable-state.mjs";
|
|
40
38
|
import "../_chunks/_libs/@radix-ui/react-use-layout-effect.mjs";
|
|
39
|
+
import "../_chunks/_libs/@radix-ui/react-compose-refs.mjs";
|
|
41
40
|
import "../_chunks/_libs/@radix-ui/react-primitive.mjs";
|
|
41
|
+
import "../_chunks/_libs/@radix-ui/react-slot.mjs";
|
|
42
|
+
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
43
|
+
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
44
|
+
import "../_chunks/_libs/@radix-ui/react-dropdown-menu.mjs";
|
|
42
45
|
import "../_chunks/_libs/@radix-ui/react-menu.mjs";
|
|
43
46
|
import "../_chunks/_libs/@radix-ui/react-collection.mjs";
|
|
44
47
|
import "../_chunks/_libs/@radix-ui/react-direction.mjs";
|
|
@@ -55,9 +58,7 @@ import "../_chunks/_libs/@floating-ui/utils.mjs";
|
|
|
55
58
|
import "../_chunks/_libs/@radix-ui/react-arrow.mjs";
|
|
56
59
|
import "../_chunks/_libs/@radix-ui/react-use-size.mjs";
|
|
57
60
|
import "../_chunks/_libs/@radix-ui/react-portal.mjs";
|
|
58
|
-
import "../_chunks/_libs/@radix-ui/react-presence.mjs";
|
|
59
61
|
import "../_chunks/_libs/@radix-ui/react-roving-focus.mjs";
|
|
60
|
-
import "../_chunks/_libs/@radix-ui/react-id.mjs";
|
|
61
62
|
import "../_libs/aria-hidden.mjs";
|
|
62
63
|
import "../_libs/react-remove-scroll.mjs";
|
|
63
64
|
import "../_libs/tslib.mjs";
|
|
@@ -241,8 +242,8 @@ function ContentTypeFormModal({
|
|
|
241
242
|
const [breakingChanges, setBreakingChanges] = reactExports.useState([]);
|
|
242
243
|
const [showBreakingWarning, setShowBreakingWarning] = reactExports.useState(false);
|
|
243
244
|
const [isForceUpdating, setIsForceUpdating] = reactExports.useState(false);
|
|
244
|
-
const createContentType = useMutation(api.
|
|
245
|
-
const updateContentType = useMutation(api.
|
|
245
|
+
const createContentType = useMutation(api.admin.createContentType);
|
|
246
|
+
const updateContentType = useMutation(api.admin.updateContentType);
|
|
246
247
|
reactExports.useEffect(() => {
|
|
247
248
|
if (contentType && isOpen) {
|
|
248
249
|
setDisplayName(contentType.displayName);
|