import{t as e}from"./db-D2Po16Ap.js";function t(){return crypto.randomUUID?.()??`training_${Date.now()}_${Math.random().toString(36).slice(2)}`}function n(){return new Date().toISOString()}function r(){return new Date().toTimeString().slice(0,5)}function i(e){return Array.isArray(e)?Array.from(new Set(e.filter(e=>Number.isInteger(e)&&e>=0&&e<=6))).sort((e,t)=>e-t):[]}function a(e,t){let n=e.recurrence===`once`?e.dateISO??``:``,r=t.recurrence===`once`?t.dateISO??``:``;return n.localeCompare(r)||e.timeHHMM.localeCompare(t.timeHHMM)||e.title.localeCompare(t.title)}async function o(){return(await e.trainingScheduleItems.toArray()).sort(a)}async function s(t){return e.trainingScheduleItems.get(t)}async function c(r){let a=r.id?await s(r.id):void 0,o=n(),c={id:a?.id??r.id??t(),title:r.title.trim(),type:r.type,recurrence:r.recurrence,dateISO:r.recurrence===`once`?r.dateISO:void 0,daysOfWeek:r.recurrence===`weekly`?i(r.daysOfWeek):void 0,timeHHMM:r.timeHHMM,durationMin:Math.max(1,Math.round(r.durationMin)),active:r.active??a?.active??!0,reminderEnabled:r.reminderEnabled??a?.reminderEnabled??!0,notes:r.notes?.trim()||void 0,createdAtISO:a?.createdAtISO??o,updatedAtISO:o};return await e.trainingScheduleItems.put(c),c}async function l(t){await e.trainingScheduleItems.delete(t)}async function u(i){let a=n(),o={id:t(),dateISO:i.dateISO??a.slice(0,10),timeHHMM:i.timeHHMM??r(),title:i.title.trim()||`Тренировка`,...i.trainingId?{trainingId:i.trainingId}:{},...i.type?{type:i.type}:{},status:i.status??`completed`,...i.note?.trim()?{note:i.note.trim()}:{},source:i.source??`manual`,createdAtISO:a,updatedAtISO:a};return await e.trainingCompletionLogs.add(o),o}async function d(t){return(await e.trainingCompletionLogs.where(`dateISO`).equals(t).toArray()).sort((e,t)=>e.timeHHMM.localeCompare(t.timeHHMM)||e.title.localeCompare(t.title))}async function f(e){let t=new Date(`${e}T00:00:00`).getDay();return(await o()).filter(n=>n.active?n.recurrence===`once`?n.dateISO===e:(n.daysOfWeek??[]).includes(t):!1)}export{u as a,f as i,d as n,c as o,o as r,l as t};