- Added primary_keyword, secondary_keywords, tags, and categories fields to Tasks model - Updated generate_content function to handle full JSON response with all SEO fields - Improved progress bar animation: smooth 1% increments every 300ms - Enhanced step detection for content generation vs clustering vs ideas - Fixed progress modal to show correct messages for each function type - Added comprehensive logging to Keywords and Tasks pages for AI functions - Fixed error handling to show meaningful error messages instead of generic failures
2 lines
4.6 KiB
JavaScript
2 lines
4.6 KiB
JavaScript
import{j as r}from"./vendor-react-core-DjsjKnCi.js";import{t as u,s as n,a as i,w as c,f as p,c as b,B as o}from"./page-clusters.config.tsx-9GAd-_h-.js";const m=t=>{const s=!t.activeSector;return{columns:[{...u,sortable:!0,sortField:"title",toggleable:!0,toggleContentKey:"content",toggleContentLabel:"Generated Content"},...s?[{...n,render:(e,a)=>r.jsx(o,{color:"info",size:"sm",variant:"light",children:a.sector_name||"-"})}]:[],{key:"cluster_name",label:"Cluster",sortable:!1,width:"200px",render:(e,a)=>a.cluster_name||"-"},{key:"content_structure",label:"Structure",sortable:!0,sortField:"content_structure",width:"150px",render:e=>r.jsx(o,{color:"info",size:"sm",variant:"light",children:(e==null?void 0:e.replace("_"," "))||"-"})},{key:"content_type",label:"Type",sortable:!0,sortField:"content_type",width:"120px",render:e=>r.jsx(o,{color:"info",size:"sm",variant:"light",children:(e==null?void 0:e.replace("_"," "))||"-"})},{...i,sortable:!0,sortField:"status",render:e=>{const a={queued:"warning",in_progress:"info",draft:"warning",review:"info",published:"success",completed:"success"};return r.jsx(o,{color:a[e]||"warning",size:"sm",children:(e==null?void 0:e.replace("_"," "))||e})}},{...c,sortable:!0,sortField:"word_count",render:e=>e.toLocaleString()},{...b,sortable:!0,sortField:"created_at",render:e=>p(e)}],filters:[{key:"search",label:"Search",type:"text",placeholder:"Search tasks..."},{key:"status",label:"Status",type:"select",options:[{value:"",label:"All Status"},{value:"queued",label:"Queued"},{value:"in_progress",label:"In Progress"},{value:"draft",label:"Draft"},{value:"review",label:"Review"},{value:"published",label:"Published"},{value:"completed",label:"Completed"}]},{key:"content_structure",label:"Structure",type:"select",options:[{value:"",label:"All Structures"},{value:"cluster_hub",label:"Cluster Hub"},{value:"landing_page",label:"Landing Page"},{value:"pillar_page",label:"Pillar Page"},{value:"supporting_page",label:"Supporting Page"}]},{key:"content_type",label:"Type",type:"select",options:[{value:"",label:"All Types"},{value:"blog_post",label:"Blog Post"},{value:"article",label:"Article"},{value:"guide",label:"Guide"},{value:"tutorial",label:"Tutorial"}]},{key:"cluster_id",label:"Cluster",type:"select",options:[{value:"",label:"All Clusters"},...t.clusters.map(e=>({value:e.id.toString(),label:e.name}))],dynamicOptions:"clusters"}],formFields:e=>{var a;return[{key:"title",label:"Title",type:"text",placeholder:"Enter task title",required:!0,value:t.formData.title||"",onChange:l=>t.setFormData({...t.formData,title:l})},{key:"description",label:"Description",type:"textarea",placeholder:"Enter description",value:t.formData.description||"",onChange:l=>t.setFormData({...t.formData,description:l})},{key:"keywords",label:"Keywords",type:"text",placeholder:"Enter keywords (comma-separated)",value:t.formData.keywords||"",onChange:l=>t.setFormData({...t.formData,keywords:l})},{key:"cluster_id",label:"Cluster",type:"select",value:((a=t.formData.cluster_id)==null?void 0:a.toString())||"",onChange:l=>t.setFormData({...t.formData,cluster_id:l?parseInt(l):null}),options:[{value:"",label:"No Cluster"},...e.map(l=>({value:l.id.toString(),label:l.name}))]},{key:"content_structure",label:"Content Structure",type:"select",value:t.formData.content_structure||"blog_post",onChange:l=>t.setFormData({...t.formData,content_structure:l}),options:[{value:"cluster_hub",label:"Cluster Hub"},{value:"landing_page",label:"Landing Page"},{value:"pillar_page",label:"Pillar Page"},{value:"supporting_page",label:"Supporting Page"}]},{key:"content_type",label:"Content Type",type:"select",value:t.formData.content_type||"blog_post",onChange:l=>t.setFormData({...t.formData,content_type:l}),options:[{value:"blog_post",label:"Blog Post"},{value:"article",label:"Article"},{value:"guide",label:"Guide"},{value:"tutorial",label:"Tutorial"}]},{key:"status",label:"Status",type:"select",value:t.formData.status||"queued",onChange:l=>t.setFormData({...t.formData,status:l}),options:[{value:"queued",label:"Queued"},{value:"in_progress",label:"In Progress"},{value:"draft",label:"Draft"},{value:"review",label:"Review"},{value:"published",label:"Published"},{value:"completed",label:"Completed"}]}]},headerMetrics:[{label:"Total Tasks",value:0,accentColor:"blue",calculate:e=>e.totalCount||0},{label:"Queued",value:0,accentColor:"amber",calculate:e=>e.tasks.filter(a=>a.status==="queued").length},{label:"In Progress",value:0,accentColor:"blue",calculate:e=>e.tasks.filter(a=>a.status==="in_progress").length},{label:"Published",value:0,accentColor:"green",calculate:e=>e.tasks.filter(a=>a.status==="published").length}]}};export{m as c};
|