import{B as e,L as t,z as n}from"./Card-Cxq4Ee-X.js";import{o as r,t as i}from"./now-Ds5hQLtP.js";import{C as a,S as o,T as s,c,d as l,f as u,p as d,r as f,u as p,v as m,w as h,x as g,y as _}from"./tasks-Ud0FoDhi.js";var v=[`deep`,`routine`,`creative`,`admin`,`meeting`,`light`,`physical`,`learning`].map(e=>({value:e}));function y(n,r=t()){return n?e(`tasks.energy.${n}`,void 0,r):null}var b=3,x=10,S=8;function C(e){switch(e){case`high`:return n(`tasks.control.priority.high`);case`medium`:return n(`tasks.control.priority.medium`);case`low`:return n(`tasks.control.priority.low`);default:return n(`tasks.control.priority.none`)}}function w(e,t){return e.status===`done`?`done`:e.status===`canceled`?`canceled`:_(e)===`weekly`?o(e,t)?`done`:a(e,t)?`today`:h(e,t)?`next7`:m(e,t)==null?`no_due`:`future`:e.dueDate?e.dueDate0&&a.push(n(`tasks.control.flags.top`,{order:e.topPriorityOrder})),r===`overdue`&&a.push(n(`tasks.control.flags.overdue`)),e.estimateMin!=null&&e.estimateMin>0&&a.push(n(`tasks.control.flags.minutes`,{count:e.estimateMin})),i&&a.push(i),{taskId:e.id,title:e.title,status:e.status,dueDate:e.dueDate,category:e.category,priority:e.priority,important:e.important,urgent:e.urgent,estimateMin:e.estimateMin??void 0,energy:e.energy??void 0,topPriorityOrder:e.topPriorityOrder,dueState:r,focusState:e.topPriorityOrder!=null&&e.topPriorityOrder>0?`top_priority`:`normal`,controlStatus:T(e),priorityLabel:C(e.priority),flags:a}}function D(e,t){let n=e.filter(e=>a(e,t)),r=e.filter(e=>e.status===`done`&&e.completedAt!=null&&e.completedAt.slice(0,10)===t||_(e)===`weekly`&&e.lastDoneDateISO===t).length,i=n.length,o=r+i;return{total:o,done:r,pending:i,highPriorityCount:n.filter(e=>e.priority===`high`).length,urgentCount:n.filter(e=>e.urgent).length,importantCount:n.filter(e=>e.important).length,estimatedMinutes:n.reduce((e,t)=>e+(t.estimateMin??0),0),completionRatio:o>0?r/o:1}}function O(e,t,n=x){let r=e.filter(e=>s(e,t)).sort((e,t)=>{let n=(e.dueDate??``).localeCompare(t.dueDate??``);return n===0?t.createdAt.localeCompare(e.createdAt):n});return{count:r.length,oldestDueDate:r[0]?.dueDate??void 0,items:r.slice(0,n).map(e=>E(e,t))}}function k(e,t){let n=e.filter(e=>g(e)&&e.topPriorityOrder!=null&&e.topPriorityOrder>0).sort((e,t)=>(e.topPriorityOrder??0)-(t.topPriorityOrder??0)).slice(0,b);return{count:n.length,isFull:n.length>=b,emptySlots:Math.max(0,b-n.length),items:n.map(e=>E(e,t))}}function A(e,t){let n=[];for(let r=1;r<=7;r+=1){let o=i(t,r),s=e.filter(e=>a(e,o)).sort((e,t)=>{let n=j(e.priority)-j(t.priority);return n===0?t.createdAt.localeCompare(e.createdAt):n});n.push({dateISO:o,count:s.length,items:s.map(e=>E(e,t))})}return{count:n.reduce((e,t)=>e+t.count,0),days:n}}function j(e){switch(e){case`high`:return 0;case`medium`:return 1;case`low`:return 2;default:return 3}}function M(e){let t=[];e.dueToday>=15?t.push(n(`tasks.control.loadNotes.overloadedDay`)):e.dueToday>=10&&t.push(n(`tasks.control.loadNotes.manyToday`)),e.estimateTodayMin>=480?t.push(n(`tasks.control.loadNotes.estimateVeryHigh`)):e.estimateTodayMin>=240&&t.push(n(`tasks.control.loadNotes.estimateHigh`)),e.pinnedTopCount>=b&&t.push(n(`tasks.control.loadNotes.topFull`));let r=e.dueToday>=15||e.estimateTodayMin>=480?`overloaded`:e.dueToday>=10||e.estimateTodayMin>=240?`warning`:`ok`;return{...e,status:r,notes:t}}function N(e){let t=[];return e.overdue.count>0&&t.push({id:`tasks:overdue`,severity:e.overdue.count>=3?`danger`:`warning`,title:n(`tasks.actions.overdue`,{count:e.overdue.count}),href:`/tasks`}),e.today.pending>=10&&t.push({id:`tasks:many_today`,severity:`warning`,title:n(`tasks.actions.manyToday`,{count:e.today.pending}),href:`/tasks`}),e.topPriority.count===0&&e.today.pending>0&&t.push({id:`tasks:no_top_priority`,severity:`info`,title:n(`tasks.actions.noTop`),href:`/tasks`}),e.today.urgentCount>0&&t.push({id:`tasks:urgent_today`,severity:`warning`,title:n(`tasks.actions.urgentToday`,{count:e.today.urgentCount}),href:`/tasks`}),e.today.importantCount>0&&t.push({id:`tasks:important_today`,severity:`info`,title:n(`tasks.actions.importantToday`,{count:e.today.importantCount}),href:`/tasks`}),e.workload.status===`overloaded`&&t.push({id:`tasks:overloaded_day`,severity:`warning`,title:n(`tasks.actions.overloadedDay`),description:e.workload.notes.join(`. `)||void 0,href:`/tasks`}),t.sort((e,t)=>P(e.severity)-P(t.severity)).slice(0,S)}function P(e){switch(e){case`danger`:return 0;case`warning`:return 1;default:return 2}}function F(e,t){return{overdueTasks:t.filter(t=>s(t,e)),dueTodayTasks:t.filter(t=>a(t,e)),next7DaysTasks:t.filter(t=>h(t,e))}}async function I(e){let{dateISO:t}=e,n=r(),[i,a,o]=await Promise.all([p(),f(t),d(b)]),s=t===n?{overdueTasks:await c(x),dueTodayTasks:await l(50),next7DaysTasks:await u(100)}:F(t,i),m=i.map(e=>E(e,t)),h=D(i,t),g=O(s.overdueTasks,t,x),_=k(o,t),v=A(s.next7DaysTasks,t),y=M({createdToday:a,dueToday:h.pending,pinnedTopCount:_.count,estimateTodayMin:h.estimatedMinutes});return{dateISO:t,today:h,overdue:g,topPriority:_,next7Days:v,workload:y,tasks:m,actionRequired:N({today:h,overdue:g,topPriority:_,workload:y})}}export{v as n,I as t};