import{L as e,z as t}from"./Card-Cxq4Ee-X.js";import{t as n}from"./now-Ds5hQLtP.js";import{i as r}from"./trainings-DvsDkZ_M.js";var i=6;function a(n,r=e()){switch(n){case`strength`:return t(`trainingsPage.typeStrength`,void 0,r);case`cardio`:return t(`trainingsPage.typeCardio`,void 0,r);case`mobility`:return t(`trainingsPage.typeMobility`,void 0,r);case`mixed`:return t(`trainingsPage.typeMixed`,void 0,r);default:return t(`trainingsPage.typeOther`,void 0,r)}}function o(e){return[...e].sort((e,t)=>e.timeHHMM.localeCompare(t.timeHHMM)||e.title.localeCompare(t.title))}function s(e,t){e[t]=(e[t]??0)+1}function c(e){let t={};for(let n of e)s(t,n.type);return t}function l(e,r,i){let o=a(e.type),s=e.active?r===i?`today`:r<=n(i,6)?`this_week`:`future`:`inactive`,c=[s===`today`?t(`trainingsPage.labelToday`):null,e.recurrence===`weekly`?t(`trainingsPage.recurrenceWeekly`):t(`trainingsPage.recurrenceOnce`),`${e.durationMin} ${t(`trainingsPage.minutesShort`)}`,o,e.notes?.trim()?t(`trainingsPage.labelNotes`):null].filter(e=>!!e);return{trainingId:e.id,title:e.title,type:e.type,typeLabel:o,recurrence:e.recurrence,dateISO:r,daysOfWeek:e.daysOfWeek,timeHHMM:e.timeHHMM,durationMin:e.durationMin,active:e.active,notes:e.notes,dayState:s,timingLabel:`${r} ยท ${e.timeHHMM}`,flags:c}}function u(e){let t=e.filter(e=>e.dayState===`today`).sort(g);return{count:t.length,totalDurationMin:_(t),typeCounts:c(t),items:t}}function d(e,t){let r=[];for(let i=0;i<7;i+=1){let a=n(e,i),o=[...t.get(a)??[]].sort(g);r.push({dateISO:a,count:o.length,totalDurationMin:_(o),items:o})}let i=r.flatMap(e=>e.items);return{startDateISO:e,endDateISO:n(e,6),days:r,totalCount:i.length,totalDurationMin:_(i),typeCounts:c(i)}}function f(e){for(let t=0;t=5&&n.push(t(`trainingsPage.loadNotes.highLoad`)),i>360&&n.push(t(`trainingsPage.loadNotes.highMinutes`)),{weekTrainingCount:r,weekDurationMin:i,status:r===0?`low`:r>=5||i>360?`high`:`ok`,notes:n}}function m(e,n){let r=n.days.filter(e=>e.count===0).length,i=n.days.some((e,t)=>t===0?!1:e.count>0&&n.days[t-1].count>0),a=e.count>1,o=[];return a&&o.push(t(`trainingsPage.recoveryNotes.multipleToday`)),i&&o.push(t(`trainingsPage.recoveryNotes.backToBack`)),r===0&&o.push(t(`trainingsPage.recoveryNotes.noRest`)),{restDaysThisWeek:r,hasBackToBackTrainingDays:i,multipleSessionsToday:a,notes:o}}function h(e){let n=[];return e.today.count>0&&n.push({id:`training:today`,severity:`info`,title:t(`trainingsPage.actions.today`),description:e.next.timeHHMM?t(`trainingsPage.actions.todayDesc`,{min:String(e.today.totalDurationMin),time:e.next.timeHHMM}):t(`trainingsPage.actions.todayDescMinOnly`,{min:String(e.today.totalDurationMin)}),href:`/trainings`}),e.today.count>1&&n.push({id:`training:multiple_today`,severity:`warning`,title:t(`trainingsPage.actions.multipleToday`),href:`/trainings`}),e.load.status===`high`&&n.push({id:`training:high_weekly_load`,severity:`warning`,title:t(`trainingsPage.actions.highLoad`),description:t(`trainingsPage.actions.highLoadDesc`,{count:String(e.week.totalCount),min:String(e.week.totalDurationMin)}),href:`/trainings`}),e.recovery.restDaysThisWeek===0&&e.week.totalCount>0&&n.push({id:`training:no_rest_days`,severity:`warning`,title:t(`trainingsPage.actions.noRest`),href:`/trainings`}),e.week.totalCount===0&&n.push({id:`training:no_week_plan`,severity:`info`,title:t(`trainingsPage.actions.noPlan`),href:`/trainings`}),n.sort((e,t)=>v(e.severity)-v(t.severity)).slice(0,i)}function g(e,t){return e.timeHHMM.localeCompare(t.timeHHMM)||e.title.localeCompare(t.title)}function _(e){return e.reduce((e,t)=>e+t.durationMin,0)}function v(e){switch(e){case`danger`:return 0;case`warning`:return 1;default:return 2}}async function y(e){let t=new Map;for(let i=0;i<7;i+=1){let a=n(e.dateISO,i),s=o(await r(a));t.set(a,s.map(t=>l(t,a,e.dateISO)))}let i=Array.from(t.values()).flat(),a=u(i),s=d(e.dateISO,t),c=f(s),g=p(s),_=m(a,s),v=h({today:a,next:c,week:s,load:g,recovery:_});return{dateISO:e.dateISO,today:a,next:c,week:s,trainings:i,load:g,recovery:_,actionRequired:v}}export{y as t};