convex-cms 0.0.3 → 0.0.5-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -13
- package/admin-dist/nitro.json +1 -1
- package/admin-dist/public/assets/{CmsEmptyState-CRswfTzk.js → CmsEmptyState-CiMQwSQV.js} +2 -2
- package/admin-dist/public/assets/{CmsPageHeader-CirpXndm.js → CmsPageHeader-ohOq0luT.js} +1 -1
- package/admin-dist/public/assets/{CmsStatusBadge-CbEUpQu-.js → CmsStatusBadge-BdNf0V9v.js} +1 -1
- package/admin-dist/public/assets/CmsSurface-CWup6Jh7.js +1 -0
- package/admin-dist/public/assets/{CmsToolbar-BI2nZOXp.js → CmsToolbar-cEBlCHa3.js} +1 -1
- package/admin-dist/public/assets/{ContentEntryEditor-CBeCyK_m.js → ContentEntryEditor-BY5ypfUs.js} +1 -1
- package/admin-dist/public/assets/{ErrorState-BIVaWmom.js → ErrorState-C4nJ-ml4.js} +1 -1
- package/admin-dist/public/assets/{TaxonomyFilter-ChaY6Y_x.js → TaxonomyFilter-BgE_SR_O.js} +1 -1
- package/admin-dist/public/assets/{_contentTypeId-DQ8k_Rvw.js → _contentTypeId-DtZectcC.js} +1 -1
- package/admin-dist/public/assets/{_entryId-CKU_glsK.js → _entryId-BpSmrfAm.js} +1 -1
- package/admin-dist/public/assets/alert-Bf2l8kxw.js +1 -0
- package/admin-dist/public/assets/{badge-hvUOzpVZ.js → badge-qPrc4AUM.js} +1 -1
- package/admin-dist/public/assets/{circle-check-big-CF_pR17r.js → circle-check-big-Dgozy3vV.js} +1 -1
- package/admin-dist/public/assets/{command-DU82cJlt.js → command-QOmNhlb0.js} +1 -1
- package/admin-dist/public/assets/content-OEBGlxg1.js +1 -0
- package/admin-dist/public/assets/content-types-CjQliqVV.js +2 -0
- package/admin-dist/public/assets/{globals-CS6BZ0zp.css → globals-hAmgC66w.css} +1 -1
- package/admin-dist/public/assets/index-BH_ECMhv.js +1 -0
- package/admin-dist/public/assets/{label-KNtpL71g.js → label-DCsUdvFh.js} +1 -1
- package/admin-dist/public/assets/{link-2-Bw2aI4V4.js → link-2-Czw1N61H.js} +1 -1
- package/admin-dist/public/assets/{list-sYepHjt_.js → list-DtCsXj8-.js} +1 -1
- package/admin-dist/public/assets/{main-CKj5yfEi.js → main-CXgkZMhe.js} +3 -3
- package/admin-dist/public/assets/{media-Bkrkffm7.js → media-DTJ3-ViE.js} +1 -1
- package/admin-dist/public/assets/{new._contentTypeId-C3LstjNs.js → new._contentTypeId-CoTDxKzf.js} +1 -1
- package/admin-dist/public/assets/{plus-DUn8v_Xf.js → plus-xCFJK0RC.js} +1 -1
- package/admin-dist/public/assets/{rotate-ccw-DJEoHcRI.js → rotate-ccw-DIqK63wY.js} +1 -1
- package/admin-dist/public/assets/scroll-area-B-yrE66a.js +1 -0
- package/admin-dist/public/assets/{search-MuAUDJKR.js → search-CbCbboeU.js} +1 -1
- package/admin-dist/public/assets/select-Co3TZFJb.js +1 -0
- package/admin-dist/public/assets/settings-BspTTv_o.js +1 -0
- package/admin-dist/public/assets/switch-CfavASmR.js +1 -0
- package/admin-dist/public/assets/tabs-CN5s5u2W.js +1 -0
- package/admin-dist/public/assets/tanstack-adapter-npeE3RdY.js +1 -0
- package/admin-dist/public/assets/taxonomies-CgG46fIF.js +1 -0
- package/admin-dist/public/assets/{textarea-BTy7nwzR.js → textarea-BJ0XFZpT.js} +1 -1
- package/admin-dist/public/assets/trash-B3daldm5.js +1 -0
- package/admin-dist/public/assets/{triangle-alert-E52Vfeuh.js → triangle-alert-BZRcqsUg.js} +1 -1
- package/admin-dist/public/assets/useBreadcrumbLabel-DwZlwvFF.js +1 -0
- package/admin-dist/public/assets/{usePermissions-Basjs9BT.js → usePermissions-C1JQhfqb.js} +1 -1
- package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +7 -0
- package/admin-dist/server/_ssr/{badge-6BsP37vG.mjs → CmsButton-B45JAKR1.mjs} +33 -33
- package/admin-dist/server/_ssr/{CmsEmptyState-DU7-7-mV.mjs → CmsEmptyState-D_BQFAVR.mjs} +2 -2
- package/admin-dist/server/_ssr/{CmsPageHeader-CseW0AHm.mjs → CmsPageHeader-CrUZA59A.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsStatusBadge-B_pi4KCp.mjs → CmsStatusBadge-B-sj6yaj.mjs} +2 -2
- package/admin-dist/server/_ssr/CmsSurface-DKJZhpjk.mjs +44 -0
- package/admin-dist/server/_ssr/{CmsToolbar-X75ex6ek.mjs → CmsToolbar-ByaW5iXf.mjs} +2 -2
- package/admin-dist/server/_ssr/{ContentEntryEditor-CepusRsA.mjs → ContentEntryEditor-D3_Jb1dq.mjs} +11 -11
- package/admin-dist/server/_ssr/{TaxonomyFilter-Bwrq0-cz.mjs → TaxonomyFilter-BRJkuCtA.mjs} +4 -4
- package/admin-dist/server/_ssr/{_contentTypeId-BqYKEcLr.mjs → _contentTypeId-B9kA6CaM.mjs} +11 -11
- package/admin-dist/server/_ssr/{_entryId-CRfnqeDf.mjs → _entryId-BddcMkZN.mjs} +14 -14
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dd7AmelK.mjs +4 -0
- package/admin-dist/server/_ssr/{command-fy8epIKf.mjs → command-CGtVr8Gb.mjs} +1 -1
- package/admin-dist/server/_ssr/{content-B5RhL7uW.mjs → content-D1tbeOd0.mjs} +201 -86
- package/admin-dist/server/_ssr/{content-types-BIOqCQYN.mjs → content-types-BZqY_BER.mjs} +279 -103
- package/admin-dist/server/_ssr/{index-DHSHDPt1.mjs → index-BIdq4xaC.mjs} +88 -17
- package/admin-dist/server/_ssr/index.mjs +2 -2
- package/admin-dist/server/_ssr/{label-C8Dko1j7.mjs → label-T-QNKAr6.mjs} +1 -1
- package/admin-dist/server/_ssr/{media-CSx3XttC.mjs → media-C-xqjBrl.mjs} +40 -40
- package/admin-dist/server/_ssr/{new._contentTypeId-DzanEZQM.mjs → new._contentTypeId-DWic9cRq.mjs} +13 -13
- package/admin-dist/server/_ssr/{router-DDWcF-kt.mjs → router-D1BMAMJT.mjs} +11 -11
- package/admin-dist/server/_ssr/{scroll-area-bjPYwhXN.mjs → scroll-area-C0pic_WA.mjs} +1 -1
- package/admin-dist/server/_ssr/{select-BUhDDf4T.mjs → select-CqmuN2F6.mjs} +1 -1
- package/admin-dist/server/_ssr/{settings-DAsxnw2q.mjs → settings-CAkncGGV.mjs} +211 -129
- package/admin-dist/server/_ssr/{switch-BgyRtQ1Z.mjs → switch-CgmuJkT9.mjs} +1 -1
- package/admin-dist/server/_ssr/{tabs-DzMdRB1A.mjs → tabs-CnMj0aRy.mjs} +5 -3
- package/admin-dist/server/_ssr/tanstack-adapter-BXZrMauE.mjs +119 -0
- package/admin-dist/server/_ssr/{taxonomies-C8j8g5Q5.mjs → taxonomies-thl3BfVm.mjs} +168 -68
- package/admin-dist/server/_ssr/{textarea-9jNeYJSc.mjs → textarea-4K5OJgeh.mjs} +1 -1
- package/admin-dist/server/_ssr/{trash-DYMxwhZB.mjs → trash-B40Gx5zP.mjs} +206 -86
- package/admin-dist/server/_ssr/{useBreadcrumbLabel-FNSAr2Ha.mjs → useBreadcrumbLabel-rn-fL4zV.mjs} +1 -1
- package/admin-dist/server/_ssr/{usePermissions-BJGGahrJ.mjs → usePermissions-CKeM6_Vw.mjs} +1 -1
- package/admin-dist/server/index.mjs +194 -180
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +156 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/client/admin-config.d.ts +2 -2
- package/dist/client/admin-config.js +2 -2
- package/dist/client/adminApi.d.ts +1877 -1851
- package/dist/client/adminApi.d.ts.map +1 -1
- package/dist/client/adminApi.js +649 -629
- package/dist/client/adminApi.js.map +1 -1
- package/dist/client/agentTools.d.ts +7 -17
- package/dist/client/agentTools.d.ts.map +1 -1
- package/dist/client/agentTools.js +4 -4
- package/dist/client/index.d.ts +4 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/schema/codegen.d.ts +2 -2
- package/dist/client/schema/codegen.d.ts.map +1 -1
- package/dist/client/schema/codegen.js +3 -3
- package/dist/client/schema/codegen.js.map +1 -1
- package/dist/client/schema/defineContentType.d.ts +3 -3
- package/dist/client/schema/defineContentType.js +3 -3
- package/dist/client/schema/index.d.ts +7 -7
- package/dist/client/schema/index.d.ts.map +1 -1
- package/dist/client/schema/index.js +5 -5
- package/dist/client/schema/index.js.map +1 -1
- package/dist/client/schema/schemaDrift.d.ts +1 -1
- package/dist/client/schema/schemaDrift.js +1 -1
- package/dist/client/schema/typedClient.d.ts +2 -2
- package/dist/client/schema/typedClient.js +2 -2
- package/dist/client/schema/types.d.ts +1 -1
- package/dist/client/schema/types.js +1 -1
- package/dist/client/wrapper.d.ts +108 -65
- package/dist/client/wrapper.d.ts.map +1 -1
- package/dist/client/wrapper.js +22 -22
- package/dist/client/wrapper.js.map +1 -1
- package/dist/component/convex.config.d.ts +2 -2
- package/dist/component/convex.config.js +2 -2
- package/dist/component/index.d.ts +1 -1
- package/dist/component/index.js +1 -1
- package/dist/component/lib/ragContentChunker.d.ts +1 -1
- package/dist/component/lib/ragContentChunker.js +1 -1
- package/dist/component/roles.d.ts +1 -1
- package/dist/component/roles.js +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +13 -7
- package/dist/react/index.js.map +1 -1
- package/dist/test.d.ts +2 -2
- package/dist/test.js +2 -2
- package/package.json +31 -11
- package/admin-dist/public/assets/alert-BXjTqrwQ.js +0 -1
- package/admin-dist/public/assets/content-_LXl3pp7.js +0 -1
- package/admin-dist/public/assets/content-types-KjxaXGxY.js +0 -2
- package/admin-dist/public/assets/index-DNGIZHL-.js +0 -1
- package/admin-dist/public/assets/scroll-area-DfIlT0in.js +0 -1
- package/admin-dist/public/assets/select-BD29IXCI.js +0 -1
- package/admin-dist/public/assets/settings-DmMyn_6A.js +0 -1
- package/admin-dist/public/assets/switch-h3Rrnl5i.js +0 -1
- package/admin-dist/public/assets/tabs-imc8h-Dp.js +0 -1
- package/admin-dist/public/assets/taxonomies-dAsrT65H.js +0 -1
- package/admin-dist/public/assets/trash-SAWKZZHv.js +0 -1
- package/admin-dist/public/assets/useBreadcrumbLabel-BECBMCzM.js +0 -1
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BwDlABVk.mjs +0 -4
- package/admin-dist/server/_ssr/alert-CVt45UUP.mjs +0 -92
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as api, c as cn } from "./router-
|
|
3
|
-
import { C as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { C as
|
|
9
|
-
import {
|
|
1
|
+
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
+
import { a as api, c as cn } from "./router-D1BMAMJT.mjs";
|
|
3
|
+
import { C as CmsButton, B as Badge } from "./CmsButton-B45JAKR1.mjs";
|
|
4
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-BXZrMauE.mjs";
|
|
5
|
+
import { C as CmsEmptyState, b as CmsConfirmDialog, c as CmsDialog, I as Input, a as Checkbox } from "./CmsEmptyState-D_BQFAVR.mjs";
|
|
6
|
+
import { L as Label } from "./label-T-QNKAr6.mjs";
|
|
7
|
+
import { T as Textarea } from "./textarea-4K5OJgeh.mjs";
|
|
8
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-CrUZA59A.mjs";
|
|
9
|
+
import { C as CmsSurface } from "./CmsSurface-DKJZhpjk.mjs";
|
|
10
|
+
import { S as ScrollArea } from "./scroll-area-C0pic_WA.mjs";
|
|
10
11
|
import { u as useQuery, d as useMutation } from "../_libs/convex.mjs";
|
|
11
|
-
import { Q as Plus, V as Tag, W as Pencil, w as Trash2,
|
|
12
|
+
import { Q as Plus, V as Tag, W as Pencil, w as Trash2, Y as FolderTree, z as Tags, d as ChevronDown, f as ChevronRight } from "../_libs/lucide-react.mjs";
|
|
12
13
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
13
14
|
import "../_libs/tiny-warning.mjs";
|
|
14
15
|
import "../_chunks/_libs/@tanstack/router-core.mjs";
|
|
@@ -801,17 +802,21 @@ function TermEditModal({
|
|
|
801
802
|
}
|
|
802
803
|
);
|
|
803
804
|
}
|
|
804
|
-
function TaxonomiesPage() {
|
|
805
|
-
const [selectedTaxonomy, setSelectedTaxonomy] = reactExports.useState(
|
|
805
|
+
function TaxonomiesPage({ api: api2, navigation: _navigation }) {
|
|
806
|
+
const [selectedTaxonomy, setSelectedTaxonomy] = reactExports.useState(
|
|
807
|
+
null
|
|
808
|
+
);
|
|
806
809
|
const [showCreateModal, setShowCreateModal] = reactExports.useState(false);
|
|
807
810
|
const [editingTaxonomy, setEditingTaxonomy] = reactExports.useState(null);
|
|
808
|
-
const [showDeleteConfirm, setShowDeleteConfirm] = reactExports.useState(
|
|
811
|
+
const [showDeleteConfirm, setShowDeleteConfirm] = reactExports.useState(
|
|
812
|
+
null
|
|
813
|
+
);
|
|
809
814
|
const [deleteError, setDeleteError] = reactExports.useState(null);
|
|
810
|
-
const taxonomiesQuery = useQuery(
|
|
815
|
+
const taxonomiesQuery = useQuery(api2.taxonomies.list, {
|
|
811
816
|
isActive: void 0,
|
|
812
817
|
includeDeleted: false
|
|
813
818
|
});
|
|
814
|
-
const deleteTaxonomy = useMutation(
|
|
819
|
+
const deleteTaxonomy = useMutation(api2.taxonomies.deleteTaxonomy);
|
|
815
820
|
const taxonomies = taxonomiesQuery?.page ?? [];
|
|
816
821
|
const isLoading = taxonomiesQuery === void 0;
|
|
817
822
|
const handleCreate = reactExports.useCallback(() => {
|
|
@@ -822,21 +827,22 @@ function TaxonomiesPage() {
|
|
|
822
827
|
setEditingTaxonomy(taxonomy);
|
|
823
828
|
setShowCreateModal(true);
|
|
824
829
|
}, []);
|
|
825
|
-
const handleDelete = reactExports.useCallback(
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
id: taxonomyId
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
830
|
+
const handleDelete = reactExports.useCallback(
|
|
831
|
+
async (taxonomyId) => {
|
|
832
|
+
setDeleteError(null);
|
|
833
|
+
try {
|
|
834
|
+
await deleteTaxonomy({ id: taxonomyId });
|
|
835
|
+
setShowDeleteConfirm(null);
|
|
836
|
+
if (selectedTaxonomy?._id === taxonomyId) {
|
|
837
|
+
setSelectedTaxonomy(null);
|
|
838
|
+
}
|
|
839
|
+
} catch (error) {
|
|
840
|
+
const message = error instanceof Error ? error.message : "Failed to delete taxonomy";
|
|
841
|
+
setDeleteError(message);
|
|
834
842
|
}
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
}
|
|
839
|
-
}, [deleteTaxonomy, selectedTaxonomy]);
|
|
843
|
+
},
|
|
844
|
+
[deleteTaxonomy, selectedTaxonomy]
|
|
845
|
+
);
|
|
840
846
|
const handleSaveComplete = reactExports.useCallback(() => {
|
|
841
847
|
setShowCreateModal(false);
|
|
842
848
|
setEditingTaxonomy(null);
|
|
@@ -846,7 +852,13 @@ function TaxonomiesPage() {
|
|
|
846
852
|
};
|
|
847
853
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-[calc(100vh-4rem)] flex-col p-6", children: [
|
|
848
854
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-6 flex items-start justify-between", children: [
|
|
849
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
855
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
856
|
+
CmsPageHeader,
|
|
857
|
+
{
|
|
858
|
+
title: "Taxonomies",
|
|
859
|
+
description: "Manage tags, categories, and other classification systems"
|
|
860
|
+
}
|
|
861
|
+
),
|
|
850
862
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CmsButton, { onClick: handleCreate, children: [
|
|
851
863
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-4" }),
|
|
852
864
|
"Create Taxonomy"
|
|
@@ -859,28 +871,74 @@ function TaxonomiesPage() {
|
|
|
859
871
|
] }) : taxonomies.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center p-6 text-center", children: [
|
|
860
872
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag, { className: "mb-3 size-8 text-muted-foreground" }),
|
|
861
873
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: "No taxonomies created yet." }),
|
|
862
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
874
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
875
|
+
CmsButton,
|
|
876
|
+
{
|
|
877
|
+
variant: "secondary",
|
|
878
|
+
className: "mt-4",
|
|
879
|
+
onClick: handleCreate,
|
|
880
|
+
children: "Create your first taxonomy"
|
|
881
|
+
}
|
|
882
|
+
)
|
|
883
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "divide-y", children: taxonomies.map((taxonomy) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
884
|
+
"div",
|
|
885
|
+
{
|
|
886
|
+
className: cn(
|
|
887
|
+
"group flex cursor-pointer items-center gap-3 p-3 transition-colors hover:bg-muted/50",
|
|
888
|
+
selectedTaxonomy?._id === taxonomy._id && "bg-primary/5",
|
|
889
|
+
!taxonomy.isActive && "opacity-60"
|
|
890
|
+
),
|
|
891
|
+
onClick: () => setSelectedTaxonomy(taxonomy),
|
|
892
|
+
children: [
|
|
893
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground", children: getTypeIcon(taxonomy) }),
|
|
894
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
895
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "truncate text-sm font-medium text-foreground", children: taxonomy.displayName }),
|
|
896
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "truncate text-xs text-muted-foreground", children: taxonomy.name })
|
|
897
|
+
] }),
|
|
898
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
899
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "secondary", className: "text-xs font-normal", children: taxonomy.isHierarchical ? "Hierarchical" : "Flat" }),
|
|
900
|
+
!taxonomy.isActive && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
901
|
+
Badge,
|
|
902
|
+
{
|
|
903
|
+
variant: "outline",
|
|
904
|
+
className: "text-xs font-normal",
|
|
905
|
+
children: "Inactive"
|
|
906
|
+
}
|
|
907
|
+
)
|
|
908
|
+
] }),
|
|
909
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100", children: [
|
|
910
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
911
|
+
CmsButton,
|
|
912
|
+
{
|
|
913
|
+
variant: "ghost",
|
|
914
|
+
size: "icon-sm",
|
|
915
|
+
onClick: (e) => {
|
|
916
|
+
e.stopPropagation();
|
|
917
|
+
handleEdit(taxonomy);
|
|
918
|
+
},
|
|
919
|
+
title: "Edit taxonomy",
|
|
920
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Pencil, { className: "size-4" })
|
|
921
|
+
}
|
|
922
|
+
),
|
|
923
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
924
|
+
CmsButton,
|
|
925
|
+
{
|
|
926
|
+
variant: "ghost",
|
|
927
|
+
size: "icon-sm",
|
|
928
|
+
onClick: (e) => {
|
|
929
|
+
e.stopPropagation();
|
|
930
|
+
setShowDeleteConfirm(taxonomy._id);
|
|
931
|
+
},
|
|
932
|
+
title: "Delete taxonomy",
|
|
933
|
+
className: "text-destructive hover:bg-destructive/10 hover:text-destructive",
|
|
934
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-4" })
|
|
935
|
+
}
|
|
936
|
+
)
|
|
937
|
+
] })
|
|
938
|
+
]
|
|
939
|
+
},
|
|
940
|
+
taxonomy._id
|
|
941
|
+
)) }) }) }),
|
|
884
942
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CmsSurface, { elevation: "base", className: "min-w-0 flex-1 overflow-hidden", children: selectedTaxonomy ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-col", children: [
|
|
885
943
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between border-b p-4", children: [
|
|
886
944
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
@@ -890,26 +948,68 @@ function TaxonomiesPage() {
|
|
|
890
948
|
selectedTaxonomy.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: selectedTaxonomy.description })
|
|
891
949
|
] })
|
|
892
950
|
] }),
|
|
893
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
951
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
952
|
+
CmsButton,
|
|
953
|
+
{
|
|
954
|
+
variant: "secondary",
|
|
955
|
+
onClick: () => handleEdit(selectedTaxonomy),
|
|
956
|
+
children: "Edit Taxonomy"
|
|
957
|
+
}
|
|
958
|
+
)
|
|
894
959
|
] }),
|
|
895
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-auto p-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
896
|
-
|
|
960
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-auto p-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
961
|
+
TermTree,
|
|
962
|
+
{
|
|
963
|
+
taxonomyId: selectedTaxonomy._id,
|
|
964
|
+
isHierarchical: selectedTaxonomy.isHierarchical,
|
|
965
|
+
allowInlineCreation: selectedTaxonomy.allowInlineCreation
|
|
966
|
+
}
|
|
967
|
+
) })
|
|
968
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
969
|
+
CmsEmptyState,
|
|
970
|
+
{
|
|
971
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Tag, { className: "size-6" }),
|
|
972
|
+
title: "Select a taxonomy",
|
|
973
|
+
description: "Select a taxonomy to view and manage its terms",
|
|
974
|
+
className: "h-full"
|
|
975
|
+
}
|
|
976
|
+
) })
|
|
897
977
|
] }),
|
|
898
|
-
showCreateModal && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
978
|
+
showCreateModal && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
979
|
+
TaxonomyEditor,
|
|
980
|
+
{
|
|
981
|
+
taxonomy: editingTaxonomy,
|
|
982
|
+
onSave: handleSaveComplete,
|
|
983
|
+
onCancel: () => {
|
|
984
|
+
setShowCreateModal(false);
|
|
985
|
+
setEditingTaxonomy(null);
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
),
|
|
989
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
990
|
+
CmsConfirmDialog,
|
|
991
|
+
{
|
|
992
|
+
open: showDeleteConfirm !== null,
|
|
993
|
+
onOpenChange: (open) => {
|
|
994
|
+
if (!open) {
|
|
995
|
+
setShowDeleteConfirm(null);
|
|
996
|
+
setDeleteError(null);
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
title: "Delete Taxonomy",
|
|
1000
|
+
description: "Are you sure you want to delete this taxonomy? All associated terms will also be deleted.",
|
|
1001
|
+
confirmLabel: "Delete",
|
|
1002
|
+
onConfirm: () => showDeleteConfirm && handleDelete(showDeleteConfirm),
|
|
1003
|
+
variant: "danger",
|
|
1004
|
+
error: deleteError
|
|
906
1005
|
}
|
|
907
|
-
|
|
908
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { className: "size-4" }),
|
|
909
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertDescription, { children: deleteError })
|
|
910
|
-
] }) })
|
|
1006
|
+
)
|
|
911
1007
|
] });
|
|
912
1008
|
}
|
|
1009
|
+
function TaxonomiesRoute() {
|
|
1010
|
+
const navigation = useTanStackNavigation();
|
|
1011
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(TaxonomiesPage, { api, navigation });
|
|
1012
|
+
}
|
|
913
1013
|
export {
|
|
914
|
-
|
|
1014
|
+
TaxonomiesRoute as component
|
|
915
1015
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { c as cn } from "./router-
|
|
2
|
+
import { c as cn } from "./router-D1BMAMJT.mjs";
|
|
3
3
|
function Textarea({ className, ...props }) {
|
|
4
4
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
5
5
|
"textarea",
|