- 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
2.0 KiB
JavaScript
2 lines
2.0 KiB
JavaScript
import{j as l}from"./vendor-react-core-DjsjKnCi.js";import{a as r,f as s,c as n,B as t}from"./page-clusters.config.tsx-9GAd-_h-.js";const d=i=>({columns:[{key:"task_title",label:"Task",sortable:!1,width:"250px",render:(e,a)=>l.jsx("span",{className:"font-medium text-gray-800 dark:text-white/90",children:a.task_title||"-"})},{key:"image_type",label:"Image Type",sortable:!1,width:"150px",render:e=>l.jsx(t,{color:"info",size:"sm",variant:"light",children:(e==null?void 0:e.replace("_"," "))||"-"})},{key:"image_url",label:"Image",sortable:!1,width:"200px",render:e=>e?l.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-brand-500 hover:text-brand-600 text-sm truncate block max-w-[200px]",children:"View Image"}):l.jsx("span",{className:"text-gray-400",children:"-"})},{...r,sortable:!0,sortField:"status",render:e=>{const a={pending:"warning",generated:"success",failed:"error"};return l.jsx(t,{color:a[e]||"warning",size:"sm",children:e})}},{key:"position",label:"Position",sortable:!1,width:"100px",render:e=>e||0},{...n,sortable:!0,sortField:"created_at",render:e=>s(e)}],filters:[{key:"search",label:"Search",type:"text",placeholder:"Search by task title..."},{key:"image_type",label:"Image Type",type:"select",options:[{value:"",label:"All Types"},{value:"featured",label:"Featured Image"},{value:"desktop",label:"Desktop Image"},{value:"mobile",label:"Mobile Image"},{value:"in_article",label:"In-Article Image"}]},{key:"status",label:"Status",type:"select",options:[{value:"",label:"All Status"},{value:"pending",label:"Pending"},{value:"generated",label:"Generated"},{value:"failed",label:"Failed"}]}],headerMetrics:[{label:"Total Images",value:0,accentColor:"blue",calculate:e=>e.totalCount||0},{label:"Generated",value:0,accentColor:"green",calculate:e=>e.images.filter(a=>a.status==="generated").length},{label:"Pending",value:0,accentColor:"amber",calculate:e=>e.images.filter(a=>a.status==="pending").length},{label:"Failed",value:0,accentColor:"error",calculate:e=>e.images.filter(a=>a.status==="failed").length}]});export{d as c};
|