import{j as s,r as e}from"./vendor-react-core-DjsjKnCi.js";import{P as ee,C as ue}from"./page-analytics.tsx-1KCk8AGD.js";import{u as Q}from"./page-reference-aC0iABvU.js";import{W as ge,X as me,Y as fe,Z as he,$ as pe,a0 as xe,o as ye,a1 as ke,a2 as Se,a3 as be,a4 as _e,a5 as K}from"./page-dashboard-DxYTR5eF.js";import{C as Ce}from"./page-components.tsx-DYfg5dka.js";import{u as we,a as je,b as Te,T as te,c as ve,F as Ie}from"./pages-planner-COGkFLJh.js";import{a as se,o as Ee,s as Me,t as Ne}from"./page-authpages-CY7hjDHU.js";import{c as Fe}from"./page-images.config.tsx-Dy4DVDQH.js";import{c as Pe}from"./page-tasks.config.tsx-mmlIGC4l.js";function $e(){return s.jsxs(s.Fragment,{children:[s.jsx(ee,{title:"Writer Dashboard - IGNY8",description:"Content creation overview"}),s.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3 md:gap-6 mb-6",children:[s.jsxs("div",{className:"rounded-2xl border border-gray-200 bg-white p-5 dark:border-gray-800 dark:bg-white/[0.03] md:p-6",children:[s.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Tasks"}),s.jsx("h4",{className:"mt-2 font-bold text-gray-800 text-title-sm dark:text-white/90",children:"-"}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:"Queued tasks"})]}),s.jsxs("div",{className:"rounded-2xl border border-gray-200 bg-white p-5 dark:border-gray-800 dark:bg-white/[0.03] md:p-6",children:[s.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Drafts"}),s.jsx("h4",{className:"mt-2 font-bold text-gray-800 text-title-sm dark:text-white/90",children:"-"}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:"Draft content"})]}),s.jsxs("div",{className:"rounded-2xl border border-gray-200 bg-white p-5 dark:border-gray-800 dark:bg-white/[0.03] md:p-6",children:[s.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Published"}),s.jsx("h4",{className:"mt-2 font-bold text-gray-800 text-title-sm dark:text-white/90",children:"-"}),s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:"Published content"})]})]}),s.jsx(ue,{title:"Coming Soon",desc:"Content creation overview",children:s.jsxs("div",{className:"text-center py-8",children:[s.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:"Writer Dashboard - Coming Soon"}),s.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-2",children:"Overview of content tasks and workflow will be displayed here"})]})})]})}const He=Object.freeze(Object.defineProperty({__proto__:null,default:$e},Symbol.toStringTag,{value:"Module"}));function X(){const r=Q(),{activeSector:k}=we(),{pageSize:j}=je(),[E,T]=e.useState([]),[h,$]=e.useState([]),[S,i]=e.useState(!0),[d,N]=e.useState(""),[v,D]=e.useState(""),[m,b]=e.useState(""),[I,B]=e.useState(""),[p,O]=e.useState(""),[F,R]=e.useState([]),[_,C]=e.useState(1),[V,L]=e.useState(1),[x,q]=e.useState(0),[P,U]=e.useState("created_at"),[u,W]=e.useState("desc"),[a,l]=e.useState(!1),[w,f]=e.useState(!1),[z,A]=e.useState(!1),[Z,J]=e.useState(null),[G,Y]=e.useState({title:"",description:"",keywords:"",cluster_id:null,content_structure:"blog_post",content_type:"blog_post",status:"queued",word_count:0}),g=Te();e.useEffect(()=>{(async()=>{try{const o=await ye({ordering:"name"});$(o.results||[])}catch(o){console.error("Error fetching clusters:",o)}})()},[]);const c=e.useCallback(async()=>{i(!0),l(!1);try{const t=P?`${u==="desc"?"-":""}${P}`:"-created_at",o={...d&&{search:d},...v&&{status:v},...m&&{cluster_id:m},...I&&{content_structure:I},...p&&{content_type:p},page:_,page_size:j,ordering:t},n=await ge(o);T(n.results||[]),q(n.count||0),L(Math.ceil((n.count||0)/j)),setTimeout(()=>{l(!0),i(!1)},100)}catch(t){console.error("Error loading tasks:",t),r.error(`Failed to load tasks: ${t.message}`),l(!0),i(!1)}},[_,v,m,I,p,P,u,d,k,j]);e.useEffect(()=>{c()},[c]),e.useEffect(()=>{const t=()=>{c()},o=()=>{c()};return window.addEventListener("siteChanged",t),window.addEventListener("sectorChanged",o),()=>{window.removeEventListener("siteChanged",t),window.removeEventListener("sectorChanged",o)}},[c]),e.useEffect(()=>{C(1)},[j]),e.useEffect(()=>{const t=setTimeout(()=>{_===1?c():C(1)},500);return()=>clearTimeout(t)},[d,_,c]);const ae=(t,o)=>{U(t||"created_at"),W(o),C(1)},re=e.useCallback(async(t,o)=>{try{const n=t.map(M=>parseInt(M));await me(n,o),await c()}catch(n){throw n}},[c]),oe=e.useCallback(async t=>{try{if(!t||t.length===0)throw new Error("No records selected for export");r.info("Export functionality coming soon")}catch(o){throw o}},[]),ne=e.useCallback(async(t,o)=>{if(t==="generate_content"){if(!o.title){r.error("Task must have a title to generate content");return}try{const n=await fe([o.id]);n.success?n.task_id?(g.openModal(n.task_id,"Generating Content"),r.success("Content generation started")):(r.success(`Content generated successfully: ${n.tasks_updated||0} article generated`),await c()):r.error(n.error||"Failed to generate content")}catch(n){r.error(`Failed to generate content: ${n.message}`)}}},[r,c,g]),le=e.useCallback(async(t,o)=>{if(t==="generate_images"){if(o.length===0){r.error("Please select at least one task to generate images");return}if(o.length>10){r.error("Maximum 10 tasks allowed for image generation");return}try{const n=o.map(de=>parseInt(de)),M=await he(n);M.success?M.task_id?(g.openModal(M.task_id,"Generating Images"),r.success("Image generation started")):(r.success(`Image generation complete: ${M.images_created||0} images generated`),await c()):r.error(M.error||"Failed to generate images")}catch(n){r.error(`Failed to generate images: ${n.message}`)}}else r.info(`Bulk action "${t}" for ${o.length} items`)},[r,c,g]),y=e.useMemo(()=>Pe({clusters:h,activeSector:k,formData:G,setFormData:Y,searchTerm:d,setSearchTerm:N,statusFilter:v,setStatusFilter:D,clusterFilter:m,setClusterFilter:b,structureFilter:I,setStructureFilter:B,typeFilter:p,setTypeFilter:O,setCurrentPage:C}),[h,k,G,d,v,m,I,p]),ce=e.useMemo(()=>y!=null&&y.headerMetrics?y.headerMetrics.map(t=>({label:t.label,value:t.calculate({tasks:E,totalCount:x}),accentColor:t.accentColor})):[],[y==null?void 0:y.headerMetrics,E,x]),H=e.useCallback(()=>{Y({title:"",description:"",keywords:"",cluster_id:null,content_structure:"blog_post",content_type:"blog_post",status:"queued",word_count:0}),A(!1),J(null)},[]),ie=async()=>{try{z&&Z?(await ke(Z.id,G),r.success("Task updated successfully")):(await Se(G),r.success("Task created successfully")),f(!1),H(),c()}catch(t){r.error(`Failed to save: ${t.message}`)}};return s.jsxs(s.Fragment,{children:[s.jsx(te,{title:"Content Tasks",titleIcon:s.jsx(Me,{className:"text-brand-500 size-5"}),subtitle:"Manage content generation queue and tasks",columns:y.columns,data:E,loading:S,showContent:a,filters:y.filters,filterValues:{search:d,status:v,cluster_id:m,content_structure:I,content_type:p},onFilterChange:(t,o)=>{const n=o==null?"":String(o);t==="search"?N(n):t==="status"?D(n):t==="cluster_id"?b(n):t==="content_structure"?B(n):t==="content_type"&&O(n),C(1)},onEdit:t=>{J(t),Y({title:t.title||"",description:t.description||"",keywords:t.keywords||"",cluster_id:t.cluster_id||null,content_structure:t.content_structure||"blog_post",content_type:t.content_type||"blog_post",status:t.status||"queued",word_count:t.word_count||0}),A(!0),f(!0)},onCreate:()=>{H(),f(!0)},createLabel:"Add Task",onCreateIcon:s.jsx(Ee,{}),onDelete:async t=>{await xe(t),c()},onBulkDelete:async t=>{const o=await pe(t);return c(),o},onBulkExport:oe,onBulkUpdateStatus:re,onBulkAction:le,onRowAction:ne,getItemDisplayName:t=>t.title,onExport:async()=>{r.info("Export functionality coming soon")},onExportIcon:s.jsx(se,{}),selectionLabel:"task",pagination:{currentPage:_,totalPages:V,totalCount:x,onPageChange:C},selection:{selectedIds:F,onSelectionChange:R},sorting:{sortBy:P,sortDirection:u,onSort:ae},headerMetrics:ce,onFilterReset:()=>{N(""),D(""),b(""),B(""),O(""),C(1)}}),s.jsx(ve,{isOpen:g.isOpen,title:g.title,percentage:g.progress.percentage,status:g.progress.status,message:g.progress.message,details:g.progress.details,taskId:g.taskId||void 0,onClose:()=>{const t=g.progress.status==="completed";g.closeModal(),t&&c()}}),s.jsx(Ie,{isOpen:w,onClose:()=>{f(!1),H()},onSubmit:ie,title:z?"Edit Task":"Add Task",submitLabel:z?"Update":"Create",fields:y.formFields(h)})]})}const Qe=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"}));function De(){const r=Q(),[k,j]=e.useState([]),[E,T]=e.useState(!0),[h,$]=e.useState(null);e.useEffect(()=>{S()},[]);const S=async()=>{try{T(!0);const i=await be();j(i.results||[])}catch(i){r.error(`Failed to load content: ${i.message}`)}finally{T(!1)}};return s.jsxs("div",{className:"p-6",children:[s.jsx(ee,{title:"Content"}),s.jsxs("div",{className:"mb-6",children:[s.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-white",children:"Content"}),s.jsx("p",{className:"text-gray-600 dark:text-gray-400 mt-1",children:"View all generated content"})]}),E?s.jsx("div",{className:"flex items-center justify-center h-64",children:s.jsx("div",{className:"text-gray-500",children:"Loading..."})}):s.jsx("div",{className:"space-y-4",children:k.map(i=>s.jsxs(Ce,{className:"p-6",children:[s.jsxs("div",{className:"flex justify-between items-start mb-4",children:[s.jsxs("div",{children:[s.jsxs("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:["Task #",i.task]}),s.jsxs("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:["Generated: ",new Date(i.generated_at).toLocaleString()]})]}),s.jsxs("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:[i.word_count," words"]})]}),s.jsx("div",{className:"prose dark:prose-invert max-w-none",dangerouslySetInnerHTML:{__html:i.html_content}})]},i.id))})]})}const Xe=Object.freeze(Object.defineProperty({__proto__:null,default:De},Symbol.toStringTag,{value:"Module"}));function Be(){return s.jsx(X,{})}const Ze=Object.freeze(Object.defineProperty({__proto__:null,default:Be},Symbol.toStringTag,{value:"Module"}));function Oe(){const r=Q(),[k,j]=e.useState([]),[E,T]=e.useState(!0),[h,$]=e.useState(""),[S,i]=e.useState(""),[d,N]=e.useState(""),[v,D]=e.useState([]),[m,b]=e.useState(1),[I,B]=e.useState(1),[p,O]=e.useState(0),[F,R]=e.useState("created_at"),[_,C]=e.useState("desc"),[V,L]=e.useState(!1),x=e.useCallback(async()=>{T(!0),L(!1);try{const a=F?`${_==="desc"?"-":""}${F}`:"-created_at",l={...S&&{image_type:S},...d&&{status:d},page:m,ordering:a};let f=(await _e(l)).results||[];h&&(f=f.filter(z=>{var A;return(A=z.task_title)==null?void 0:A.toLowerCase().includes(h.toLowerCase())})),j(f),O(f.length),B(Math.ceil(f.length/10)),setTimeout(()=>{L(!0),T(!1)},100)}catch(a){console.error("Error loading images:",a),r.error(`Failed to load images: ${a.message}`),L(!0),T(!1)}},[m,S,d,F,_,h]);e.useEffect(()=>{x()},[x]),e.useEffect(()=>{const a=setTimeout(()=>{m===1?x():b(1)},500);return()=>clearTimeout(a)},[h,m,x]);const q=(a,l)=>{R(a||"created_at"),C(l),b(1)},P=e.useCallback(async a=>{try{if(!a||a.length===0)throw new Error("No records selected for export");r.info("Export functionality coming soon")}catch(l){throw l}},[]),U=e.useCallback(async(a,l)=>{if(a==="generate_images")try{const w=l.map(f=>parseInt(f));r.info(`Generate images for ${l.length} items`)}catch(w){r.error(`Failed to generate images: ${w.message}`)}else r.info(`Bulk action "${a}" for ${l.length} items`)},[]),u=e.useMemo(()=>Fe(),[h,S,d]),W=e.useMemo(()=>u!=null&&u.headerMetrics?u.headerMetrics.map(a=>({label:a.label,value:a.calculate({images:k,totalCount:p}),accentColor:a.accentColor})):[],[u==null?void 0:u.headerMetrics,k,p]);return s.jsx(te,{title:"Task Images",titleIcon:s.jsx(Ne,{className:"text-purple-500 size-5"}),subtitle:"Manage images for content tasks",columns:u.columns,data:k,loading:E,showContent:V,filters:u.filters,filterValues:{search:h,image_type:S,status:d},onFilterChange:(a,l)=>{const w=l==null?"":String(l);a==="search"?$(w):a==="image_type"?i(w):a==="status"&&N(w),b(1)},onDelete:async a=>{await K(a),x()},onBulkDelete:async a=>{for(const l of a)await K(l);return x(),{deleted_count:a.length}},onBulkExport:P,onBulkAction:U,getItemDisplayName:a=>a.task_title||`Image ${a.id}`,onExport:async()=>{r.info("Export functionality coming soon")},onExportIcon:s.jsx(se,{}),selectionLabel:"image",pagination:{currentPage:m,totalPages:I,totalCount:p,onPageChange:b},selection:{selectedIds:v,onSelectionChange:D},sorting:{sortBy:F,sortDirection:_,onSort:q},headerMetrics:W,onFilterReset:()=>{$(""),i(""),N(""),b(1)}})}const Je=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"}));function Le(){return s.jsx(X,{})}const Ke=Object.freeze(Object.defineProperty({__proto__:null,default:Le},Symbol.toStringTag,{value:"Module"}));export{Xe as C,He as D,Je as I,Ke as P,Qe as T,Ze as a};