1import{c as M,t as g,r as h,I as f,h as l,j as a,e as G,m as N,J as _,o as B,b as Q,z as X,w as K}from"./index-TdxVxAlO.js";import{A as E,S as A,a as D}from"./AdminLayout-DGuzapTB.js";import{F as k}from"./folder-plus-8Uf8oRBS.js";import{E as L}from"./eye-VfccOVnF.js";import{P as C}from"./pen-line-SbSJFey3.js";import{T as S}from"./trash-2--u_z8RSK.js";import{S as V}from"./save-dvZqdlZY.js";const w=M("Tags",[["path",{d:"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19",key:"1cbfv1"}],["path",{d:"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z",key:"135mg7"}],["circle",{cx:"6.5",cy:"9.5",r:".5",fill:"currentColor",key:"5pm5xn"}]]),I=i=>({kind:i,name:"",slug:"",description:"",color:"#1557c0",showInNav:!1,orderIndex:0,parentId:null,icon:"FolderTree",contentType:null,seo:f({schemaType:"CollectionPage"})});function H(i){return i.split(",").map(m=>m.trim()).filter(Boolean)}function q({draft:i,setDraft:m}){const o=n=>m({...i,seo:{...i.seo,...n}});return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"taxonomy-editor-sections",children:[a.jsxs("section",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"taxonomy-section-heading",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Search metadata"}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Saved values resolve through the native taxonomy fallback system."})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-form-grid",children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"SEO title"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.metaTitle,maxLength:300,onChange:n=>o({metaTitle:n.target.value}),placeholder:"Falls back to the global %title% | %sitename% format"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Meta description"}),a.jsx("textarea",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",rows:3,value:i.seo.metaDescription,maxLength:400,onChange:n=>o({metaDescription:n.target.value}),placeholder:"Falls back to the taxonomy description"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Focus keyword"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.focusKeyword,onChange:n=>o({focusKeyword:n.target.value})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Related keywords"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.secondaryKeywords.join(", "),onChange:n=>o({secondaryKeywords:H(n.target.value)}),placeholder:"Comma separated"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Canonical URL"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.canonical,onChange:n=>o({canonical:n.target.value}),placeholder:"Automatic production taxonomy URL when empty"})]})]})]}),a.jsxs("section",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"taxonomy-section-heading",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Indexing and schema"}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Navigation visibility is independent from indexing."})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-form-grid",children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-check",children:[a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",type:"checkbox",checked:i.seo.robotsIndex,onChange:n=>o({robotsIndex:n.target.checked})})," Index this taxonomy page"]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-check",children:[a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",type:"checkbox",checked:i.seo.robotsFollow,onChange:n=>o({robotsFollow:n.target.checked})})," Follow links"]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Structured data"}),a.jsx("select",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:"CollectionPage",onCh
1ange:()=>o({schemaType:"CollectionPage"}),children:a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:"CollectionPage",children:"Collection page with item list"})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Breadcrumb label"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.breadcrumbTitle,onChange:n=>o({breadcrumbTitle:n.target.value}),placeholder:"Uses taxonomy name when empty"})]})]}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"taxonomy-robots",children:K.map(n=>a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-check",children:[a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",type:"checkbox",checked:i.seo.robotsAdvanced.includes(n),onChange:p=>o({robotsAdvanced:p.target.checked?[...i.seo.robotsAdvanced,n]:i.seo.robotsAdvanced.filter(d=>d!==n)})})," ",n]},n))})]}),a.jsxs("section",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"taxonomy-section-heading",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Open Graph and X"}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Each field falls back through the saved SEO title and description."})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"admin-form-grid",children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Open Graph title"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.ogTitle,onChange:n=>o({ogTitle:n.target.value})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Open Graph image URL"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.ogImage,onChange:n=>o({ogImage:n.target.value}),placeholder:"https://â¦"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"Open Graph description"}),a.jsx("textarea",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",rows:2,value:i.seo.ogDescription,onChange:n=>o({ogDescription:n.target.value})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"X card type"}),a.jsxs("select",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.twitterCard,onChange:n=>o({twitterCard:n.target.value}),children:[a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:"summary_large_image",children:"Summary large image"}),a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:"summary",children:"Summary"})]})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"X image URL"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.twitterImage,onChange:n=>o({twitterImage:n.target.value}),placeholder:"Uses Open Graph image when empty"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"X title"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.twitterTitle,onChange:n=>o({twitterTitle:n.target.value})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",children:"X description"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:32",value:i.seo.twitterDescription,onChange:n=>o({twitterDescription:n.target.value})})]})]})]})]})}function Y({draft:i,categories:m,usage:o,onCancel:n,onSave:p}
1){const[d,u]=h.useState("general"),[s,r]=h.useState(i);h.useEffect(()=>r(i),[i]);const y=g.settings.publicSettings.useQuery(),x=h.useMemo(()=>_({kind:s.kind,name:s.name||"Taxonomy name",slug:s.slug||"taxonomy-slug",description:s.description,meta:s.seo,siteName:y.data?.siteName||"RajExams",siteUrl:y.data?.siteUrl||"https://eduportal-bvluawlx.manus.space",titleFormat:y.data?.titleFormat,parent:s.parentId?m.find(t=>t.id===s.parentId):null}),[m,s,y.data?.siteName,y.data?.siteUrl,y.data?.titleFormat]);return a.jsxs(E,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",title:`${s.id?"Edit":"Create"} ${s.kind==="category"?"category":"tag"}`,description:"A complete persisted taxonomy record. General fields, indexing, social metadata, schema, preview, usage, and update history share one server-authorized workflow.",actions:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"taxonomy-editor-actions",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"admin-ghost-button",onClick:n,children:[a.jsx(X,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",size:14})," Back to library"]}),a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"admin-primary-button",onClick:()=>{Object.assign(i,s),p()},children:[a.jsx(V,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",size:14})," ",s.id?"Update taxonomy":"Create taxonomy"]})]}),children:[a.jsxs("nav",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"taxonomy-editor-tabs","aria-label":"Taxonomy editor sections",children:[a.jsx("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:d==="general"?"active":"",onClick:()=>u("general"),children:"General"}),a.jsx("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:d==="seo"?"active":"",onClick:()=>u("seo"),children:"SEO & social"}),a.jsx("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:d==="preview"?"active":"",onClick:()=>u("preview"),children:"Preview"}),a.jsx("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:d==="usage"?"active":"",onClick:()=>u("usage"),children:"Usage & metadata"})]}),a.jsxs(D,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",title:d==="general"?"General and URL":d==="seo"?"Enterprise SEO":d==="preview"?"Resolved public preview":"Content assignment and change metadata",children:[d==="general"&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"admin-form-grid",children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Name"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:s.name,onChange:t=>r({...s,name:t.target.value,slug:s.slug||N(t.target.value)}),placeholder:"e.g. Rajasthan Public Service Commission"})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"URL slug"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:s.slug,onChange:t=>r({...s,slug:N(t.target.value)})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Colour"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",type:"color",value:s.color,onChange:t=>r({...s,color:t.target.value})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"span-2",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Description"}),a.jsx("textarea",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",rows:4,value:s.description,onChange:t=>r({...s,description:t.target.value}),placeholder:"Editorial context shown on the public taxonomy page."})]}),s.kind==="category"&&a.jsxs(a.Fragment,{children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Parent category"}),a.jsxs("select",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:s.parentId??"",onChange:t=>r({...s,parentId:t.target.value?Number(t.target.value):null}),children:[a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:"",children:"No parent"}),m.filter(t=>
1t.id!==s.id).map(t=>a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:t.id,children:t.name},t.id))]})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Content type focus"}),a.jsxs("select",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:s.contentType??"",onChange:t=>r({...s,contentType:t.target.value||null}),children:[a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:"",children:"All content types"}),B.map(t=>a.jsx("option",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",value:t,children:Q[t].labelPlural},t))]})]})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Display order"}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",type:"number",min:0,max:999,value:s.orderIndex,onChange:t=>r({...s,orderIndex:Number(t.target.value)||0})})]}),a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"admin-check",children:[a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",type:"checkbox",checked:s.showInNav,onChange:t=>r({...s,showInNav:t.target.checked})})," Show in navigation"]})]}),d==="seo"&&a.jsx(q,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",draft:s,setDraft:r}),d==="preview"&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"taxonomy-preview",children:[a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:"Search preview â not an exact Google rendering"}),a.jsx("strong",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.title}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.canonical}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.description}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"taxonomy-social-preview",children:[a.jsx("b",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.meta.ogTitle||x.title}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.meta.ogDescription||x.description}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:x.meta.ogImage||"No custom image; no broken fallback URL will be emitted."})]})]}),d==="usage"&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"taxonomy-usage",children:[a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",label:"All assigned content",value:String(o?.total??0),delta:"Database-backed relationship count",tone:"blue",icon:w}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",label:"Published",value:String(o?.published??0),delta:"Visible public records",tone:"mint",icon:L}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",label:"Draft",value:String(o?.draft??0),delta:"Not public",tone:"lilac",icon:C}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",className:"admin-notice",children:a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:41",children:s.id?`Record #${s.id} · created and updated times are database-managed.`:"Timestamps and usage become available after the first save."})})]})]})]})}function ta(){const i=g.useUtils(),m=g.category.manageList.useQuery(),o=g.tag.manageList.useQuery(),[n,p]=h.useState(null),[d,u]=h.useState(I("category")),[s,r]=h.useState(""),y=g.category.byId.useQuery({id:n?.kind==="category"?n.id??1:1},{enabled:n?.kind==="category"&&!!n.id}),x=g.tag.byId.useQuery({id:n?.kind==="tag"?n.id??1:1},{enabled:n?.kind==="tag"&&!!n.id});h.useEffect(()=>{const e=n?.kind==="category"?y.data:x.data;if(!e?.item||!n)return;const c=e.item;u({kind:n.kind,id:c.id,name:c.name,slug:c.slug,description:c.description||"",color:c.color,showInNav:c.showInNav,orderIndex:c.orderIndex,parentId:c.parentId??null,icon:c.icon||"FolderTree",contentType:c.contentType??null,seo:{...f({schemaType:"CollectionPage"}),...c.seo||{}}})},[y.data,n,x.data]);const t=()=>
1Promise.all([i.category.list.invalidate(),i.category.manageList.invalidate(),i.tag.list.invalidate(),i.tag.manageList.invalidate()]),P=g.category.create.useMutation({onSuccess:async()=>{l.success("Category created."),await t(),p(null)},onError:e=>l.error(e.message)}),U=g.category.update.useMutation({onSuccess:async()=>{l.success("Category updated."),await t(),p(null)},onError:e=>l.error(e.message)}),O=g.tag.create.useMutation({onSuccess:async()=>{l.success("Tag created."),await t(),p(null)},onError:e=>l.error(e.message)}),F=g.tag.update.useMutation({onSuccess:async()=>{l.success("Tag updated."),await t(),p(null)},onError:e=>l.error(e.message)}),R=g.category.remove.useMutation({onSuccess:async e=>{l.success(`Category deleted${e.detachedContent?`; ${e.detachedContent} content record(s) uncategorized`:""}.`),await t()},onError:e=>l.error(e.message)}),$=g.tag.remove.useMutation({onSuccess:async e=>{l.success(`Tag deleted${e.detachedContent?`; removed from ${e.detachedContent} content record(s)`:""}.`),await t()},onError:e=>l.error(e.message)}),j=(e,c)=>{u(I(e)),p({kind:e,id:c})},z=()=>{if(!d.name.trim())return l.error("Enter a taxonomy name.");const e={...d,slug:d.slug||N(d.name)};if(d.kind==="category"){const c={name:e.name,slug:e.slug,description:e.description,parentId:e.parentId,color:e.color,icon:e.icon,contentType:e.contentType,showInNav:e.showInNav,orderIndex:e.orderIndex,seo:e.seo};e.id?U.mutate({id:e.id,...c}):P.mutate(c)}else{const c={name:e.name,slug:e.slug,description:e.description,color:e.color,showInNav:e.showInNav,orderIndex:e.orderIndex,seo:e.seo};e.id?F.mutate({id:e.id,...c}):O.mutate(c)}};if(n){const e=n.kind==="category"?y.data?.usage:x.data?.usage;return a.jsx(Y,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:63",draft:d,categories:m.data??[],usage:e,onCancel:()=>p(null),onSave:z})}const T=s.trim().toLowerCase(),b=(m.data??[]).filter(e=>!T||e.name.toLowerCase().includes(T)||e.slug.includes(T)),v=(o.data??[]).filter(e=>!T||e.name.toLowerCase().includes(T)||e.slug.includes(T));return a.jsxs(E,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",title:"Categories & Tags",description:"Manage database-backed taxonomy hubs, content assignment, navigation visibility, enterprise SEO, social metadata, indexing, schema, and safe URL continuity.",actions:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-library-actions",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-ghost-button",onClick:()=>j("tag"),children:[a.jsx(w,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:14})," New tag"]}),a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-primary-button",onClick:()=>j("category"),children:[a.jsx(k,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:14})," New category"]})]}),children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-library-summary",children:[a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",label:"Categories",value:String(m.data?.length??0),delta:"Structured navigation and content hubs",tone:"blue",icon:k}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",label:"Tags",value:String(o.data?.length??0),delta:"Cross-topic discovery hubs",tone:"lilac",icon:w}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",label:"Published assignments",value:String([...m.data??[],...o.data??[]].reduce((e,c)=>e+(c.usage?.published??0),0)),delta:"Real linked published content",tone:"mint",icon:L})]}),a.jsxs(D,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",title:"Taxonomy library",description:"Edit uses one complete persisted taxonomy editor. Delete is confirmed and reports relationship consequences.",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-library-toolbar",children:[a.jsxs("label",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-search",children:[a.jsx(G,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:15}),a.jsx("input",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",value:s,onChange:e=>r(e.target.value),placeholder:"Search name or slug"})]}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[b.length," categories · ",v.length," tags"]})]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-library-grid",children:[a.jsxs("section",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("h2",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Categories"}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table-wrap",children:a.jsxs("table",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table",children:[a.jsx("thead",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Category"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Slug"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Content"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Indexing"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Navigation"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Updated"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Actions"})]})}),a.jsxs("tbody",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[b.map(e=>a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"category-dot",style:{background:e.color}})," ",a.jsx("strong",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.name}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table-sub",children:e.description||"No description"})]}),a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:["/",e.slug]}),a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[e.usage.total," ",a.jsxs("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:["(",e.usage.published," live)"]})]}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.seo?.robotsIndex===!1?"Noindex":"Index"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.showInNav?"Visible":"Hidden"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:new Date(e.updatedAt).toLocaleStr
1ing("en-IN",{dateStyle:"medium",timeStyle:"short"})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-row-actions",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-ghost-button","aria-label":`Edit ${e.name}`,onClick:()=>j("category",e.id),children:[a.jsx(C,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:13})," Edit"]}),a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-ghost-button danger","aria-label":`Delete ${e.name}`,onClick:()=>{confirm(`Delete category â${e.name}â? ${e.usage.total} assigned record(s) will be uncategorized.`)&&R.mutate({id:e.id,confirm:!0})},children:[a.jsx(S,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:13})," Delete"]})]})})]},e.id)),!b.length&&a.jsx("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",colSpan:7,children:a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-empty",children:"No categories match this search."})})})]})]})})]}),a.jsxs("section",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("h2",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Tags"}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table-wrap",children:a.jsxs("table",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table",children:[a.jsx("thead",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Tag"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Slug"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Content"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Indexing"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Navigation"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Updated"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:"Actions"})]})}),a.jsxs("tbody",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[v.map(e=>a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"category-dot",style:{background:e.color}})," ",a.jsx("strong",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.name}),a.jsx("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-table-sub",children:e.description||"No description"})]}),a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:["/",e.slug]}),a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:[e.usage.total," ",a.jsxs("small",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:["(",e.usage.published," live)"]})]}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.seo?.robotsIndex===!1?"Noindex":"Index"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:e.showInNav?"Visible":"Hidden"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:new Date(e.updatedAt).toLocaleString("en-IN",{dateStyle:"medium",timeStyle:"short"})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"taxonomy-row-actions",children:[a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-ghost-button","aria-label":`Edit ${e.name}`,onClick:()=>j("tag",e.id),children:[a.jsx(C,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:13})," Edit"]}),a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-ghost-button danger","aria-label":`Delete ${e.name}`,onClick:()=>{confirm(`Delete tag â${e.name}â? It will be detached from ${e.usage.total}
1 assigned record(s).`)&&$.mutate({id:e.id,confirm:!0})},children:[a.jsx(S,{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",size:13})," Delete"]})]})})]},e.id)),!v.length&&a.jsx("tr",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",children:a.jsx("td",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",colSpan:7,children:a.jsx("div",{"data-loc":"client/src/pages/admin/AdminTaxonomy.tsx:65",className:"admin-empty",children:"No tags match this search."})})})]})]})})]})]})]})]})}export{ta as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.