1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,84549,e=>{e.v(JSON.parse('[{"id":"ex_001","name":"Panca piana bilanciere","aliases":["panca piana","bench press","panca bilanciere","flat bench","panca piana bilanciere"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_002","name":"Panca inclinata bilanciere","aliases":["panca inclinata","incline bench","panca inclinata bilanciere","incline barbell press"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_003","name":"Panca piana manubri","aliases":["panca manubri","dumbbell bench","panca piana db","panca piana manubri"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_004","name":"Panca inclinata manubri","aliases":["panca inclinata manubri","incline dumbbell press","panca inclinata db"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_005","name":"Chest press macchina","aliases":["chest press","press macchina","macchina petto","machine chest press"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_006","name":"Croci manubri panca","aliases":["croci","fly","dumbbell fly","croci panca"],"primary":"Petto","secondary":"Spalle"},{"id":"ex_007","name":"Croci ai cavi","aliases":["croci cavi","cable fly","pec deck cavi","croci ai cavi"],"primary":"Petto","secondary":"Spalle"},{"id":"ex_008","name":"Pec deck","aliases":["pec deck","macchina croci","machine fly"],"primary":"Petto","secondary":"Spalle"},{"id":"ex_009","name":"Lat machine presa larga","aliases":["lat machine","lat largo","wide lat pulldown","lat presa larga"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_010","name":"Lat machine presa stretta","aliases":["lat stretta","close lat pulldown","lat triangolo","lat presa stretta"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_011","name":"Trazioni alla sbarra","aliases":["trazioni","pull up","pull-up","chin up","trazioni sbarra"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_012","name":"Rematore bilanciere","aliases":["rematore","barbell row","bent over row","rematore bilanciere"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_013","name":"Rematore manubrio","aliases":["rematore manubrio","dumbbell row","row manubrio"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_014","name":"Rematore al cavo seduto","aliases":["seated row","rematore cavo","low row","rematore cavo seduto"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_015","name":"Pulley basso","aliases":["pulley","rematore pulley","low pulley row","pulley basso"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_016","name":"Pulldown braccia tese","aliases":["straight arm pulldown","pullover cavi","lat braccia tese","pulldown braccia tese"],"primary":"Dorso","secondary":"Tricipiti"}
1,{"id":"ex_017","name":"Pullover manubrio","aliases":["pullover","dumbbell pullover","pullover manubrio"],"primary":"Dorso","secondary":"Petto"},{"id":"ex_018","name":"Military press bilanciere","aliases":["military press","lento avanti bilanciere","overhead press","lento avanti"],"primary":"Spalle","secondary":"Tricipiti"},{"id":"ex_019","name":"Shoulder press manubri","aliases":["shoulder press","lento avanti manubri","db overhead press"],"primary":"Spalle","secondary":"Tricipiti"},{"id":"ex_020","name":"Shoulder press macchina","aliases":["press spalle","macchina spalle","machine shoulder press"],"primary":"Spalle","secondary":"Tricipiti"},{"id":"ex_021","name":"Alzate laterali manubri","aliases":["alzate laterali","lateral raise","alzate laterali manubri"],"primary":"Spalle"},{"id":"ex_022","name":"Alzate laterali cavi","aliases":["lateral raise cavi","alzate laterali ai cavi","alzate laterali cavo"],"primary":"Spalle"},{"id":"ex_023","name":"Alzate frontali","aliases":["alzate frontali","front raise"],"primary":"Spalle"},{"id":"ex_024","name":"Face pull","aliases":["face pull","facepull","face pull cavi"],"primary":"Spalle","secondary":"Dorso"},{"id":"ex_025","name":"Reverse fly (posteriori)","aliases":["alzate a 90","reverse fly","deltoidi posteriori","rear delt fly"],"primary":"Spalle","secondary":"Dorso"},{"id":"ex_026","name":"Scrollate manubri","aliases":["shrug","scrollate","scrollate manubri"],"primary":"Spalle"},{"id":"ex_027","name":"Curl bilanciere","aliases":["curl bilanciere","barbell curl","curl"],"primary":"Bicipiti"},{"id":"ex_028","name":"Curl manubri alternati","aliases":["curl alternato","dumbbell curl","curl manubri"],"primary":"Bicipiti"},{"id":"ex_029","name":"Curl martello","aliases":["hammer curl","curl martello"],"primary":"Bicipiti"},{"id":"ex_030","name":"Curl panca Scott","aliases":["preacher curl","scott curl","curl scott","panca scott"],"primary":"Bicipiti"},{"id":"ex_031","name":"Curl ai cavi","aliases":["cable curl","curl cavo","curl ai cavi"],"primary":"Bicipiti"},{"id":"ex_032","name":"Curl concentrato","aliases":["concentration curl","curl concentrato"],"primary":"Bicipiti"},{"id":"ex_033","name":"Pushdown ai cavi","aliases":["pushdown","tricipiti cavo","cable pushdown","push down"],"primary":"Tricipiti"},{"id":"ex_034","name":"French press manubrio","aliases":["french press","estensioni sopra testa manubrio","overhead triceps dumbbell"],"primary":"Tricipiti"},{"id":"ex_035","name":"French press bilanciere EZ","aliases":["skull crusher","french ez","estensioni sdraiato","ez skullcrusher"],"primary":"Tricipiti"},{"id":"ex_036","name":"Estensioni sopra testa cavo","aliases":["overhead triceps cable","tricipiti sopra testa cavo","estensioni sopra testa cavo"],"primary":"Tricipiti"},{"id":"ex_037","name":"Dips","aliases":["dips","dips parallele","dips tricipiti"],"primary":"Tricipiti","secondary":"Petto"},{"id":"ex_038","name":"Panca presa stretta","aliases":["close grip bench","panca stretta","panca presa stretta"],"primary":"Tricipiti","secondary":"Petto"},{"id":"ex_039","name":"Squat bilanciere","aliases":["squat","back squat","squat bilanciere"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_040","name":"Front squat","aliases":["front squat","squat frontale"],"primary":"Quadricipiti","secondary":"Core"},{"id":"ex_041","name":"Leg press","aliases":["pressa","leg press","pressa 45","leg press 45"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_042","name":"Hack squat","aliases":["hack squat","squat hack"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_043","name":"Affondi in camminata","aliases":["affondi camminati","walking lunge","affondi in camminata"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_044","name":"Affondi statici","aliases":["affondi","lunge","affondo statico"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_045","name":"Bulgarian split squat","aliases":["bulgarian squat","affondi bulgari","bulgarian split squat"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_046","name":"Leg extension","aliases":["leg ext","leg extension","estensioni quadricipiti"],"primary":"Quadricipiti"},{"id":"ex_047","name":"Step-up","aliases":["step up","step-up","salita panca","stepup"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_048","name":"Stacco rumeno","aliases":["romanian deadlift","rdl","stacco rumeno","stacco rumeno bilanciere"],"primary":"Femorali","secondary":"Glutei"},{"id":"ex_049","name":"Stacco da terra","aliases":["deadlift","stacco","stacco classico","stacco da terra"],"primary":"Femorali","secondary":"Dorso"},{"id":"ex_050","name":"Hip thrust","aliases":["hip thrust","thrust","hip thrust bilanciere"],"primary":"Glutei","secondary":"Femorali"},{"id":"ex_051","name":"Glute bridge","aliases":["ponte glutei","glute bridge"],"primary":"Glutei","secondary":"Femorali"},{"id":"ex_052","name":"Leg curl sdraiato","aliases":["leg curl","curl femorali","lying leg curl","leg curl sdraiato"],"primary":"Femorali"},{"id":"ex_053","name":"Leg curl seduto","aliases":["seated leg curl","leg curl seduto"],"primary":"Femorali"},{"id":"ex_054","name":"Good morning","aliases":["good morning","good morning bilanciere"],"primary":"Femorali","secondary":"Core"},{"id":"ex_055","name":"Abduzioni macchina","aliases":["abductor machine","abduzioni","macchina abduttori"],"primary":"Glutei"},{"id":"ex_056","name":"Calci glutei cavo","aliases":["kickback","glute kickback","calci glutei cavo"],"primary":"Glutei"},{"id":"ex_057","name":"Calf raise in piedi","aliases":["calf raise","polpacci in piedi","standing calf raise"],"primary":"Polpacci"},{"id":"ex_058","name":"Calf raise seduto","aliases":["seated calf raise","polpacci seduto"],"primary":"Polpacci"},{"id":"ex_059","name":"Calf raise leg press","aliases":["calf press","polpacci pressa","calf raise leg press"],"primary":"Polpacci"},{"id":"ex_060","name":"Plank","aliases":["plank","plank frontale"],"primary":"Core"},{"id":"ex_061","name":"Side plank","aliases":["plank laterale","side plank"],"primary":"Core"},{"id":"ex_062","name":"Crunch","aliases":["crunch","crunch a terra"],"primary":"Core"},{"id":"ex_063","name":"Crunch cavi","aliases":["cable crunch","crunch ai cavi","crunch cavo"],"primary":"Core"},{"id":"ex_064","name":"Hanging leg raise","aliases":["leg raise","sollevamento gambe","hanging knee raise","hanging leg raise"],"primary":"Core"},{"id":"ex_065","name":"Dead bug","aliases":["dead bug","deadbug"],"primary":"Core"},{"id":"ex_066","name":"Pallof press","aliases":["pallof press","antirotazione cavo"],"primary":"Core"},{"id":"ex_067","name":"Russian twist","aliases":["russian twist","twist","russian"],"primary":"Core"},{"id":"ex_068","name":"Back extension","aliases":["iperestensioni","hyperextension","lombari","back extension"],"primary":"Core","secondary":"Glutei"},{"id":"ex_069","name":"Kettlebell swing","aliases":["swing kb","kettlebell swing","kb swing"],"primary":"Glutei","secondary":"Femorali"},{"id":"ex_070","name":"Goblet squat","aliases":["goblet squat","squat kettlebell"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_071","name":"Push-up","aliases":["piegamenti","push up","pushup"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_072","name":"TRX row","aliases":["trx rematore","trx row","inverted row trx"],"primary":"Dorso","secondary":"Bicipiti"},{"id":"ex_073","name":"TRX push-up","aliases":["trx pushup","trx piegamenti","trx push-up"],"primary":"Petto","secondary":"Tricipiti"},{"id":"ex_074","name":"Farmer walk","aliases":["camminata del contadino","farmer carry","farmer walk"],"primary":"Core","secondary":"Spalle"},{"id":"ex_075","name":"Battle rope","aliases":["corde","battle ropes","battle rope"],"primary":"Spalle","secondary":"Core"},{"id":"ex_076","name":"Box jump","aliases":["salto box","box jump"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_077","name":"Sled push","aliases":["spinta slitta","sled push"],"primary":"Quadricipiti","secondary":"Glutei"},{"id":"ex_078","name":"Rowing ergometro","aliases":["vogatore","rower","rowing","rowing ergometro"],"primary":"Dorso","secondary":"Core"},{"id":"ex_079","name":"Burpee","aliases":["burpee","burpees"],"primary":"Quadricipiti","secondary":"Core"},{"id":"ex_080","name":"Mountain climber","aliases":["mountain climber","mountain climbers","climber"],"primary":"Core","secondary":"Spalle"}]'))},4421,48077,e=>{"use strict";let i=(e=21)=>{let i="",a=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)i+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&a[e]];return i};e.s(["nanoid",()=>i],48077);var a=e.i(84549);let r="coachpwa:v1";function t(){return new Date().toISOString()}function s(){return{settings:{coachStyle:"calmo",voiceGender:"femminile",weightIncrementKg:2.5},exerciseMaster:a.default,programs:[],versions:[],sessions:[],cycleReports:[]}}function n(){let e=localStorage.getItem(r);if(!e)return s();try{let i=JSON.parse(e);return i.exerciseMaster?.length||(i.exerciseMaster=a.default),i}catch{return s()}}function o(e){localStorage.setItem(r,JSON.stringify(e))}function l(){let e=s();return o(e),e}function c(){return n()}function d(){return localStorage.getItem(r)??JSON.stringify(s())}function p(e){let i=JSON.parse(e);if(!i.settings||!Array.isArray(i.programs))throw Error("Invalid data format");return i.exerciseMaster?.length||(i.exerciseMaster=a.default),o(i),i}function m(e){let i=n();return i.programs=i.programs.filter(i=>i.id!==e),i.versions=i.versions.filter(i=>i.programId!==e),i.sessions=i.sessions.filter(i=>i.programId!==e),i.cycleReports=i.cycleReports.filter(i=>i.programId!==e),o(i),i}function u(e,i){let a=n(),r=a.sessions.find(i=>i.id===e);if(!r)throw Error("Session not found");let t=r.exerciseStates.find(e=>e.templateExerciseId===i);if(!t||0===t.sets.length)return null;let s=t.sets.pop();return o(a),s}function g(e){let i=n();return i.settings={...i.settings,...e},o(i),i.settings}function f(){return n().programs.sort((e,i)=>i.createdAt.localeCompare(e.createdAt))}function y(e){return n().programs.find(i=>i.id===e)??null}function x(e){return n().versions.filter(i=>i.programId===e).sort((e,i)=>i.version-e.version)}function h(e){return n().versions.find(i=>i.id===e)??null}function b(e){let a=n(),r=i(),s=i(),l={id:r,name:e.name,createdAt:t(),meta:e.meta,activeVersionId:s}
1,c={...e.version,id:s,programId:r,version:1,createdAt:t()};return a.programs.push(l),a.versions.push(c),o(a),{program:l,version:c}}function v(e,a){let r=n(),s=r.programs.find(i=>i.id===e);if(!s)throw Error("Program not found");let l=(r.versions.filter(i=>i.programId===e).reduce((e,i)=>Math.max(e,i.version),0)||0)+1,c={...a,id:i(),programId:e,version:l,createdAt:t()};return r.versions.push(c),s.activeVersionId=c.id,o(r),c}function S(e,i){let a=n(),r=a.versions.find(i=>i.id===e);if(!r)throw Error("Version not found");return r.days=i,o(a),r}function _(e,i){let a=n(),r=a.programs.find(i=>i.id===e);if(!r)throw Error("Program not found");return r.activeVersionId=i,o(a),r}function w(e){let i=n();return(e?i.sessions.filter(i=>i.programId===e):i.sessions).sort((e,i)=>i.startedAt.localeCompare(e.startedAt))}function I(){return n().exerciseMaster}function P(e){return n().exerciseMaster.find(i=>i.id===e)??null}function C(e){let i=n(),a=[];for(let r of i.sessions.filter(e=>e.finishedAt).sort((e,i)=>e.startedAt.localeCompare(i.startedAt))){let t=i.versions.find(e=>e.id===r.versionId);if(!t)continue;let s=t.days.find(e=>e.id===r.dayId);if(!s)continue;let n=s.exercises.find(i=>i.masterExerciseId===e);if(!n)continue;let o=r.exerciseStates.find(e=>e.templateExerciseId===n.id);if(!o||0===o.sets.length)continue;let l=Math.max(...o.sets.map(e=>e.weight)),c=new Date(r.startedAt);a.push({date:r.startedAt,weight:l,label:c.toLocaleDateString("it-IT",{day:"2-digit",month:"short"})})}return a}function k(e){let{currentWeight:i,repMin:a,repMax:r,reps:t,feedback:s,incrementKg:n}=e;return t<a?Math.max(0,E(i-n,n)):t>=r?"leggero"===s?E(i+n,n):E(i,n):"leggero"===s?E(i+n,n):"giusto"===s?E(i,n):E(i-n,n)}function E(e,i){return i<=0?e:Math.round(e/i)*i}function j(e){let a=n(),r=a.versions.find(i=>i.id===e.versionId);if(!r)throw Error("Version not found");let s=r.days.find(i=>i.id===e.dayId);if(!s)throw Error("Day not found");let l={id:i(),programId:e.programId,versionId:e.versionId,dayId:e.dayId,startedAt:t(),checkin:e.checkin,creditTransactionId:e.creditTransactionId,exerciseStates:s.exercises.map(i=>({templateExerciseId:i.id,currentWeight:function(e,i){let a=n();for(let r of a.sessions.filter(e=>e.dayId===i&&e.finishedAt).sort((e,i)=>i.startedAt.localeCompare(e.startedAt))){let i=a.versions.find(e=>e.id===r.versionId);if(!i)continue;let t=i.days.find(e=>e.id===r.dayId);if(!t)continue;let s=t.exercises.find(i=>i.masterExerciseId===e);if(!s)continue;let n=r.exerciseStates.find(e=>e.templateExerciseId===s.id);if(n&&0!==n.sets.length)return n.sets[n.sets.length-1].weight}return null}(i.masterExerciseId,e.dayId)??0,sets:[]}))};return a.sessions.push(l),o(a),l}function A(e,i,a){let r=n(),t=r.sessions.find(i=>i.id===e);if(!t)throw Error("Session not found");let s=t.exerciseStates.find(e=>e.templateExerciseId===i);if(!s)throw Error("Exercise state not found");return s.currentWeight=Math.max(0,a),o(r),s.currentWeight}function z(e){let i=n(),a=i.sessions.find(i=>i.id===e.sessionId);if(!a)throw Error("Session not found");let r=a.exerciseStates.find(i=>i.templateExerciseId===e.templateExerciseId);if(!r)throw Error("Exercise state not found");return r.sets.push({setNumber:e.setNumber,reps:e.reps,weight:e.weight,feedback:e.feedback,createdAt:t(),...e.isWarmup?{isWarmup:!0}:{}}),o(i),r.sets}function B(e,i,a){let r=n(),t=r.sessions.find(i=>i.id===e);if(!t)throw Error("Session not found");let s=t.exerciseStates.find(e=>e.templateExerciseId===i);if(!s)throw Error("Exercise state not found");s.notes=a||void 0,o(r)}function T(e){let i=n(),a=i.sessions.find(i=>i.id===e);if(!a)throw Error("Session not found");return a.finishedAt=t(),o(i),a}e.s(["addProgramVersion",()=>v,"addSetToSession",()=>z,"createProgram",()=>b,"deleteProgram",()=>m,"exportAllData",()=>d,"finishSession",()=>T,"getDB",()=>c,"getExerciseById",()=>P,"getExerciseMaster",()=>I,"getExerciseProgression",()=>C,"getProgram",()=>y,"getVersion",()=>h,"importAllData",()=>p,"listPrograms",()=>f,"listSessions",()=>w,"listVersions",()=>x,"removeLastSet",()=>u,"resetAllData",()=>l,"setActiveVersion",()=>_,"startSession",()=>j,"suggestNextWeight",()=>k,"updateExerciseNotes",()=>B,"updateSessionExerciseWeight",()=>A,"updateSettings",()=>g,"updateVersion",()=>S],4421)},28289,e=>{"use strict";var i=e.i(43476),a=e.i(71645),r=e.i(4421),t=e.i(48077);let s={padding:"28px 20px",minHeight:"100vh"},n={fontSize:10,fontWeight:700,color:"#b5f23d",textTransform:"uppercase",letterSpacing:"0.15em",marginBottom:8},o={fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:44,lineHeight:"0.92",color:"#fff",margin:"0 0 6px"},l={fontSize:13,color:"#555",marginBottom:28},c={background:"#111",border:"1px solid #222",borderRadius:16,padding:20,marginBottom:12},d={fontSize:14,fontWeight:700,color:"#fff",marginBottom:4},p={fontSize:11,fontWeight:600,color:"#666",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:6,display:"block"},m={width:"100%",background:"#1a1a1a",border:"1px solid #2a2a2a",borderRadius:12,padding:"11px 14px",fontSize:14,color:"#fff",outline:"none",boxSizing:"border-box"},u={display:"inline-flex",alignItems:"center",gap:6,background:"#b5f23d",color:"#0a0a0a",fontSize:13,fontWeight:700,padding:"10px 20px",borderRadius:100,border:"none",cursor:"pointer",textDecoration:"none"},g={display:"inline-flex",alignItems:"center",gap:6,background:"#1a1a1a",color:"#aaa",fontSize:13,fontWeight:600,padding:"10px 18px",borderRadius:100,border:"1px solid #2a2a2a",cursor:"pointer",textDecoration:"none"},f={display:"inline-flex",alignItems:"center",gap:6,background:"rgba(255,80,80,0.1)",color:"#ff6b6b",fontSize:13,fontWeight:600,padding:"10px 18px",borderRadius:100,border:"1px solid rgba(255,80,80,0.2)",cursor:"pointer"},y={display:"flex",gap:8,flexWrap:"wrap",marginTop:12},x={background:"#111",border:"1px solid #222",borderRadius:16,padding:18,marginBottom:10},h={fontSize:12,color:"#555",marginTop:4,marginBottom:14},b={fontSize:17,fontWeight:700,color:"#fff"},v={borderTop:"1px solid #1a1a1a",margin:"20px 0"};function S(){let[e,S]=(0,a.useState)(()=>(0,r.listPrograms)()),[_,w]=(0,a.useState)("Massa Feb 2026"),[I,P]=(0,a.useState)(18);(0,a.useEffect)(()=>S((0,r.listPrograms)()),[]);let C=(0,a.useMemo)(()=>
1({goal:"Massa",avgRepRange:"6-8",focus:"Volume",plannedSessions:I}),[I]);return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)("div",{style:s,children:[(0,i.jsx)("div",{style:n,children:"Programmi"}),(0,i.jsxs)("h1",{style:o,children:["LE TUE",(0,i.jsx)("br",{}),(0,i.jsx)("span",{style:{color:"#b5f23d"},children:"SCHEDE"})]}),(0,i.jsx)("p",{style:l,children:"Crea, importa e versiona i tuoi programmi di allenamento."}),(0,i.jsxs)("div",{style:c,children:[(0,i.jsx)("div",{style:d,children:"âï¸ Crea programma rapido"}),(0,i.jsx)("p",{style:{fontSize:12,color:"#555",marginBottom:16},children:"Genera un programma sample (Giorno A: Panca + Rematore) da personalizzare con import."}),(0,i.jsxs)("div",{style:{marginBottom:12},children:[(0,i.jsx)("label",{style:p,children:"Nome programma"}),(0,i.jsx)("input",{style:m,value:_,onChange:e=>w(e.target.value)})]}),(0,i.jsxs)("div",{style:{marginBottom:12},children:[(0,i.jsx)("label",{style:p,children:"Sessioni previste"}),(0,i.jsx)("input",{style:m,type:"number",min:1,value:I,onChange:e=>P(Number(e.target.value||18))})]}),(0,i.jsx)("div",{style:y,children:(0,i.jsx)("a",{href:"/programs/ai",style:{...u,textDecoration:"none",justifyContent:"center"},children:"ð¤ Genera con AI"})}),(0,i.jsxs)("div",{style:y,children:[(0,i.jsx)("button",{style:g,onClick:function(){(0,r.createProgram)({name:_,meta:C,version:{id:(0,t.nanoid)(),programId:"TEMP",version:1,createdAt:new Date().toISOString(),notes:"Sample v1",days:[{id:(0,t.nanoid)(),name:"GIORNO A",order:1,exercises:[{id:(0,t.nanoid)(),masterExerciseId:"ex_001",displayName:"Panca piana bilanciere",sets:4,repMin:6,repMax:8,tempo:"3-0-1",restSeconds:90},{id:(0,t.nanoid)(),masterExerciseId:"ex_012",displayName:"Rematore bilanciere",sets:4,repMin:6,repMax:8,tempo:"2-1-1",restSeconds:90}]}]}}),S((0,r.listPrograms)())},children:"Crea manuale"}),(0,i.jsx)("a",{href:"/programs/import",style:g,children:"ð¥ Importa da testo"})]})]}),0===e.length?(0,i.jsxs)("div",{style:{textAlign:"center",padding:"40px 20px",color:"#444",fontSize:14},children:[(0,i.jsx)("div",{style:{fontSize:36,marginBottom:12},children:"ð"}),"Nessun programma ancora. Creane uno!"]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:12},children:[e.length," ",1===e.length?"programma":"programmi"]}),e.map(e=>(0,i.jsxs)("div",{style:x,children:[(0,i.jsx)("div",{style:b,children:e.name}),(0,i.jsxs)("div",{style:h,children:[e.meta.goal," · ",e.meta.focus," · Range ",e.meta.avgRepRange," · ",e.meta.plannedSessions," sessioni"]}),(0,i.jsxs)("div",{style:y,children:[(0,i.jsx)("a",{href:`/programs/${e.id}`,style:g,children:"Apri"}),(0,i.jsx)("a",{href:`/workout?programId=${e.id}`,style:u,children:"ðª Avvia"}),(0,i.jsx)("button",{style:f,onClick:()=>{window.confirm(`Eliminare "${e.name}" e tutte le sue sessioni?`)&&((0,r.deleteProgram)(e.id),S((0,r.listPrograms)()))},children:"Elimina"})]})]},e.id))]}),(0,i.jsx)("div",{style:{...v}}),(0,i.jsxs)("div",{style:{...c,background:"rgba(255,80,80,0.04)",border:"1px solid rgba(255,80,80,0.1)"},children:[(0,i.jsx)("div",{style:{...d,color:"#ff6b6b"},children:"â ï¸ Reset dati"}),(0,i.jsx)("p",{style:{fontSize:12,color:"#555",marginBottom:12},children:"Cancella tutti i programmi e le sessioni dal dispositivo."}),(0,i.jsx)("button",{style:f,onClick:()=>{(0,r.resetAllData)(),S((0,r.listPrograms)())},children:"Reset completo"})]})]})})}e.s(["default",()=>S])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.