convex-cms 0.0.9-alpha.6 → 0.0.9-alpha.7
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/admin/src/contexts/SettingsConfigContext.tsx +67 -11
- package/admin/src/pages/SettingsPage.tsx +124 -80
- package/admin/src/routes/__root.tsx +4 -1
- package/admin-dist/nitro.json +1 -1
- package/admin-dist/public/assets/{CmsEmptyState-la_kLGHv.js → CmsEmptyState-gxhf-b6F.js} +1 -1
- package/admin-dist/public/assets/{CmsPageHeader-Cf0SafVG.js → CmsPageHeader-equV7Sd9.js} +1 -1
- package/admin-dist/public/assets/{CmsStatusBadge-BovugIHH.js → CmsStatusBadge-DQAslyW4.js} +1 -1
- package/admin-dist/public/assets/{CmsSurface-Dp1TegU4.js → CmsSurface-DdC_aGB5.js} +1 -1
- package/admin-dist/public/assets/{CmsToolbar-B1zdfMu0.js → CmsToolbar-Crleacii.js} +1 -1
- package/admin-dist/public/assets/{ContentEntryEditor-CB--8SC3.js → ContentEntryEditor-RmtIo3lE.js} +1 -1
- package/admin-dist/public/assets/{TaxonomyFilter-fmZxxbdA.js → TaxonomyFilter-BsoK90hw.js} +1 -1
- package/admin-dist/public/assets/{_contentTypeId-vT09P77i.js → _contentTypeId-Bn2ItET5.js} +1 -1
- package/admin-dist/public/assets/{_entryId-Dhq6ybYt.js → _entryId-CkZWLvOZ.js} +1 -1
- package/admin-dist/public/assets/{alert-DfdkD-ZZ.js → alert-C7q0k4u0.js} +1 -1
- package/admin-dist/public/assets/{badge-Cmc3T9vs.js → badge-DiaAY1It.js} +1 -1
- package/admin-dist/public/assets/{circle-check-big-B8AJAcBi.js → circle-check-big-Bl0y10am.js} +1 -1
- package/admin-dist/public/assets/{command-BsmkQ6_j.js → command-QyTDg7pa.js} +1 -1
- package/admin-dist/public/assets/{content-DdQ1u7T4.js → content-D868GT7T.js} +1 -1
- package/admin-dist/public/assets/{content-types-QYcwm0Sy.js → content-types-DD7fJA5i.js} +1 -1
- package/admin-dist/public/assets/{index-kxLB3e43.js → index-CMnzrG_D.js} +1 -1
- package/admin-dist/public/assets/{main-BrFRroF1.js → main-DWSY6jZL.js} +19 -19
- package/admin-dist/public/assets/{media-Cx9IyZvU.js → media-aqxopgtw.js} +1 -1
- package/admin-dist/public/assets/{new._contentTypeId-2HsDwzy_.js → new._contentTypeId-9ji3Hibs.js} +1 -1
- package/admin-dist/public/assets/{pencil-PaJhpDeC.js → pencil-D8GqMaV3.js} +1 -1
- package/admin-dist/public/assets/{refresh-cw-D_KNzBUN.js → refresh-cw-JipRPLLT.js} +1 -1
- package/admin-dist/public/assets/{rotate-ccw-I3wzW1RQ.js → rotate-ccw-CK11hP79.js} +1 -1
- package/admin-dist/public/assets/{scroll-area-t72-FBB4.js → scroll-area-CJS1P20j.js} +1 -1
- package/admin-dist/public/assets/{search-BsuImjd-.js → search-BT8HTHxb.js} +1 -1
- package/admin-dist/public/assets/settings-DCY0s2hR.js +1 -0
- package/admin-dist/public/assets/{switch-DWN_fx2n.js → switch-Cb-ecsrJ.js} +1 -1
- package/admin-dist/public/assets/{tabs-BG0vukFH.js → tabs-CFEXN2p7.js} +1 -1
- package/admin-dist/public/assets/{tanstack-adapter-DHsy8Fjs.js → tanstack-adapter-CGxC-fmP.js} +1 -1
- package/admin-dist/public/assets/{taxonomies-WG8YV2pR.js → taxonomies-C21Z8CBa.js} +1 -1
- package/admin-dist/public/assets/{trash-C3Lt5m9d.js → trash-CMRJlzc0.js} +1 -1
- package/admin-dist/public/assets/{useBreadcrumbLabel-BC8wl3jQ.js → useBreadcrumbLabel-ZZFYdqzi.js} +1 -1
- package/admin-dist/public/assets/{usePermissions-BM1Vv1YJ.js → usePermissions-C2FRye75.js} +1 -1
- package/admin-dist/server/_ssr/{CmsEmptyState-NKmyUWD9.mjs → CmsEmptyState-DWqt3y_O.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsPageHeader-CngxPIOg.mjs → CmsPageHeader-BuN0dOPA.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsStatusBadge-D4fiHjJD.mjs → CmsStatusBadge-CV35-X_8.mjs} +2 -2
- package/admin-dist/server/_ssr/{CmsSurface-DN9I2iuX.mjs → CmsSurface-DEcWf_aJ.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsToolbar-ux-veU96.mjs → CmsToolbar-BMBEZVgb.mjs} +1 -1
- package/admin-dist/server/_ssr/{ContentEntryEditor-BiY9bJr9.mjs → ContentEntryEditor-Db9Sy_0y.mjs} +8 -8
- package/admin-dist/server/_ssr/{TaxonomyFilter-BdtKJie2.mjs → TaxonomyFilter-D_xDfC8t.mjs} +3 -3
- package/admin-dist/server/_ssr/{_contentTypeId-CRo5WQVu.mjs → _contentTypeId-HZlfcQi-.mjs} +10 -10
- package/admin-dist/server/_ssr/{_entryId-FnG3uc_Y.mjs → _entryId-Cc_Ry7AV.mjs} +11 -11
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-DhspKP9e.mjs +4 -0
- package/admin-dist/server/_ssr/{badge-D3SGS0Jp.mjs → badge-CmG74mbX.mjs} +1 -1
- package/admin-dist/server/_ssr/{command-2t7uTBKt.mjs → command-DWXiOsOb.mjs} +1 -1
- package/admin-dist/server/_ssr/{content-CCsSzXeb.mjs → content-CAgFQzx-.mjs} +8 -8
- package/admin-dist/server/_ssr/{content-types-CuVG3uSt.mjs → content-types-CqKvAZ8P.mjs} +6 -6
- package/admin-dist/server/_ssr/{index-CLwCLoco.mjs → index--qYdIqvh.mjs} +3 -3
- package/admin-dist/server/_ssr/index.mjs +2 -2
- package/admin-dist/server/_ssr/{media-D3duVWkk.mjs → media-AXePwPAK.mjs} +9 -9
- package/admin-dist/server/_ssr/{new._contentTypeId-6uKYdgGO.mjs → new._contentTypeId-DNWIl-Ha.mjs} +10 -10
- package/admin-dist/server/_ssr/{router-D9Zk56-q.mjs → router-B_gIkxi2.mjs} +59 -16
- package/admin-dist/server/_ssr/{scroll-area-vbjKsfFu.mjs → scroll-area-Cz-9ry0J.mjs} +1 -1
- package/admin-dist/server/_ssr/{settings-D7-vwjqD.mjs → settings-BjSxo5d6.mjs} +95 -80
- package/admin-dist/server/_ssr/{switch-CbKuV4Qh.mjs → switch-IsC1gdb1.mjs} +1 -1
- package/admin-dist/server/_ssr/{tabs-C_IfqLiu.mjs → tabs-BdgLwrYe.mjs} +1 -1
- package/admin-dist/server/_ssr/{tanstack-adapter-yhyAcBi-.mjs → tanstack-adapter-CFwjrqRl.mjs} +1 -1
- package/admin-dist/server/_ssr/{taxonomies-C15s_nvM.mjs → taxonomies-D5Di9EgA.mjs} +7 -7
- package/admin-dist/server/_ssr/{trash-BPIjmAUh.mjs → trash-DokZl1yA.mjs} +7 -7
- package/admin-dist/server/_ssr/{useBreadcrumbLabel-BC7plG0L.mjs → useBreadcrumbLabel-C4TsA5z0.mjs} +1 -1
- package/admin-dist/server/_ssr/{usePermissions-DJ8a7bZU.mjs → usePermissions-COsRlMp-.mjs} +1 -1
- package/admin-dist/server/index.mjs +153 -153
- package/package.json +1 -1
- package/admin-dist/public/assets/settings-DB6TvceQ.js +0 -1
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BbSNqRIw.mjs +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as W,r as t,m as q,a as I,j as e,n as R,L as f,I as A,o as Z,g as _,C as N,u as M,P as L,p as X,i as U,q as Y,s as ee,h as P,T as V,t as H,k as se}from"./main-BrFRroF1.js";import{C as G}from"./CmsEmptyState-la_kLGHv.js";import{P as J}from"./pencil-PaJhpDeC.js";import{C as ae}from"./CmsPageHeader-Cf0SafVG.js";import{C as B}from"./CmsSurface-Dp1TegU4.js";import{B as Q}from"./badge-Cmc3T9vs.js";import{S as te}from"./scroll-area-t72-FBB4.js";import{u as re}from"./tanstack-adapter-DHsy8Fjs.js";const ie=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],ne=W("folder-tree",ie);function le({taxonomy:i,onSave:c,onCancel:d}){const x=!!i,[l,C]=t.useState({name:i?.name??"",displayName:i?.displayName??"",description:i?.description??"",isHierarchical:i?.isHierarchical??!1,allowInlineCreation:i?.allowInlineCreation??!0,isActive:i?.isActive??!0,icon:i?.icon??"",sortOrder:i?.sortOrder??0}),[g,r]=t.useState({}),[u,p]=t.useState(!1),[O,m]=t.useState(null),[y,S]=t.useState(!1),w=q(),k=I(w.createTaxonomy),z=I(w.updateTaxonomy);t.useEffect(()=>{i&&C({name:i.name,displayName:i.displayName,description:i.description??"",isHierarchical:i.isHierarchical,allowInlineCreation:i.allowInlineCreation,isActive:i.isActive,icon:i.icon??"",sortOrder:i.sortOrder??0})},[i]);const h=t.useCallback((s,T)=>{C(E=>({...E,[s]:T})),r(E=>{const{[s]:n,...a}=E;return a})},[]),b=t.useCallback(s=>s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),[]),F=t.useCallback(s=>{h("displayName",s),!x&&!y&&h("name",b(s))},[h,x,y,b]),v=t.useCallback(()=>{const s={};return l.name.trim()?/^[a-z][a-z0-9-]*$/.test(l.name)||(s.name="Slug must start with a letter and contain only lowercase letters, numbers, and hyphens"):s.name="Slug is required",l.displayName.trim()||(s.displayName="Display name is required"),r(s),Object.keys(s).length===0},[l]),o=t.useCallback(async s=>{if(s.preventDefault(),!!v()){p(!0),m(null);try{x&&i?await z({id:i._id,displayName:l.displayName,description:l.description||void 0,allowInlineCreation:l.allowInlineCreation,icon:l.icon||void 0,sortOrder:l.sortOrder,isActive:l.isActive}):await k({name:l.name,displayName:l.displayName,description:l.description||void 0,isHierarchical:l.isHierarchical,allowInlineCreation:l.allowInlineCreation,icon:l.icon||void 0,sortOrder:l.sortOrder}),c()}catch(T){const E=T instanceof Error?T.message:"Failed to save taxonomy";m(E)}finally{p(!1)}}},[v,x,i,l,k,z,c]);return e.jsx(R,{open:!0,onOpenChange:s=>!s&&!u&&d(),title:x?"Edit Taxonomy":"Create Taxonomy",size:"lg",footer:e.jsxs(e.Fragment,{children:[e.jsx(N,{variant:"outline",onClick:d,disabled:u,children:"Cancel"}),e.jsx(N,{variant:"primary",onClick:o,loading:u,children:x?"Save Changes":"Create Taxonomy"})]}),children:e.jsxs("form",{onSubmit:o,className:"space-y-4",children:[O&&e.jsx("div",{className:"diff-removed rounded-lg border px-3 py-2 text-sm",children:O}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"displayName",children:["Display Name ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"displayName",value:l.displayName,onChange:s=>F(s.target.value),placeholder:"e.g., Categories, Tags",disabled:u,className:g.displayName?"border-destructive":""}),g.displayName&&e.jsx("p",{className:"text-xs text-destructive",children:g.displayName})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"name",children:["Slug ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"name",value:l.name,onChange:s=>{h("name",s.target.value.toLowerCase()),S(!0)},placeholder:"e.g., categories, tags",disabled:u||x,className:g.name?"border-destructive":""}),g.name&&e.jsx("p",{className:"text-xs text-destructive",children:g.name}),x&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Slug cannot be changed after creation"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"description",children:"Description"}),e.jsx(Z,{id:"description",value:l.description,onChange:s=>h("description",s.target.value),placeholder:"Optional description",rows:2,disabled:u})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"icon",children:"Icon"}),e.jsx(A,{id:"icon",value:l.icon,onChange:s=>h("icon",s.target.value),placeholder:"e.g., 🏷️ or folder",disabled:u}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Emoji or icon name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"sortOrder",children:"Sort Order"}),e.jsx(A,{id:"sortOrder",type:"number",value:l.sortOrder,onChange:s=>h("sortOrder",parseInt(s.target.value)||0),disabled:u})]})]}),e.jsxs("div",{className:"space-y-4 pt-2",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"isHierarchical",checked:l.isHierarchical,onCheckedChange:s=>h("isHierarchical",s),disabled:u||x}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"isHierarchical",className:"cursor-pointer font-medium",children:"Hierarchical"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Terms can have parent-child relationships (like categories)"}),x&&e.jsx("p",{className:"text-xs text-warning",children:"Hierarchy type cannot be changed after creation"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"allowInlineCreation",checked:l.allowInlineCreation,onCheckedChange:s=>h("allowInlineCreation",s),disabled:u}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"allowInlineCreation",className:"cursor-pointer font-medium",children:"Allow inline creation"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Users can create new terms while editing content"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"isActive",checked:l.isActive,onCheckedChange:s=>h("isActive",s),disabled:u}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"isActive",className:"cursor-pointer font-medium",children:"Active"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Inactive taxonomies are hidden from content editors"})]})]})]})]})})}function oe({taxonomyId:i,isHierarchical:c,allowInlineCreation:d}){const x=q(),[l,C]=t.useState(new Set),[g,r]=t.useState(null),[u,p]=t.useState(!1),[O,m]=t.useState(),[y,S]=t.useState(null),[w,k]=t.useState(null),z=c?M(x.getTermsHierarchy,{taxonomyId:i}):M(x.listTerms,{taxonomyId:i}),h=I(x.deleteTerm),b=c?z:z?.page,F=b===void 0,v=t.useCallback(n=>{C(a=>{const j=new Set(a);return j.has(n)?j.delete(n):j.add(n),j})},[]),o=t.useCallback(n=>{m(n),r(null),p(!0)},[]),s=t.useCallback(n=>{r(n),p(!0)},[]),T=t.useCallback(async n=>{k(null);try{await h({id:n,cascade:!0}),S(null)}catch(a){const j=a instanceof Error?a.message:"Failed to delete term";k(j)}},[h]),E=(n,a=0)=>{const j=n.children&&n.children.length>0,D=l.has(n._id);return e.jsxs("div",{className:"border-b border-border/50 last:border-0",children:[e.jsxs("div",{className:P("group flex items-center gap-2 py-2 pr-2 transition-colors hover:bg-muted/50",a>0&&"border-l-2 border-muted"),style:{paddingLeft:`${a*24+8}px`},children:[c&&e.jsx("button",{type:"button",onClick:()=>v(n._id),disabled:!j,className:P("flex size-5 items-center justify-center rounded transition-colors",j?"text-muted-foreground hover:bg-muted hover:text-foreground":"invisible"),"aria-expanded":D,children:j&&(D?e.jsx(Y,{className:"size-4"}):e.jsx(ee,{className:"size-4"}))}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[n.color&&e.jsx("span",{className:"size-3 shrink-0 rounded-full",style:{backgroundColor:n.color}}),n.icon&&e.jsx("span",{className:"shrink-0 text-sm",children:n.icon}),e.jsx("span",{className:"truncate font-medium text-foreground",children:n.name}),e.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:["(",n.slug,")"]}),e.jsxs("span",{className:"ml-auto shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[n.usageCount," ",n.usageCount===1?"use":"uses"]})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[c&&d&&e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>o(n._id),title:"Add child term",className:"size-7 p-0",children:e.jsx(L,{className:"size-3.5"})}),e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>s(n),title:"Edit term",className:"size-7 p-0",children:e.jsx(J,{className:"size-3.5"})}),e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>S(n._id),title:"Delete term",className:"size-7 p-0 text-destructive hover:text-destructive",children:e.jsx(V,{className:"size-3.5"})})]})]}),c&&j&&D&&e.jsx("div",{children:n.children.map($=>E($,a+1))})]},n._id)};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-sm font-medium text-foreground",children:"Terms"}),e.jsxs(N,{variant:"secondary",size:"sm",onClick:()=>o(),children:[e.jsx(L,{className:"size-3.5"}),"Add Term"]})]}),w&&e.jsxs("div",{className:"diff-removed flex items-center justify-between rounded-lg border px-3 py-2 text-sm",children:[w,e.jsx("button",{type:"button",onClick:()=>k(null),className:"text-diff-removed hover:text-diff-removed-foreground",children:"×"})]}),e.jsx("div",{className:"rounded-lg border bg-card",children:F?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx("div",{className:"size-6 animate-spin rounded-full border-2 border-muted border-t-primary"})}):!b||b.length===0?e.jsx(G,{icon:e.jsx(X,{className:"size-8"}),title:"No terms yet",description:"Add your first term to start organizing content.",action:d?{label:"Add your first term",onClick:()=>o(),variant:"secondary"}:void 0}):e.jsx("div",{className:"divide-y divide-border/50",children:b.map(n=>E(n))})}),u&&e.jsx(ce,{taxonomyId:i,term:g,parentId:O,isHierarchical:c,onSave:()=>{p(!1),r(null),m(void 0)},onCancel:()=>{p(!1),r(null),m(void 0)}}),e.jsx(U,{open:!!y,onOpenChange:n=>!n&&S(null),title:"Delete Term",description:c?"Are you sure you want to delete this term? All child terms will also be deleted.":"Are you sure you want to delete this term?",confirmLabel:"Delete",variant:"danger",onConfirm:()=>y&&T(y)})]})}function ce({taxonomyId:i,term:c,parentId:d,isHierarchical:x,onSave:l,onCancel:C}){const g=!!c,[r,u]=t.useState({name:c?.name??"",slug:c?.slug??"",description:c?.description??"",color:c?.color??"",icon:c?.icon??"",sortOrder:c?.sortOrder??0}),[p,O]=t.useState({}),[m,y]=t.useState(!1),[S,w]=t.useState(null),[k,z]=t.useState(!1),h=q(),b=I(h.createTerm),F=I(h.updateTerm),v=t.useCallback((a,j)=>{u(D=>({...D,[a]:j})),O(D=>{const{[a]:$,...K}=D;return K})},[]),o=t.useCallback(a=>a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),[]),s=t.useCallback(a=>{v("name",a),!g&&!k&&v("slug",o(a))},[v,g,k,o]),T=t.useCallback(()=>{const a={};return r.name.trim()||(a.name="Name is required"),r.slug.trim()?/^[a-z0-9-]+$/.test(r.slug)||(a.slug="Slug must contain only lowercase letters, numbers, and hyphens"):a.slug="Slug is required",O(a),Object.keys(a).length===0},[r]),E=t.useCallback(async a=>{if(a.preventDefault(),!!T()){y(!0),w(null);try{g&&c?await F({id:c._id,name:r.name,slug:r.slug,description:r.description||void 0,color:r.color||void 0,icon:r.icon||void 0,sortOrder:r.sortOrder}):await b({taxonomyId:i,name:r.name,slug:r.slug,description:r.description||void 0,parentId:d,color:r.color||void 0,icon:r.icon||void 0,sortOrder:r.sortOrder}),l()}catch(j){const D=j instanceof Error?j.message:"Failed to save term";w(D)}finally{y(!1)}}},[T,g,c,r,i,d,b,F,l]),n=g?"Edit Term":d?"Create Child Term":"Create Term";return e.jsx(R,{open:!0,onOpenChange:a=>!a&&!m&&C(),title:n,size:"md",footer:e.jsxs(e.Fragment,{children:[e.jsx(N,{variant:"outline",onClick:C,disabled:m,children:"Cancel"}),e.jsx(N,{variant:"primary",onClick:E,loading:m,children:g?"Save Changes":"Create Term"})]}),children:e.jsxs("form",{onSubmit:E,className:"space-y-4",children:[S&&e.jsx("div",{className:"diff-removed rounded-lg border px-3 py-2 text-sm",children:S}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"termName",children:["Name ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"termName",value:r.name,onChange:a=>s(a.target.value),placeholder:"e.g., Technology",disabled:m,className:p.name?"border-destructive":""}),p.name&&e.jsx("p",{className:"text-xs text-destructive",children:p.name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"termSlug",children:["Slug ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"termSlug",value:r.slug,onChange:a=>{v("slug",a.target.value.toLowerCase()),z(!0)},placeholder:"e.g., technology",disabled:m,className:p.slug?"border-destructive":""}),p.slug&&e.jsx("p",{className:"text-xs text-destructive",children:p.slug})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termDescription",children:"Description"}),e.jsx(Z,{id:"termDescription",value:r.description,onChange:a=>v("description",a.target.value),placeholder:"Optional description",rows:2,disabled:m})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termColor",children:"Color"}),e.jsx(A,{id:"termColor",type:"color",value:r.color||"#6b7280",onChange:a=>v("color",a.target.value),disabled:m,className:"h-9 p-1"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termIcon",children:"Icon"}),e.jsx(A,{id:"termIcon",value:r.icon,onChange:a=>v("icon",a.target.value),placeholder:"e.g., 💻",disabled:m})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termSortOrder",children:"Sort Order"}),e.jsx(A,{id:"termSortOrder",type:"number",value:r.sortOrder,onChange:a=>v("sortOrder",parseInt(a.target.value)||0),disabled:m})]})]})]})})}function de({api:i,navigation:c}){const[d,x]=t.useState(null),[l,C]=t.useState(!1),[g,r]=t.useState(null),[u,p]=t.useState(null),[O,m]=t.useState(null),y=M(i.listTaxonomies,{isActive:void 0,includeDeleted:!1}),S=I(i.deleteTaxonomy),w=y?.page??[],k=y===void 0,z=t.useCallback(()=>{r(null),C(!0)},[]),h=t.useCallback(o=>{r(o),C(!0)},[]),b=t.useCallback(async o=>{m(null);try{await S({id:o}),p(null),d?._id===o&&x(null)}catch(s){const T=s instanceof Error?s.message:"Failed to delete taxonomy";m(T)}},[S,d]),F=t.useCallback(()=>{C(!1),r(null)},[]),v=o=>o.isHierarchical?e.jsx(ne,{className:"size-5"}):e.jsx(H,{className:"size-5"});return e.jsxs("div",{className:"flex h-[calc(100vh-4rem)] flex-col p-6",children:[e.jsxs("div",{className:"mb-6 flex items-start justify-between",children:[e.jsx(ae,{title:"Taxonomies",description:"Manage tags, categories, and other classification systems"}),e.jsxs(N,{onClick:z,children:[e.jsx(L,{className:"size-4"}),"Create Taxonomy"]})]}),e.jsxs("div",{className:"flex min-h-0 flex-1 gap-6",children:[e.jsx(B,{elevation:"base",className:"w-80 shrink-0 overflow-hidden",children:k?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("div",{className:"size-6 animate-spin rounded-full border-2 border-muted border-t-primary"}),e.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:"Loading taxonomies..."})]}):w.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center",children:[e.jsx(H,{className:"mb-3 size-8 text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"No taxonomies created yet."}),e.jsx(N,{variant:"secondary",className:"mt-4",onClick:z,children:"Create your first taxonomy"})]}):e.jsx(te,{className:"h-full",children:e.jsx("div",{className:"divide-y",children:w.map(o=>e.jsxs("div",{className:P("group flex cursor-pointer items-center gap-3 p-3 transition-colors hover:bg-muted/50",d?._id===o._id&&"bg-primary/5",!o.isActive&&"opacity-60"),onClick:()=>x(o),children:[e.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",children:v(o)}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"truncate text-sm font-medium text-foreground",children:o.displayName}),e.jsx("p",{className:"truncate text-xs text-muted-foreground",children:o.name})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsx(Q,{variant:"secondary",className:"text-xs font-normal",children:o.isHierarchical?"Hierarchical":"Flat"}),!o.isActive&&e.jsx(Q,{variant:"outline",className:"text-xs font-normal",children:"Inactive"})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[e.jsx(N,{variant:"ghost",size:"icon-sm",onClick:s=>{s.stopPropagation(),h(o)},title:"Edit taxonomy",children:e.jsx(J,{className:"size-4"})}),e.jsx(N,{variant:"ghost",size:"icon-sm",onClick:s=>{s.stopPropagation(),p(o._id)},title:"Delete taxonomy",className:"text-destructive hover:bg-destructive/10 hover:text-destructive",children:e.jsx(V,{className:"size-4"})})]})]},o._id))})})}),e.jsx(B,{elevation:"base",className:"min-w-0 flex-1 overflow-hidden",children:d?e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs("div",{className:"flex items-start justify-between border-b p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground",children:v(d)}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground",children:d.displayName}),d.description&&e.jsx("p",{className:"text-sm text-muted-foreground",children:d.description})]})]}),e.jsx(N,{variant:"secondary",onClick:()=>h(d),children:"Edit Taxonomy"})]}),e.jsx("div",{className:"flex-1 overflow-auto p-4",children:e.jsx(oe,{taxonomyId:d._id,isHierarchical:d.isHierarchical,allowInlineCreation:d.allowInlineCreation})})]}):e.jsx(G,{icon:e.jsx(H,{className:"size-6"}),title:"Select a taxonomy",description:"Select a taxonomy to view and manage its terms",className:"h-full"})})]}),l&&e.jsx(le,{taxonomy:g,onSave:F,onCancel:()=>{C(!1),r(null)}}),e.jsx(U,{open:u!==null,onOpenChange:o=>{o||(p(null),m(null))},title:"Delete Taxonomy",description:"Are you sure you want to delete this taxonomy? All associated terms will also be deleted.",confirmLabel:"Delete",onConfirm:()=>u&&b(u),variant:"danger",error:O})]})}function fe(){const i=re();return e.jsx(de,{api:se.admin,navigation:i})}export{fe as component};
|
|
1
|
+
import{l as W,r as t,m as q,a as I,j as e,n as R,L as f,I as A,o as Z,g as _,C as N,u as M,P as L,p as X,i as U,q as Y,s as ee,h as P,T as V,t as H,k as se}from"./main-DWSY6jZL.js";import{C as G}from"./CmsEmptyState-gxhf-b6F.js";import{P as J}from"./pencil-D8GqMaV3.js";import{C as ae}from"./CmsPageHeader-equV7Sd9.js";import{C as B}from"./CmsSurface-DdC_aGB5.js";import{B as Q}from"./badge-DiaAY1It.js";import{S as te}from"./scroll-area-CJS1P20j.js";import{u as re}from"./tanstack-adapter-CGxC-fmP.js";const ie=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],ne=W("folder-tree",ie);function le({taxonomy:i,onSave:c,onCancel:d}){const x=!!i,[l,C]=t.useState({name:i?.name??"",displayName:i?.displayName??"",description:i?.description??"",isHierarchical:i?.isHierarchical??!1,allowInlineCreation:i?.allowInlineCreation??!0,isActive:i?.isActive??!0,icon:i?.icon??"",sortOrder:i?.sortOrder??0}),[g,r]=t.useState({}),[u,p]=t.useState(!1),[O,m]=t.useState(null),[y,S]=t.useState(!1),w=q(),k=I(w.createTaxonomy),z=I(w.updateTaxonomy);t.useEffect(()=>{i&&C({name:i.name,displayName:i.displayName,description:i.description??"",isHierarchical:i.isHierarchical,allowInlineCreation:i.allowInlineCreation,isActive:i.isActive,icon:i.icon??"",sortOrder:i.sortOrder??0})},[i]);const h=t.useCallback((s,T)=>{C(E=>({...E,[s]:T})),r(E=>{const{[s]:n,...a}=E;return a})},[]),b=t.useCallback(s=>s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),[]),F=t.useCallback(s=>{h("displayName",s),!x&&!y&&h("name",b(s))},[h,x,y,b]),v=t.useCallback(()=>{const s={};return l.name.trim()?/^[a-z][a-z0-9-]*$/.test(l.name)||(s.name="Slug must start with a letter and contain only lowercase letters, numbers, and hyphens"):s.name="Slug is required",l.displayName.trim()||(s.displayName="Display name is required"),r(s),Object.keys(s).length===0},[l]),o=t.useCallback(async s=>{if(s.preventDefault(),!!v()){p(!0),m(null);try{x&&i?await z({id:i._id,displayName:l.displayName,description:l.description||void 0,allowInlineCreation:l.allowInlineCreation,icon:l.icon||void 0,sortOrder:l.sortOrder,isActive:l.isActive}):await k({name:l.name,displayName:l.displayName,description:l.description||void 0,isHierarchical:l.isHierarchical,allowInlineCreation:l.allowInlineCreation,icon:l.icon||void 0,sortOrder:l.sortOrder}),c()}catch(T){const E=T instanceof Error?T.message:"Failed to save taxonomy";m(E)}finally{p(!1)}}},[v,x,i,l,k,z,c]);return e.jsx(R,{open:!0,onOpenChange:s=>!s&&!u&&d(),title:x?"Edit Taxonomy":"Create Taxonomy",size:"lg",footer:e.jsxs(e.Fragment,{children:[e.jsx(N,{variant:"outline",onClick:d,disabled:u,children:"Cancel"}),e.jsx(N,{variant:"primary",onClick:o,loading:u,children:x?"Save Changes":"Create Taxonomy"})]}),children:e.jsxs("form",{onSubmit:o,className:"space-y-4",children:[O&&e.jsx("div",{className:"diff-removed rounded-lg border px-3 py-2 text-sm",children:O}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"displayName",children:["Display Name ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"displayName",value:l.displayName,onChange:s=>F(s.target.value),placeholder:"e.g., Categories, Tags",disabled:u,className:g.displayName?"border-destructive":""}),g.displayName&&e.jsx("p",{className:"text-xs text-destructive",children:g.displayName})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"name",children:["Slug ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"name",value:l.name,onChange:s=>{h("name",s.target.value.toLowerCase()),S(!0)},placeholder:"e.g., categories, tags",disabled:u||x,className:g.name?"border-destructive":""}),g.name&&e.jsx("p",{className:"text-xs text-destructive",children:g.name}),x&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Slug cannot be changed after creation"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"description",children:"Description"}),e.jsx(Z,{id:"description",value:l.description,onChange:s=>h("description",s.target.value),placeholder:"Optional description",rows:2,disabled:u})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"icon",children:"Icon"}),e.jsx(A,{id:"icon",value:l.icon,onChange:s=>h("icon",s.target.value),placeholder:"e.g., 🏷️ or folder",disabled:u}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Emoji or icon name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"sortOrder",children:"Sort Order"}),e.jsx(A,{id:"sortOrder",type:"number",value:l.sortOrder,onChange:s=>h("sortOrder",parseInt(s.target.value)||0),disabled:u})]})]}),e.jsxs("div",{className:"space-y-4 pt-2",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"isHierarchical",checked:l.isHierarchical,onCheckedChange:s=>h("isHierarchical",s),disabled:u||x}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"isHierarchical",className:"cursor-pointer font-medium",children:"Hierarchical"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Terms can have parent-child relationships (like categories)"}),x&&e.jsx("p",{className:"text-xs text-warning",children:"Hierarchy type cannot be changed after creation"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"allowInlineCreation",checked:l.allowInlineCreation,onCheckedChange:s=>h("allowInlineCreation",s),disabled:u}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"allowInlineCreation",className:"cursor-pointer font-medium",children:"Allow inline creation"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Users can create new terms while editing content"})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{id:"isActive",checked:l.isActive,onCheckedChange:s=>h("isActive",s),disabled:u}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"isActive",className:"cursor-pointer font-medium",children:"Active"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Inactive taxonomies are hidden from content editors"})]})]})]})]})})}function oe({taxonomyId:i,isHierarchical:c,allowInlineCreation:d}){const x=q(),[l,C]=t.useState(new Set),[g,r]=t.useState(null),[u,p]=t.useState(!1),[O,m]=t.useState(),[y,S]=t.useState(null),[w,k]=t.useState(null),z=c?M(x.getTermsHierarchy,{taxonomyId:i}):M(x.listTerms,{taxonomyId:i}),h=I(x.deleteTerm),b=c?z:z?.page,F=b===void 0,v=t.useCallback(n=>{C(a=>{const j=new Set(a);return j.has(n)?j.delete(n):j.add(n),j})},[]),o=t.useCallback(n=>{m(n),r(null),p(!0)},[]),s=t.useCallback(n=>{r(n),p(!0)},[]),T=t.useCallback(async n=>{k(null);try{await h({id:n,cascade:!0}),S(null)}catch(a){const j=a instanceof Error?a.message:"Failed to delete term";k(j)}},[h]),E=(n,a=0)=>{const j=n.children&&n.children.length>0,D=l.has(n._id);return e.jsxs("div",{className:"border-b border-border/50 last:border-0",children:[e.jsxs("div",{className:P("group flex items-center gap-2 py-2 pr-2 transition-colors hover:bg-muted/50",a>0&&"border-l-2 border-muted"),style:{paddingLeft:`${a*24+8}px`},children:[c&&e.jsx("button",{type:"button",onClick:()=>v(n._id),disabled:!j,className:P("flex size-5 items-center justify-center rounded transition-colors",j?"text-muted-foreground hover:bg-muted hover:text-foreground":"invisible"),"aria-expanded":D,children:j&&(D?e.jsx(Y,{className:"size-4"}):e.jsx(ee,{className:"size-4"}))}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[n.color&&e.jsx("span",{className:"size-3 shrink-0 rounded-full",style:{backgroundColor:n.color}}),n.icon&&e.jsx("span",{className:"shrink-0 text-sm",children:n.icon}),e.jsx("span",{className:"truncate font-medium text-foreground",children:n.name}),e.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:["(",n.slug,")"]}),e.jsxs("span",{className:"ml-auto shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[n.usageCount," ",n.usageCount===1?"use":"uses"]})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[c&&d&&e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>o(n._id),title:"Add child term",className:"size-7 p-0",children:e.jsx(L,{className:"size-3.5"})}),e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>s(n),title:"Edit term",className:"size-7 p-0",children:e.jsx(J,{className:"size-3.5"})}),e.jsx(N,{variant:"ghost",size:"sm",onClick:()=>S(n._id),title:"Delete term",className:"size-7 p-0 text-destructive hover:text-destructive",children:e.jsx(V,{className:"size-3.5"})})]})]}),c&&j&&D&&e.jsx("div",{children:n.children.map($=>E($,a+1))})]},n._id)};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-sm font-medium text-foreground",children:"Terms"}),e.jsxs(N,{variant:"secondary",size:"sm",onClick:()=>o(),children:[e.jsx(L,{className:"size-3.5"}),"Add Term"]})]}),w&&e.jsxs("div",{className:"diff-removed flex items-center justify-between rounded-lg border px-3 py-2 text-sm",children:[w,e.jsx("button",{type:"button",onClick:()=>k(null),className:"text-diff-removed hover:text-diff-removed-foreground",children:"×"})]}),e.jsx("div",{className:"rounded-lg border bg-card",children:F?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx("div",{className:"size-6 animate-spin rounded-full border-2 border-muted border-t-primary"})}):!b||b.length===0?e.jsx(G,{icon:e.jsx(X,{className:"size-8"}),title:"No terms yet",description:"Add your first term to start organizing content.",action:d?{label:"Add your first term",onClick:()=>o(),variant:"secondary"}:void 0}):e.jsx("div",{className:"divide-y divide-border/50",children:b.map(n=>E(n))})}),u&&e.jsx(ce,{taxonomyId:i,term:g,parentId:O,isHierarchical:c,onSave:()=>{p(!1),r(null),m(void 0)},onCancel:()=>{p(!1),r(null),m(void 0)}}),e.jsx(U,{open:!!y,onOpenChange:n=>!n&&S(null),title:"Delete Term",description:c?"Are you sure you want to delete this term? All child terms will also be deleted.":"Are you sure you want to delete this term?",confirmLabel:"Delete",variant:"danger",onConfirm:()=>y&&T(y)})]})}function ce({taxonomyId:i,term:c,parentId:d,isHierarchical:x,onSave:l,onCancel:C}){const g=!!c,[r,u]=t.useState({name:c?.name??"",slug:c?.slug??"",description:c?.description??"",color:c?.color??"",icon:c?.icon??"",sortOrder:c?.sortOrder??0}),[p,O]=t.useState({}),[m,y]=t.useState(!1),[S,w]=t.useState(null),[k,z]=t.useState(!1),h=q(),b=I(h.createTerm),F=I(h.updateTerm),v=t.useCallback((a,j)=>{u(D=>({...D,[a]:j})),O(D=>{const{[a]:$,...K}=D;return K})},[]),o=t.useCallback(a=>a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),[]),s=t.useCallback(a=>{v("name",a),!g&&!k&&v("slug",o(a))},[v,g,k,o]),T=t.useCallback(()=>{const a={};return r.name.trim()||(a.name="Name is required"),r.slug.trim()?/^[a-z0-9-]+$/.test(r.slug)||(a.slug="Slug must contain only lowercase letters, numbers, and hyphens"):a.slug="Slug is required",O(a),Object.keys(a).length===0},[r]),E=t.useCallback(async a=>{if(a.preventDefault(),!!T()){y(!0),w(null);try{g&&c?await F({id:c._id,name:r.name,slug:r.slug,description:r.description||void 0,color:r.color||void 0,icon:r.icon||void 0,sortOrder:r.sortOrder}):await b({taxonomyId:i,name:r.name,slug:r.slug,description:r.description||void 0,parentId:d,color:r.color||void 0,icon:r.icon||void 0,sortOrder:r.sortOrder}),l()}catch(j){const D=j instanceof Error?j.message:"Failed to save term";w(D)}finally{y(!1)}}},[T,g,c,r,i,d,b,F,l]),n=g?"Edit Term":d?"Create Child Term":"Create Term";return e.jsx(R,{open:!0,onOpenChange:a=>!a&&!m&&C(),title:n,size:"md",footer:e.jsxs(e.Fragment,{children:[e.jsx(N,{variant:"outline",onClick:C,disabled:m,children:"Cancel"}),e.jsx(N,{variant:"primary",onClick:E,loading:m,children:g?"Save Changes":"Create Term"})]}),children:e.jsxs("form",{onSubmit:E,className:"space-y-4",children:[S&&e.jsx("div",{className:"diff-removed rounded-lg border px-3 py-2 text-sm",children:S}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"termName",children:["Name ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"termName",value:r.name,onChange:a=>s(a.target.value),placeholder:"e.g., Technology",disabled:m,className:p.name?"border-destructive":""}),p.name&&e.jsx("p",{className:"text-xs text-destructive",children:p.name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"termSlug",children:["Slug ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(A,{id:"termSlug",value:r.slug,onChange:a=>{v("slug",a.target.value.toLowerCase()),z(!0)},placeholder:"e.g., technology",disabled:m,className:p.slug?"border-destructive":""}),p.slug&&e.jsx("p",{className:"text-xs text-destructive",children:p.slug})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termDescription",children:"Description"}),e.jsx(Z,{id:"termDescription",value:r.description,onChange:a=>v("description",a.target.value),placeholder:"Optional description",rows:2,disabled:m})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termColor",children:"Color"}),e.jsx(A,{id:"termColor",type:"color",value:r.color||"#6b7280",onChange:a=>v("color",a.target.value),disabled:m,className:"h-9 p-1"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termIcon",children:"Icon"}),e.jsx(A,{id:"termIcon",value:r.icon,onChange:a=>v("icon",a.target.value),placeholder:"e.g., 💻",disabled:m})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"termSortOrder",children:"Sort Order"}),e.jsx(A,{id:"termSortOrder",type:"number",value:r.sortOrder,onChange:a=>v("sortOrder",parseInt(a.target.value)||0),disabled:m})]})]})]})})}function de({api:i,navigation:c}){const[d,x]=t.useState(null),[l,C]=t.useState(!1),[g,r]=t.useState(null),[u,p]=t.useState(null),[O,m]=t.useState(null),y=M(i.listTaxonomies,{isActive:void 0,includeDeleted:!1}),S=I(i.deleteTaxonomy),w=y?.page??[],k=y===void 0,z=t.useCallback(()=>{r(null),C(!0)},[]),h=t.useCallback(o=>{r(o),C(!0)},[]),b=t.useCallback(async o=>{m(null);try{await S({id:o}),p(null),d?._id===o&&x(null)}catch(s){const T=s instanceof Error?s.message:"Failed to delete taxonomy";m(T)}},[S,d]),F=t.useCallback(()=>{C(!1),r(null)},[]),v=o=>o.isHierarchical?e.jsx(ne,{className:"size-5"}):e.jsx(H,{className:"size-5"});return e.jsxs("div",{className:"flex h-[calc(100vh-4rem)] flex-col p-6",children:[e.jsxs("div",{className:"mb-6 flex items-start justify-between",children:[e.jsx(ae,{title:"Taxonomies",description:"Manage tags, categories, and other classification systems"}),e.jsxs(N,{onClick:z,children:[e.jsx(L,{className:"size-4"}),"Create Taxonomy"]})]}),e.jsxs("div",{className:"flex min-h-0 flex-1 gap-6",children:[e.jsx(B,{elevation:"base",className:"w-80 shrink-0 overflow-hidden",children:k?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("div",{className:"size-6 animate-spin rounded-full border-2 border-muted border-t-primary"}),e.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:"Loading taxonomies..."})]}):w.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center",children:[e.jsx(H,{className:"mb-3 size-8 text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"No taxonomies created yet."}),e.jsx(N,{variant:"secondary",className:"mt-4",onClick:z,children:"Create your first taxonomy"})]}):e.jsx(te,{className:"h-full",children:e.jsx("div",{className:"divide-y",children:w.map(o=>e.jsxs("div",{className:P("group flex cursor-pointer items-center gap-3 p-3 transition-colors hover:bg-muted/50",d?._id===o._id&&"bg-primary/5",!o.isActive&&"opacity-60"),onClick:()=>x(o),children:[e.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",children:v(o)}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"truncate text-sm font-medium text-foreground",children:o.displayName}),e.jsx("p",{className:"truncate text-xs text-muted-foreground",children:o.name})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsx(Q,{variant:"secondary",className:"text-xs font-normal",children:o.isHierarchical?"Hierarchical":"Flat"}),!o.isActive&&e.jsx(Q,{variant:"outline",className:"text-xs font-normal",children:"Inactive"})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[e.jsx(N,{variant:"ghost",size:"icon-sm",onClick:s=>{s.stopPropagation(),h(o)},title:"Edit taxonomy",children:e.jsx(J,{className:"size-4"})}),e.jsx(N,{variant:"ghost",size:"icon-sm",onClick:s=>{s.stopPropagation(),p(o._id)},title:"Delete taxonomy",className:"text-destructive hover:bg-destructive/10 hover:text-destructive",children:e.jsx(V,{className:"size-4"})})]})]},o._id))})})}),e.jsx(B,{elevation:"base",className:"min-w-0 flex-1 overflow-hidden",children:d?e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs("div",{className:"flex items-start justify-between border-b p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground",children:v(d)}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground",children:d.displayName}),d.description&&e.jsx("p",{className:"text-sm text-muted-foreground",children:d.description})]})]}),e.jsx(N,{variant:"secondary",onClick:()=>h(d),children:"Edit Taxonomy"})]}),e.jsx("div",{className:"flex-1 overflow-auto p-4",children:e.jsx(oe,{taxonomyId:d._id,isHierarchical:d.isHierarchical,allowInlineCreation:d.allowInlineCreation})})]}):e.jsx(G,{icon:e.jsx(H,{className:"size-6"}),title:"Select a taxonomy",description:"Select a taxonomy to view and manage its terms",className:"h-full"})})]}),l&&e.jsx(le,{taxonomy:g,onSave:F,onCancel:()=>{C(!1),r(null)}}),e.jsx(U,{open:u!==null,onOpenChange:o=>{o||(p(null),m(null))},title:"Delete Taxonomy",description:"Are you sure you want to delete this taxonomy? All associated terms will also be deleted.",confirmLabel:"Delete",onConfirm:()=>u&&b(u),variant:"danger",error:O})]})}function fe(){const i=re();return e.jsx(de,{api:se.admin,navigation:i})}export{fe as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,u as m,a as E,j as e,C as c,T as D,I as Y,S as Z,b as ee,c as se,d as te,e as I,f as A,X as R,g as _,h as ae,i as ne,k as re}from"./main-
|
|
1
|
+
import{r as a,u as m,a as E,j as e,C as c,T as D,I as Y,S as Z,b as ee,c as se,d as te,e as I,f as A,X as R,g as _,h as ae,i as ne,k as re}from"./main-DWSY6jZL.js";import{C as le}from"./CmsPageHeader-equV7Sd9.js";import{C as oe}from"./CmsToolbar-Crleacii.js";import{C as ie}from"./CmsEmptyState-gxhf-b6F.js";import{C as Q}from"./CmsSurface-DdC_aGB5.js";import{B as ce}from"./badge-DiaAY1It.js";import{A as L,a as B}from"./alert-C7q0k4u0.js";import{S as de}from"./search-BT8HTHxb.js";import{R as M}from"./rotate-ccw-CK11hP79.js";import{u as me}from"./tanstack-adapter-CGxC-fmP.js";function xe({api:l,navigation:ue}){const[g,F]=a.useState(""),[j,O]=a.useState(""),[r,i]=a.useState(new Set),[y,x]=a.useState(null),[N,C]=a.useState(!1),[P,u]=a.useState(!1),[b,v]=a.useState(!1),[S,h]=a.useState(null),T=m(l.listTrash,{contentTypeId:g||void 0,search:j||void 0,paginationOpts:{numItems:50,cursor:null}}),U=m(l.getTrashConfig,{}),V=m(l.getTrashStats,{}),H=m(l.listContentTypes,{})?.page??[],w=E(l.bulkRestore),k=E(l.emptyTrash),o=T?.page??[],X=T===void 0,p=U,f=V,$=a.useCallback((s,t)=>{i(n=>{const d=new Set(n);return t?d.add(s):d.delete(s),d})},[]),q=a.useCallback(()=>{r.size===o.length?i(new Set):i(new Set(o.map(s=>s._id)))},[r.size,o]),z=a.useCallback(async s=>{C(!0),x(null);try{await w({ids:s}),i(t=>{const n=new Set(t);return s.forEach(d=>n.delete(d)),n})}catch(t){const n=t instanceof Error?t.message:"Failed to restore";x(n)}finally{C(!1)}},[w]),G=a.useCallback(async()=>{v(!0),h(null);try{await k({}),u(!1),i(new Set)}catch(s){const t=s instanceof Error?s.message:"Failed to empty trash";h(t)}finally{v(!1)}},[k]),J=s=>new Date(s).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}),K=s=>{if(!p?.retentionDays)return null;const t=s+p.retentionDays*24*60*60*1e3,n=Math.ceil((t-Date.now())/(1440*60*1e3));return Math.max(0,n)},W=s=>{if(s.title)return s.title;if(s.name)return s.name;if(s.data){const t=s.data.title||s.data.name;if(t&&typeof t=="string")return t}return s.slug||s._id};return e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsx(le,{title:"Trash",description:`Deleted items are kept for ${p?.retentionDays??30} days before permanent deletion`}),o.length>0&&e.jsxs(c,{variant:"danger",onClick:()=>u(!0),children:[e.jsx(D,{className:"size-4"}),"Empty Trash"]})]}),f&&e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs(Q,{elevation:"base",className:"p-4",children:[e.jsx("p",{className:"text-2xl font-semibold text-foreground",children:f.totalCount??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Items in Trash"})]}),e.jsxs(Q,{elevation:"base",className:"p-4",children:[e.jsx("p",{className:"text-2xl font-semibold text-foreground",children:f.expiredCount??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Expired"})]})]}),e.jsx(oe,{left:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx(de,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(Y,{type:"text",placeholder:"Search deleted items...",value:j,onChange:s=>O(s.target.value),className:"w-64 pl-9"})]}),e.jsxs(Z,{value:g||"all",onValueChange:s=>F(s==="all"?"":s),children:[e.jsx(ee,{className:"w-48",children:e.jsx(se,{placeholder:"All Content Types"})}),e.jsxs(te,{children:[e.jsx(I,{value:"all",children:"All Content Types"}),H.map(s=>e.jsx(I,{value:s._id,children:s.displayName},s._id))]})]})]})}),y&&e.jsxs(L,{variant:"destructive",children:[e.jsx(A,{className:"size-4"}),e.jsxs(B,{className:"flex items-center justify-between",children:[y,e.jsx(c,{variant:"ghost",size:"icon-sm",onClick:()=>x(null),children:e.jsx(R,{className:"size-4"})})]})]}),S&&e.jsxs(L,{variant:"destructive",children:[e.jsx(A,{className:"size-4"}),e.jsxs(B,{className:"flex items-center justify-between",children:[S,e.jsx(c,{variant:"ghost",size:"icon-sm",onClick:()=>h(null),children:e.jsx(R,{className:"size-4"})})]})]}),r.size>0&&e.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-primary/20 bg-primary/5 p-3",children:[e.jsxs("span",{className:"text-sm font-medium",children:[r.size," ",r.size===1?"item":"items"," ","selected"]}),e.jsxs(c,{variant:"primary",size:"sm",onClick:()=>z(Array.from(r)),loading:N,children:[e.jsx(M,{className:"size-4"}),"Restore Selected"]}),e.jsx(c,{variant:"secondary",size:"sm",onClick:()=>i(new Set),children:"Clear Selection"})]}),X?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("div",{className:"size-8 animate-spin rounded-full border-2 border-muted border-t-primary"}),e.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"Loading trash..."})]}):o.length===0?e.jsx(ie,{icon:e.jsx(D,{className:"size-6"}),title:"Trash is empty",description:"Deleted items will appear here"}):e.jsx("div",{className:"rounded-lg border bg-card",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"w-10 p-3 text-left",children:e.jsx(_,{checked:r.size===o.length&&o.length>0,onCheckedChange:q})}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Name"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Type"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Deleted"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Expires In"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Actions"})]})}),e.jsx("tbody",{children:o.map(s=>{const t=K(s.deletedAt);return e.jsxs("tr",{className:ae("border-b last:border-0 transition-colors hover:bg-muted/50",r.has(s._id)&&"bg-primary/5"),children:[e.jsx("td",{className:"p-3",children:e.jsx(_,{checked:r.has(s._id),onCheckedChange:n=>$(s._id,n)})}),e.jsxs("td",{className:"p-3",children:[e.jsx("span",{className:"font-medium text-foreground",children:W(s)}),s.slug&&e.jsx("span",{className:"block text-xs text-muted-foreground",children:s.slug})]}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:s.contentTypeName||"Unknown"}),e.jsxs("td",{className:"p-3",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:J(s.deletedAt)}),s.deletedBy&&e.jsxs("span",{className:"block text-xs text-muted-foreground",children:["by ",s.deletedBy]})]}),e.jsx("td",{className:"p-3",children:t!==null&&e.jsxs(ce,{variant:t<=3?"destructive":"secondary",className:"font-normal",children:[t," ",t===1?"day":"days"]})}),e.jsx("td",{className:"p-3",children:e.jsxs(c,{variant:"outline",size:"sm",onClick:()=>z([s._id]),loading:N,children:[e.jsx(M,{className:"size-4"}),"Restore"]})})]},s._id)})})]})}),e.jsx(ne,{open:P,onOpenChange:u,title:"Empty Trash",description:"This will permanently delete all items in the trash. This action cannot be undone.",confirmLabel:b?"Deleting...":"Empty Trash",onConfirm:G,variant:"danger",loading:b})]})}function Te(){const l=me();return e.jsx(xe,{api:re.admin,navigation:l})}export{Te as component};
|
package/admin-dist/public/assets/{useBreadcrumbLabel-BC8wl3jQ.js → useBreadcrumbLabel-ZZFYdqzi.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aN as u,r as c}from"./main-
|
|
1
|
+
import{aN as u,r as c}from"./main-DWSY6jZL.js";function a(r,e){const{setOverride:s,clearOverride:t}=u();c.useEffect(()=>(e&&s(r,e),()=>{t(r)}),[r,e,s,t])}export{a as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{an as c,r as o,ao as i,ap as u,aq as d}from"./main-
|
|
1
|
+
import{an as c,r as o,ao as i,ap as u,aq as d}from"./main-DWSY6jZL.js";function C(){const{role:n}=c();return o.useMemo(()=>{const r=!!n,t=(e,s,a)=>n?d(n,{resource:e,action:s,scope:a}):!1;return{role:n,hasRole:r,check:t,canAccess:e=>n?u(n,e):!1,canCreate:e=>t(e,"create"),canRead:(e,s)=>t(e,"read",s),canUpdate:(e,s)=>t(e,"update",s),canDelete:(e,s)=>t(e,"delete",s),canPublish:e=>t("contentEntries","publish",e),canUnpublish:e=>t("contentEntries","unpublish",e),canManageSettings:()=>t("settings","manage"),canManageContentTypes:()=>t("contentTypes","create")||t("contentTypes","update")||t("contentTypes","delete"),getPermissions:e=>n?i(n,e):[],isAdmin:n==="admin",isEditor:n==="admin"||n==="editor",isAuthor:n==="admin"||n==="editor"||n==="author"}},[n])}export{C as u};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { B as Badge } from "./badge-
|
|
3
|
-
import { f as cn } from "./router-
|
|
2
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
3
|
+
import { f as cn } from "./router-B_gIkxi2.mjs";
|
|
4
4
|
const statusConfig = {
|
|
5
5
|
draft: {
|
|
6
6
|
label: "Draft",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { I as Input, f as cn } from "./router-
|
|
2
|
+
import { I as Input, f as cn } from "./router-B_gIkxi2.mjs";
|
|
3
3
|
import { a1 as Search } from "../_libs/lucide-react.mjs";
|
|
4
4
|
function CmsToolbar({
|
|
5
5
|
left,
|
package/admin-dist/server/_ssr/{ContentEntryEditor-BiY9bJr9.mjs → ContentEntryEditor-Db9Sy_0y.mjs}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { v as useSettingsConfig, u as useApi, f as cn, C as CmsButton, i as CmsDialog, I as Input, g as CmsConfirmDialog, T as Textarea, P as Popover, z as PopoverTrigger, A as PopoverContent, B as Button, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, t as DialogFooter, e as Checkbox, L as Label, K as buttonVariants } from "./router-
|
|
3
|
-
import { S as Switch } from "./switch-
|
|
2
|
+
import { v as useSettingsConfig, u as useApi, f as cn, C as CmsButton, i as CmsDialog, I as Input, g as CmsConfirmDialog, T as Textarea, P as Popover, z as PopoverTrigger, A as PopoverContent, B as Button, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, t as DialogFooter, e as Checkbox, L as Label, K as buttonVariants } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { S as Switch } from "./switch-IsC1gdb1.mjs";
|
|
4
4
|
import { R as Root } from "../_chunks/_libs/@radix-ui/react-separator.mjs";
|
|
5
|
-
import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-
|
|
6
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
7
|
-
import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-
|
|
8
|
-
import { B as Badge } from "./badge-
|
|
9
|
-
import { C as CmsStatusBadge } from "./CmsStatusBadge-
|
|
10
|
-
import { S as ScrollArea } from "./scroll-area-
|
|
5
|
+
import { T as Tabs, a as TabsList, b as TabsTrigger, c as TabsContent, U as UploadDropzone } from "./tabs-BdgLwrYe.mjs";
|
|
6
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
7
|
+
import { C as Command, a as CommandInput, b as CommandList, d as CommandGroup, f as CommandItem, c as CommandEmpty } from "./command-DWXiOsOb.mjs";
|
|
8
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
9
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CV35-X_8.mjs";
|
|
10
|
+
import { S as ScrollArea } from "./scroll-area-Cz-9ry0J.mjs";
|
|
11
11
|
import { f as useMutation, u as useQuery } from "../_libs/convex.mjs";
|
|
12
12
|
import { L as LoaderCircle, al as CircleCheckBig, j as CircleAlert, ao as RefreshCw, aq as History, x as Clock, X, d as ChevronDown, W as Tag, P as Plus, Z as Link2, Q as FileText, i as Check, a3 as Pencil, O as Image, V as FolderOpen, ab as Upload, a1 as Search, y as Calendar$1, ar as GitCompare, as as ArrowRight, a0 as TriangleAlert, h as ChevronRight, ag as File, ah as Music, ai as Video, a9 as ChevronLeft, at as Bold, au as Italic, av as Heading2, w as Link, Y as List, aw as Quote, c as Code, ax as Minus } from "../_libs/lucide-react.mjs";
|
|
13
13
|
import { g as getDefaultClassNames, D as DayPicker } from "../_libs/react-day-picker.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { u as useApi, P as Popover, z as PopoverTrigger, C as CmsButton, f as cn, A as PopoverContent, e as Checkbox } from "./router-
|
|
3
|
-
import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-
|
|
4
|
-
import { B as Badge } from "./badge-
|
|
2
|
+
import { u as useApi, P as Popover, z as PopoverTrigger, C as CmsButton, f as cn, A as PopoverContent, e as Checkbox } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { C as Command, a as CommandInput, b as CommandList, c as CommandEmpty, d as CommandGroup, e as CommandSeparator, f as CommandItem } from "./command-DWXiOsOb.mjs";
|
|
4
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
5
5
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
6
6
|
import { N as Tags, d as ChevronDown, X, i as Check } from "../_libs/lucide-react.mjs";
|
|
7
7
|
function TaxonomyFilter({
|
|
@@ -1,13 +1,13 @@
|
|
|
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 { y as Route$1, h as api, C as CmsButton, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, g as CmsConfirmDialog } from "./router-
|
|
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 CmsStatusBadge } from "./CmsStatusBadge-
|
|
9
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
10
|
-
import { T as TaxonomyFilter } from "./TaxonomyFilter-
|
|
3
|
+
import { y as Route$1, h as api, C as CmsButton, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, g as CmsConfirmDialog } from "./router-B_gIkxi2.mjs";
|
|
4
|
+
import { u as usePermissions } from "./usePermissions-COsRlMp-.mjs";
|
|
5
|
+
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-C4TsA5z0.mjs";
|
|
6
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-BuN0dOPA.mjs";
|
|
7
|
+
import { C as CmsToolbar } from "./CmsToolbar-BMBEZVgb.mjs";
|
|
8
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CV35-X_8.mjs";
|
|
9
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
10
|
+
import { T as TaxonomyFilter } from "./TaxonomyFilter-D_xDfC8t.mjs";
|
|
11
11
|
import { f as useMutation, u as useQuery } from "../_libs/convex.mjs";
|
|
12
12
|
import { Q as FileText, P as Plus, a1 as Search, ap as ArrowUpDown, g as ChevronUp, d as ChevronDown } from "../_libs/lucide-react.mjs";
|
|
13
13
|
import "../_libs/tiny-warning.mjs";
|
|
@@ -76,8 +76,8 @@ import "../_chunks/_libs/@radix-ui/react-popover.mjs";
|
|
|
76
76
|
import "./index.mjs";
|
|
77
77
|
import "node:async_hooks";
|
|
78
78
|
import "../_libs/zod.mjs";
|
|
79
|
-
import "./badge-
|
|
80
|
-
import "./command-
|
|
79
|
+
import "./badge-CmG74mbX.mjs";
|
|
80
|
+
import "./command-DWXiOsOb.mjs";
|
|
81
81
|
import "../_libs/cmdk.mjs";
|
|
82
82
|
function ContentTypeEntriesPage() {
|
|
83
83
|
const {
|
|
@@ -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 { x as Route$2, h as api } from "./router-
|
|
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 { x as Route$2, h as api } from "./router-B_gIkxi2.mjs";
|
|
4
|
+
import { C as ContentEntryEditor } from "./ContentEntryEditor-Db9Sy_0y.mjs";
|
|
5
|
+
import { u as usePermissions } from "./usePermissions-COsRlMp-.mjs";
|
|
6
|
+
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-C4TsA5z0.mjs";
|
|
7
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
8
8
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
9
9
|
import { Q as FileText } from "../_libs/lucide-react.mjs";
|
|
10
10
|
import "../_libs/tiny-warning.mjs";
|
|
@@ -73,16 +73,16 @@ import "../_chunks/_libs/@radix-ui/react-popover.mjs";
|
|
|
73
73
|
import "./index.mjs";
|
|
74
74
|
import "node:async_hooks";
|
|
75
75
|
import "../_libs/zod.mjs";
|
|
76
|
-
import "./switch-
|
|
76
|
+
import "./switch-IsC1gdb1.mjs";
|
|
77
77
|
import "../_chunks/_libs/@radix-ui/react-switch.mjs";
|
|
78
78
|
import "../_chunks/_libs/@radix-ui/react-separator.mjs";
|
|
79
|
-
import "./tabs-
|
|
79
|
+
import "./tabs-BdgLwrYe.mjs";
|
|
80
80
|
import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
|
|
81
|
-
import "./command-
|
|
81
|
+
import "./command-DWXiOsOb.mjs";
|
|
82
82
|
import "../_libs/cmdk.mjs";
|
|
83
|
-
import "./badge-
|
|
84
|
-
import "./CmsStatusBadge-
|
|
85
|
-
import "./scroll-area-
|
|
83
|
+
import "./badge-CmG74mbX.mjs";
|
|
84
|
+
import "./CmsStatusBadge-CV35-X_8.mjs";
|
|
85
|
+
import "./scroll-area-Cz-9ry0J.mjs";
|
|
86
86
|
import "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
|
|
87
87
|
import "../_libs/react-day-picker.mjs";
|
|
88
88
|
import "../_libs/date-fns.mjs";
|
|
@@ -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-DWSY6jZL.js"], "assets": [] }, "/": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-CMnzrG_D.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/alert-C7q0k4u0.js", "/assets/refresh-cw-JipRPLLT.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/content": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content.tsx", "assets": [], "preloads": ["/assets/content-D868GT7T.js", "/assets/usePermissions-C2FRye75.js", "/assets/circle-check-big-Bl0y10am.js", "/assets/badge-DiaAY1It.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsToolbar-Crleacii.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/CmsStatusBadge-DQAslyW4.js", "/assets/search-BT8HTHxb.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/content-types": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/content-types.tsx", "assets": [], "preloads": ["/assets/content-types-DD7fJA5i.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsToolbar-Crleacii.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/badge-DiaAY1It.js", "/assets/search-BT8HTHxb.js", "/assets/pencil-D8GqMaV3.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/media": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/media.tsx", "assets": [], "preloads": ["/assets/media-aqxopgtw.js", "/assets/tabs-CFEXN2p7.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsToolbar-Crleacii.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/TaxonomyFilter-BsoK90hw.js", "/assets/pencil-D8GqMaV3.js", "/assets/badge-DiaAY1It.js", "/assets/rotate-ccw-CK11hP79.js", "/assets/search-BT8HTHxb.js", "/assets/tanstack-adapter-CGxC-fmP.js", "/assets/refresh-cw-JipRPLLT.js", "/assets/command-QyTDg7pa.js"] }, "/settings": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/settings.tsx", "assets": [], "preloads": ["/assets/settings-DCY0s2hR.js", "/assets/usePermissions-C2FRye75.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsSurface-DdC_aGB5.js", "/assets/switch-Cb-ecsrJ.js", "/assets/badge-DiaAY1It.js", "/assets/alert-C7q0k4u0.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/taxonomies": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/taxonomies.tsx", "assets": [], "preloads": ["/assets/taxonomies-C21Z8CBa.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/pencil-D8GqMaV3.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsSurface-DdC_aGB5.js", "/assets/badge-DiaAY1It.js", "/assets/scroll-area-CJS1P20j.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/trash": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/trash.tsx", "assets": [], "preloads": ["/assets/trash-CMRJlzc0.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsToolbar-Crleacii.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/CmsSurface-DdC_aGB5.js", "/assets/badge-DiaAY1It.js", "/assets/alert-C7q0k4u0.js", "/assets/search-BT8HTHxb.js", "/assets/rotate-ccw-CK11hP79.js", "/assets/tanstack-adapter-CGxC-fmP.js"] }, "/entries/$entryId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/$entryId.tsx", "assets": [], "preloads": ["/assets/_entryId-CkZWLvOZ.js", "/assets/ContentEntryEditor-RmtIo3lE.js", "/assets/usePermissions-C2FRye75.js", "/assets/useBreadcrumbLabel-ZZFYdqzi.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/switch-Cb-ecsrJ.js", "/assets/tabs-CFEXN2p7.js", "/assets/refresh-cw-JipRPLLT.js", "/assets/pencil-D8GqMaV3.js", "/assets/search-BT8HTHxb.js", "/assets/command-QyTDg7pa.js", "/assets/badge-DiaAY1It.js", "/assets/CmsStatusBadge-DQAslyW4.js", "/assets/scroll-area-CJS1P20j.js", "/assets/circle-check-big-Bl0y10am.js"] }, "/entries/new/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/new.$contentTypeId.tsx", "assets": [], "preloads": ["/assets/new._contentTypeId-9ji3Hibs.js", "/assets/ContentEntryEditor-RmtIo3lE.js", "/assets/useBreadcrumbLabel-ZZFYdqzi.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/switch-Cb-ecsrJ.js", "/assets/tabs-CFEXN2p7.js", "/assets/refresh-cw-JipRPLLT.js", "/assets/pencil-D8GqMaV3.js", "/assets/search-BT8HTHxb.js", "/assets/command-QyTDg7pa.js", "/assets/badge-DiaAY1It.js", "/assets/CmsStatusBadge-DQAslyW4.js", "/assets/scroll-area-CJS1P20j.js", "/assets/circle-check-big-Bl0y10am.js"] }, "/entries/type/$contentTypeId": { "filePath": "/Users/home/Developer/projects/convex-cms/admin/src/routes/entries/type/$contentTypeId.tsx", "assets": [], "preloads": ["/assets/_contentTypeId-Bn2ItET5.js", "/assets/usePermissions-C2FRye75.js", "/assets/useBreadcrumbLabel-ZZFYdqzi.js", "/assets/CmsPageHeader-equV7Sd9.js", "/assets/CmsToolbar-Crleacii.js", "/assets/CmsStatusBadge-DQAslyW4.js", "/assets/CmsEmptyState-gxhf-b6F.js", "/assets/TaxonomyFilter-BsoK90hw.js", "/assets/search-BT8HTHxb.js", "/assets/badge-DiaAY1It.js", "/assets/command-QyTDg7pa.js"] } }, "clientEntry": "/assets/main-DWSY6jZL.js" });
|
|
2
|
+
export {
|
|
3
|
+
tsrStartManifest
|
|
4
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../_chunks/_libs/react.mjs";
|
|
2
2
|
import { S as Slot } from "../_chunks/_libs/@radix-ui/react-slot.mjs";
|
|
3
3
|
import { c as cva } from "../_libs/class-variance-authority.mjs";
|
|
4
|
-
import { f as cn } from "./router-
|
|
4
|
+
import { f as cn } from "./router-B_gIkxi2.mjs";
|
|
5
5
|
const badgeVariants = cva(
|
|
6
6
|
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
7
7
|
{
|
|
@@ -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 { f as cn } from "./router-
|
|
3
|
+
import { f as cn } from "./router-B_gIkxi2.mjs";
|
|
4
4
|
import { a1 as Search } from "../_libs/lucide-react.mjs";
|
|
5
5
|
function Command({
|
|
6
6
|
className,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { h as api, n as DropdownMenu, o as DropdownMenuTrigger, C as CmsButton, p as DropdownMenuContent, q as DropdownMenuItem, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, e as Checkbox, f as cn, u as useApi, i as CmsDialog } from "./router-
|
|
3
|
-
import { u as usePermissions } from "./usePermissions-
|
|
4
|
-
import { B as Badge } from "./badge-
|
|
5
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
6
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
7
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
8
|
-
import { C as CmsStatusBadge } from "./CmsStatusBadge-
|
|
9
|
-
import { u as useTanStackNavigation } from "./tanstack-adapter-
|
|
2
|
+
import { h as api, n as DropdownMenu, o as DropdownMenuTrigger, C as CmsButton, p as DropdownMenuContent, q as DropdownMenuItem, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, e as Checkbox, f as cn, u as useApi, i as CmsDialog } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { u as usePermissions } from "./usePermissions-COsRlMp-.mjs";
|
|
4
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
5
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-BuN0dOPA.mjs";
|
|
6
|
+
import { C as CmsToolbar } from "./CmsToolbar-BMBEZVgb.mjs";
|
|
7
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
8
|
+
import { C as CmsStatusBadge } from "./CmsStatusBadge-CV35-X_8.mjs";
|
|
9
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-CFwjrqRl.mjs";
|
|
10
10
|
import { u as useQuery, f as useMutation } from "../_libs/convex.mjs";
|
|
11
11
|
import { P as Plus, d as ChevronDown, a1 as Search, Q as FileText, X, al as CircleCheckBig, a0 as TriangleAlert } from "../_libs/lucide-react.mjs";
|
|
12
12
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { h as api, f as cn, C as CmsButton, I as Input, e as Checkbox, w as ContentTypeFormModal } from "./router-
|
|
3
|
-
import { B as Badge } from "./badge-
|
|
4
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
5
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
6
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
7
|
-
import { u as useTanStackNavigation } from "./tanstack-adapter-
|
|
2
|
+
import { h as api, f as cn, C as CmsButton, I as Input, e as Checkbox, w as ContentTypeFormModal } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
4
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-BuN0dOPA.mjs";
|
|
5
|
+
import { C as CmsToolbar } from "./CmsToolbar-BMBEZVgb.mjs";
|
|
6
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
7
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-CFwjrqRl.mjs";
|
|
8
8
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
9
9
|
import { ak as Grid3x3, Y as List, P as Plus, a1 as Search, _ as FileType, f as CodeXml, k as Eye, a3 as Pencil, $ as TextAlignStart, V as FolderOpen, W as Tag, d as ChevronDown, t as Braces, O as Image, Z as Link2, y as Calendar, T as ToggleLeft, v as Hash } from "../_libs/lucide-react.mjs";
|
|
10
10
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { h as api, B as Button, f as cn } from "./router-
|
|
3
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
4
|
-
import { u as useTanStackNavigation, A as Alert, b as AlertTitle, a as AlertDescription } from "./tanstack-adapter-
|
|
2
|
+
import { h as api, B as Button, f as cn } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-BuN0dOPA.mjs";
|
|
4
|
+
import { u as useTanStackNavigation, A as Alert, b as AlertTitle, a as AlertDescription } from "./tanstack-adapter-CFwjrqRl.mjs";
|
|
5
5
|
import { u as useQuery, f as useMutation } from "../_libs/convex.mjs";
|
|
6
6
|
import { Q as FileText, O as Image, a as Layers, J as Settings, am as TrendingUp, j as CircleAlert, an as CircleX, a0 as TriangleAlert, ao as RefreshCw } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import "../_chunks/_libs/@tanstack/react-router.mjs";
|
|
@@ -3838,7 +3838,7 @@ function getResponse() {
|
|
|
3838
3838
|
return event.res;
|
|
3839
3839
|
}
|
|
3840
3840
|
async function getStartManifest(matchedRoutes) {
|
|
3841
|
-
const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-
|
|
3841
|
+
const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-DhspKP9e.mjs");
|
|
3842
3842
|
const startManifest = tsrStartManifest();
|
|
3843
3843
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
3844
3844
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -4313,7 +4313,7 @@ function getStartResponseHeaders(opts) {
|
|
|
4313
4313
|
let entriesPromise;
|
|
4314
4314
|
let manifestPromise;
|
|
4315
4315
|
async function loadEntries() {
|
|
4316
|
-
const routerEntry = await import("./router-
|
|
4316
|
+
const routerEntry = await import("./router-B_gIkxi2.mjs").then((n2) => n2.N);
|
|
4317
4317
|
const startEntry = await import("./start-HYkvq4Ni.mjs");
|
|
4318
4318
|
return { startEntry, routerEntry };
|
|
4319
4319
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../_chunks/_libs/react.mjs";
|
|
2
|
-
import { v as useSettingsConfig, h as api, f as cn, C as CmsButton, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, e as Checkbox, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, L as Label, t as DialogFooter, g as CmsConfirmDialog, n as DropdownMenu, o as DropdownMenuTrigger, p as DropdownMenuContent, q as DropdownMenuItem, r as DropdownMenuSeparator, u as useApi, i as CmsDialog, T as Textarea, B as Button } from "./router-
|
|
3
|
-
import { B as Badge } from "./badge-
|
|
4
|
-
import { u as useTanStackNavigation } from "./tanstack-adapter-
|
|
5
|
-
import { T as Tabs, a as TabsList, b as TabsTrigger, U as UploadDropzone } from "./tabs-
|
|
6
|
-
import { C as CmsPageHeader } from "./CmsPageHeader-
|
|
7
|
-
import { C as CmsToolbar } from "./CmsToolbar-
|
|
8
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
9
|
-
import { T as TaxonomyFilter } from "./TaxonomyFilter-
|
|
2
|
+
import { v as useSettingsConfig, h as api, f as cn, C as CmsButton, I as Input, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, e as Checkbox, D as Dialog, l as DialogContent, s as DialogHeader, m as DialogTitle, L as Label, t as DialogFooter, g as CmsConfirmDialog, n as DropdownMenu, o as DropdownMenuTrigger, p as DropdownMenuContent, q as DropdownMenuItem, r as DropdownMenuSeparator, u as useApi, i as CmsDialog, T as Textarea, B as Button } from "./router-B_gIkxi2.mjs";
|
|
3
|
+
import { B as Badge } from "./badge-CmG74mbX.mjs";
|
|
4
|
+
import { u as useTanStackNavigation } from "./tanstack-adapter-CFwjrqRl.mjs";
|
|
5
|
+
import { T as Tabs, a as TabsList, b as TabsTrigger, U as UploadDropzone } from "./tabs-BdgLwrYe.mjs";
|
|
6
|
+
import { C as CmsPageHeader } from "./CmsPageHeader-BuN0dOPA.mjs";
|
|
7
|
+
import { C as CmsToolbar } from "./CmsToolbar-BMBEZVgb.mjs";
|
|
8
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
9
|
+
import { T as TaxonomyFilter } from "./TaxonomyFilter-D_xDfC8t.mjs";
|
|
10
10
|
import { a as VisuallyHidden } from "../_chunks/_libs/@radix-ui/react-visually-hidden.mjs";
|
|
11
11
|
import { u as useQuery, f as useMutation } from "../_libs/convex.mjs";
|
|
12
12
|
import { O as Image, I as Trash2, H as House, a9 as ChevronLeft, aa as FolderPlus, ab as Upload, a1 as Search, X, s as Folder, a2 as RotateCcw, ac as Ellipsis, a3 as Pencil, ad as FolderInput, ae as EllipsisVertical, k as Eye, af as Download, Z as Link2, ag as File, Q as FileText, ah as Music, ai as Video, aj as Copy, h as ChevronRight, W as Tag, L as LoaderCircle, P as Plus } from "../_libs/lucide-react.mjs";
|
|
@@ -77,7 +77,7 @@ import "./index.mjs";
|
|
|
77
77
|
import "node:async_hooks";
|
|
78
78
|
import "../_libs/zod.mjs";
|
|
79
79
|
import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
|
|
80
|
-
import "./command-
|
|
80
|
+
import "./command-DWXiOsOb.mjs";
|
|
81
81
|
import "../_libs/cmdk.mjs";
|
|
82
82
|
function CmsField({
|
|
83
83
|
label,
|
package/admin-dist/server/_ssr/{new._contentTypeId-6uKYdgGO.mjs → new._contentTypeId-DNWIl-Ha.mjs}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
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 { J as Route, h as api } from "./router-
|
|
4
|
-
import { C as ContentEntryEditor } from "./ContentEntryEditor-
|
|
5
|
-
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-
|
|
6
|
-
import { C as CmsEmptyState } from "./CmsEmptyState-
|
|
3
|
+
import { J as Route, h as api } from "./router-B_gIkxi2.mjs";
|
|
4
|
+
import { C as ContentEntryEditor } from "./ContentEntryEditor-Db9Sy_0y.mjs";
|
|
5
|
+
import { u as useBreadcrumbLabel } from "./useBreadcrumbLabel-C4TsA5z0.mjs";
|
|
6
|
+
import { C as CmsEmptyState } from "./CmsEmptyState-DWqt3y_O.mjs";
|
|
7
7
|
import { u as useQuery } from "../_libs/convex.mjs";
|
|
8
8
|
import { Q as FileText } from "../_libs/lucide-react.mjs";
|
|
9
9
|
import "../_libs/tiny-warning.mjs";
|
|
@@ -72,16 +72,16 @@ import "../_chunks/_libs/@radix-ui/react-popover.mjs";
|
|
|
72
72
|
import "./index.mjs";
|
|
73
73
|
import "node:async_hooks";
|
|
74
74
|
import "../_libs/zod.mjs";
|
|
75
|
-
import "./switch-
|
|
75
|
+
import "./switch-IsC1gdb1.mjs";
|
|
76
76
|
import "../_chunks/_libs/@radix-ui/react-switch.mjs";
|
|
77
77
|
import "../_chunks/_libs/@radix-ui/react-separator.mjs";
|
|
78
|
-
import "./tabs-
|
|
78
|
+
import "./tabs-BdgLwrYe.mjs";
|
|
79
79
|
import "../_chunks/_libs/@radix-ui/react-tabs.mjs";
|
|
80
|
-
import "./command-
|
|
80
|
+
import "./command-DWXiOsOb.mjs";
|
|
81
81
|
import "../_libs/cmdk.mjs";
|
|
82
|
-
import "./badge-
|
|
83
|
-
import "./CmsStatusBadge-
|
|
84
|
-
import "./scroll-area-
|
|
82
|
+
import "./badge-CmG74mbX.mjs";
|
|
83
|
+
import "./CmsStatusBadge-CV35-X_8.mjs";
|
|
84
|
+
import "./scroll-area-Cz-9ry0J.mjs";
|
|
85
85
|
import "../_chunks/_libs/@radix-ui/react-scroll-area.mjs";
|
|
86
86
|
import "../_libs/react-day-picker.mjs";
|
|
87
87
|
import "../_libs/date-fns.mjs";
|