2 lines
9.1 KiB
JavaScript
2 lines
9.1 KiB
JavaScript
import{j as a}from"./vendor-react-core-DRQGgXXF.js";import{L as d,I as b,B as x}from"./page-authpages-BaiNliVr.js";const c=({variant:e="light",color:s="primary",size:t="md",startIcon:r,endIcon:n,children:u,className:l=""})=>{const o="inline-flex items-center px-2.5 py-0.5 justify-center gap-1 rounded-full font-medium",i={sm:"text-theme-xs",md:"text-sm"},p={light:{primary:"bg-brand-50 text-brand-500 dark:bg-brand-500/15 dark:text-brand-400",success:"bg-success-50 text-success-600 dark:bg-success-500/15 dark:text-success-500",error:"bg-error-50 text-error-600 dark:bg-error-500/15 dark:text-error-500",warning:"bg-warning-50 text-warning-600 dark:bg-warning-500/15 dark:text-orange-400",info:"bg-blue-light-50 text-blue-light-500 dark:bg-blue-light-500/15 dark:text-blue-light-500",light:"bg-gray-100 text-gray-700 dark:bg-white/5 dark:text-white/80",dark:"bg-gray-500 text-white dark:bg-white/5 dark:text-white"},solid:{primary:"bg-brand-500 text-white dark:text-white",success:"bg-success-500 text-white dark:text-white",error:"bg-error-500 text-white dark:text-white",warning:"bg-warning-500 text-white dark:text-white",info:"bg-blue-light-500 text-white dark:text-white",light:"bg-gray-400 dark:bg-white/5 text-white dark:text-white/80",dark:"bg-gray-700 text-white dark:text-white"}},y=i[t],f=p[e][s];return a.jsxs("span",{className:`${o} ${y} ${f} ${l}`,children:[r&&a.jsx("span",{className:"mr-1",children:r}),u,n&&a.jsx("span",{className:"ml-1",children:n})]})},m={"Very Easy":{min:0,max:10,number:1},Easy:{min:11,max:30,number:2},Medium:{min:31,max:50,number:3},Hard:{min:51,max:70,number:4},"Very Hard":{min:71,max:100,number:5}};function w(e){return e==null?"-":e<=10?1:e<=30?2:e<=50?3:e<=70?4:5}function j(e){return{min:m[e].min,max:m[e].max}}function N(e){for(const[s,t]of Object.entries(m))if(t.number===e)return s;return null}const h={key:"title",label:"Title",sortable:!0,width:"auto"},F={key:"keyword",label:"Keyword",sortable:!0,width:"auto"},v={key:"status",label:"Status",sortable:!0,badge:!0,width:"120px"},$={key:"volume",label:"Volume",sortable:!0,numeric:!0,width:"100px"},k={key:"difficulty",label:"Difficulty",sortable:!0,badge:!0,width:"120px"},T={key:"intent",label:"Intent",sortable:!0,badge:!0,width:"120px"},_={key:"cluster",label:"Cluster",sortable:!0,width:"200px"},M={key:"created_at",label:"Created",sortable:!0,date:!0,width:"150px"},S={key:"word_count",label:"Word Count",sortable:!0,numeric:!0,width:"120px"},C={key:"sector_name",label:"Sector",sortable:!1,width:"150px"};function g(e){if(!e)return"Today";const s=typeof e=="string"?new Date(e):e;if(isNaN(s.getTime()))return"Today";const t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n=new Date(s.getFullYear(),s.getMonth(),s.getDate()),u=r.getTime()-n.getTime(),l=Math.floor(u/(1e3*60*60*24));if(l===0)return"Today";if(l===1)return"Yesterday";if(l<30)return`${l} days ago`;if(l<365){const o=Math.floor(l/30),i=l%30;return i===0?`${o} month${o>1?"s":""} ago`:`${o} month${o>1?"s":""} ${i} day${i>1?"s":""} ago`}else{const o=Math.floor(l/365),i=Math.floor(l%365/30);return i===0?`${o} year${o>1?"s":""} ago`:`${o} year${o>1?"s":""} ${i} month${i>1?"s":""} ago`}}const L=e=>{const s=!e.activeSector;return{columns:[{...h,key:"name",label:"Cluster Name",sortable:!0,sortField:"name"},...s?[{...C,render:(t,r)=>a.jsx(c,{color:"info",size:"sm",variant:"light",children:r.sector_name||"-"})}]:[],{key:"keywords_count",label:"Keywords",sortable:!0,sortField:"keywords_count",width:"120px",render:t=>t.toLocaleString()},{key:"ideas_count",label:"Ideas",sortable:!0,sortField:"ideas_count",width:"120px",render:t=>t.toLocaleString()},{key:"volume",label:"Volume",sortable:!0,sortField:"volume",width:"120px",render:t=>t.toLocaleString()},{...k,key:"difficulty",label:"Difficulty",sortable:!0,sortField:"difficulty",align:"center",render:t=>{const r=w(t),n=typeof r=="number"&&r===5?"solid":typeof r=="number"&&(r===2||r===3||r===4)?"light":typeof r=="number"&&r===1?"solid":"light",u=typeof r=="number"&&r===1||typeof r=="number"&&r===2?"success":typeof r=="number"&&r===3?"warning":typeof r=="number"&&r===4||typeof r=="number"&&r===5?"error":"light";return typeof r=="number"?a.jsx(c,{color:u,variant:n,size:"sm",children:r}):r}},{key:"content_count",label:"Content",sortable:!0,sortField:"content_count",width:"120px",render:t=>t.toLocaleString()},{...v,sortable:!0,sortField:"status",render:t=>a.jsx(c,{color:t==="active"?"success":"warning",size:"sm",children:t})},{...M,sortable:!0,sortField:"created_at",render:t=>g(t)},{key:"description",label:"Description",sortable:!1,defaultVisible:!1,width:"250px",render:t=>a.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400 truncate block max-w-[250px]",children:t||"-"})},{key:"mapped_pages",label:"Mapped Pages",sortable:!0,sortField:"mapped_pages",defaultVisible:!1,width:"120px",render:t=>t.toLocaleString()},{key:"updated_at",label:"Updated",sortable:!0,sortField:"updated_at",defaultVisible:!1,render:t=>g(t)}],filters:[{key:"search",label:"Search",type:"text",placeholder:"Search clusters..."},{key:"status",label:"Status",type:"select",options:[{value:"",label:"All Status"},{value:"active",label:"Active"},{value:"archived",label:"Archived"}]},{key:"difficulty",label:"Difficulty",type:"select",options:[{value:"",label:"All Difficulty"},{value:"1",label:"1 - Very Easy"},{value:"2",label:"2 - Easy"},{value:"3",label:"3 - Medium"},{value:"4",label:"4 - Hard"},{value:"5",label:"5 - Very Hard"}]},{key:"volume",label:"Volume Range",type:"custom",customRender:()=>a.jsxs("div",{className:"relative flex-1 min-w-[140px]",children:[a.jsxs("button",{ref:e.volumeButtonRef,type:"button",onClick:()=>{e.setIsVolumeDropdownOpen(!e.isVolumeDropdownOpen),e.setTempVolumeMin(e.volumeMin),e.setTempVolumeMax(e.volumeMax)},className:`igny8-select-styled h-9 w-full appearance-none rounded-lg border border-gray-300 bg-transparent px-3 py-2 pr-10 text-sm shadow-theme-xs focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:focus:border-brand-800 ${e.volumeMin||e.volumeMax?"text-gray-800 dark:text-white/90":"text-gray-400 dark:text-gray-400"} ${e.isVolumeDropdownOpen?"border-brand-300 ring-3 ring-brand-500/10 dark:border-brand-800":""}`,children:[a.jsx("span",{className:"block text-left truncate",children:e.volumeMin||e.volumeMax?`Vol: ${e.volumeMin||"Min"} - ${e.volumeMax||"Max"}`:"Volume Range"}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none",children:a.jsx("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]}),e.isVolumeDropdownOpen&&a.jsx("div",{ref:e.volumeDropdownRef,className:"absolute z-50 left-0 right-0 mt-1 rounded-lg border border-gray-200 bg-white shadow-theme-lg dark:border-gray-800 dark:bg-gray-dark overflow-hidden p-4 min-w-[280px]",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx(d,{htmlFor:"vol-min",className:"text-xs mb-1",children:"Min Volume"}),a.jsx(b,{id:"vol-min",type:"number",placeholder:"Min",value:e.tempVolumeMin,onChange:t=>{const r=t.target.value;e.setTempVolumeMin(r===""?"":parseInt(r)||"")},className:"w-full h-9"})]}),a.jsxs("div",{children:[a.jsx(d,{htmlFor:"vol-max",className:"text-xs mb-1",children:"Max Volume"}),a.jsx(b,{id:"vol-max",type:"number",placeholder:"Max",value:e.tempVolumeMax,onChange:t=>{const r=t.target.value;e.setTempVolumeMax(r===""?"":parseInt(r)||"")},className:"w-full h-9"})]}),a.jsxs("div",{className:"flex gap-2 pt-2",children:[a.jsx(x,{size:"sm",variant:"primary",onClick:async()=>{const t=e.tempVolumeMin===""?"":Number(e.tempVolumeMin),r=e.tempVolumeMax===""?"":Number(e.tempVolumeMax);e.setIsVolumeDropdownOpen(!1),e.setVolumeMin(t),e.setVolumeMax(r),e.setCurrentPage(1),setTimeout(()=>{e.loadClusters()},0)},className:"flex-1",children:"OK"}),a.jsx(x,{size:"sm",variant:"secondary",onClick:()=>{e.setIsVolumeDropdownOpen(!1),e.setTempVolumeMin(e.volumeMin),e.setTempVolumeMax(e.volumeMax)},className:"flex-1",children:"Cancel"})]})]})})]})}],formFields:()=>[{key:"name",label:"Cluster Name",type:"text",placeholder:"Enter cluster name",required:!0,value:e.formData.name||"",onChange:t=>e.setFormData({...e.formData,name:t})},{key:"description",label:"Description",type:"textarea",placeholder:"Enter cluster description",value:e.formData.description||"",onChange:t=>e.setFormData({...e.formData,description:t})},{key:"status",label:"Status",type:"select",value:e.formData.status||"active",onChange:t=>e.setFormData({...e.formData,status:t}),options:[{value:"active",label:"Active"},{value:"archived",label:"Archived"}]}],headerMetrics:[{label:"Total Clusters",value:0,accentColor:"blue",calculate:t=>t.totalCount||0},{label:"Active",value:0,accentColor:"green",calculate:t=>t.clusters.filter(r=>r.status==="active").length},{label:"Total Keywords",value:0,accentColor:"amber",calculate:t=>t.clusters.reduce((r,n)=>r+(n.keywords_count||0),0)},{label:"Total Volume",value:0,accentColor:"purple",calculate:t=>t.clusters.reduce((r,n)=>r+(n.volume||0),0)}]}};export{c as B,v as a,_ as b,M as c,k as d,N as e,g as f,w as g,j as h,T as i,L as j,F as k,C as s,h as t,$ as v,S as w};
|