PageSourceSearch

https://coach-voice.vercel.app/_next/static/chunks/419e4c1680363d84.js?dpl=dpl_GEMUDTuFLBUPBCYDC6qgSRV57Z8o

js coach-voice.vercel.app collected 2026-10-03 05:17:38 UTC 44,184 bytes, 1 lines download raw bytes

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 d(){return n()}function c(){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 u(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 m(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 x(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 g(e){return n().programs.find(i=>i.id===e)??null}function h(e){return n().versions.filter(i=>i.programId===e).sort((e,i)=>i.version-e.version)}function b(e){return n().versions.find(i=>i.id===e)??null}function y(e){let a=n(),r=i(),s=i(),l={id:r,name:e.name,createdAt:t(),meta:e.meta,activeVersionId:s}
1,d={...e.version,id:s,programId:r,version:1,createdAt:t()};return a.programs.push(l),a.versions.push(d),o(a),{program:l,version:d}}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,d={...a,id:i(),programId:e,version:l,createdAt:t()};return r.versions.push(d),s.activeVersionId=d.id,o(r),d}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 j(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 k(e){let i=n();return(e?i.sessions.filter(i=>i.programId===e):i.sessions).sort((e,i)=>i.startedAt.localeCompare(e.startedAt))}function w(){return n().exerciseMaster}function C(e){return n().exerciseMaster.find(i=>i.id===e)??null}function z(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)),d=new Date(r.startedAt);a.push({date:r.startedAt,weight:l,label:d.toLocaleDateString("it-IT",{day:"2-digit",month:"short"})})}return a}function I(e){let{currentWeight:i,repMin:a,repMax:r,reps:t,feedback:s,incrementKg:n}=e;return t<a?Math.max(0,_(i-n,n)):t>=r?"leggero"===s?_(i+n,n):_(i,n):"leggero"===s?_(i+n,n):"giusto"===s?_(i,n):_(i-n,n)}function _(e,i){return i<=0?e:Math.round(e/i)*i}function R(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 W(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 B(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 E(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 A(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",()=>B,"createProgram",()=>y,"deleteProgram",()=>u,"exportAllData",()=>c,"finishSession",()=>A,"getDB",()=>d,"getExerciseById",()=>C,"getExerciseMaster",()=>w,"getExerciseProgression",()=>z,"getProgram",()=>g,"getVersion",()=>b,"importAllData",()=>p,"listPrograms",()=>f,"listSessions",()=>k,"listVersions",()=>h,"removeLastSet",()=>m,"resetAllData",()=>l,"setActiveVersion",()=>j,"startSession",()=>R,"suggestNextWeight",()=>I,"updateExerciseNotes",()=>E,"updateSessionExerciseWeight",()=>W,"updateSettings",()=>x,"updateVersion",()=>S],4421)},48568,e=>{"use strict";var i=e.i(43476),a=e.i(71645);function r({toolSlug:e,toolName:r,balance:t=0,cost:s,onDismiss:n,variant:o="modal"}){let[l,d]=(0,a.useState)(!1);if(l)return null;
1let c=`https://utilitylab-hub.vercel.app/pricing?from=${e}`,p=()=>{d(!0),n?.()};return"banner"===o?(0,i.jsxs)("div",{className:"w-full px-4 py-3 bg-amber-50 border border-amber-200 rounded-xl flex items-center justify-between gap-4",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,i.jsx)("span",{className:"text-amber-500 text-lg flex-shrink-0",children:"⚡"}),(0,i.jsxs)("span",{className:"text-sm text-amber-700",children:[t<=0?"Crediti esauriti":`Solo ${t} crediti rimasti`,s&&t<s&&` (servono ${s} crediti)`]})]}),(0,i.jsx)("a",{href:c,className:"flex-shrink-0 px-4 py-1.5 bg-amber-500 text-white text-xs font-bold rounded-lg hover:bg-amber-600 transition-colors no-underline",children:"Ricarica"})]}):"inline"===o?(0,i.jsxs)("div",{className:"p-6 rounded-2xl border border-zinc-200 bg-zinc-50 text-center",children:[(0,i.jsx)("div",{className:"text-4xl mb-3",children:"🔒"}),(0,i.jsx)("h3",{className:"text-lg font-semibold text-zinc-900",children:"Crediti esauriti"}),(0,i.jsx)("p",{className:"text-sm text-zinc-500 mt-2 max-w-sm mx-auto",children:r?`Per continuare a usare ${r}, acquista crediti o scegli un piano.`:"Acquista crediti o scegli un piano per continuare."}),(0,i.jsxs)("div",{className:"flex justify-center gap-3 mt-5",children:[(0,i.jsx)("a",{href:c,className:"px-6 py-2.5 bg-black text-white text-sm font-semibold rounded-xl hover:bg-black/80 transition-all no-underline",children:"Vedi piani e prezzi"}),n&&(0,i.jsx)("button",{onClick:p,className:"px-4 py-2.5 text-sm text-zinc-400 hover:text-zinc-600 transition-colors",children:"Chiudi"})]}),(0,i.jsx)("div",{className:"mt-4 text-xs text-zinc-400",children:"Pacchetti da €1.99"})]}):(0,i.jsxs)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4",children:[(0,i.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:n?p:void 0}),(0,i.jsxs)("div",{className:"relative w-full max-w-md rounded-2xl bg-white border border-zinc-200 p-8 text-center shadow-2xl",children:[n&&(0,i.jsx)("button",{onClick:p,className:"absolute top-4 right-4 text-zinc-300 hover:text-zinc-500 transition-colors",children:(0,i.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:(0,i.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})}),(0,i.jsx)("div",{className:"text-5xl mb-4",children:"⚡"}),(0,i.jsx)("h2",{className:"text-xl font-bold text-zinc-900",children:"Crediti esauriti"}),t<=0?(0,i.jsxs)("p",{className:"text-sm text-zinc-500 mt-3",children:["Hai finito i crediti."," ",r?`Per continuare a usare ${r}, ricarica o scegli un piano.`:"Ricarica o scegli un piano per continuare."]}):(0,i.jsxs)("p",{className:"text-sm text-zinc-500 mt-3",children:["Hai solo ",(0,i.jsx)("span",{className:"text-zinc-900 font-medium",children:t})," ","crediti",s?`, ma questa azione ne richiede ${s}`:"","."]}),(0,i.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,i.jsx)("a",{href:c,className:"block w-full py-3 bg-black text-white text-sm font-semibold rounded-xl hover:bg-black/80 transition-all no-underline",children:"Vedi piani e prezzi"}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsx)("a",{href:`${c}&tab=packs`,className:"flex-1 py-2.5 border border-zinc-200 text-sm text-zinc-500 rounded-xl hover:bg-zinc-50 transition-all no-underline text-center",children:"Compra pacchetto"}),n&&(0,i.jsx)("button",{onClick:p,className:"flex-1 py-2.5 text-sm text-zinc-400 hover:text-zinc-600 transition-colors",children:"Torna indietro"})]})]}),(0,i.jsx)("div",{className:"mt-5 text-xs text-zinc-300",children:"Pacchetti da €1.99"})]})]})}e.s(["CreditPaywall",()=>r])},84084,e=>{"use strict";let i=null;function a(e,r="calmo",t="femminile"){let s=function(e){switch(e){case"energico":return"Ok! ";case"tecnico":return"Nota tecnica: ";default:return""}}(r)+e;i&&(i.pause(),i.src="",i=null);try{var n,o,l;let e,a;n=s,o=r,l=t,e=function(e,i){if(e.length<=180)return[e];let a=[],r=e;for(;r.length>0;){if(r.length<=180){a.push(r);break}let e=-1;for(let i=180;i>=90;i--)if("."===r[i]||","===r[i]){e=i+1;break}if(-1===e){for(let i=180;i>=90;i--)if(" "===r[i]){e=i+1;break}}-1===e&&(e=180),a.push(r.slice(0,e).trim()),r=r.slice(e).trim()}return a}(n,180),a=0,function r(){if(a>=e.length){i=null;return}let t=e[a++],s=new Audio(`https://translate.google.com/translate_tts?ie=UTF-8&tl=it&client=tw-ob&q=${encodeURIComponent(t)}`);i=s,"maschile"===l?s.playbackRate=.88:"energico"===o&&(s.playbackRate=1.08),s.onended=r,s.onerror=()=>{i=null},s.play().catch(()=>{i=null})}()}catch{}}e.s(["speak",()=>a])},44425,e=>{"use strict";var i=e.i(43476),a=e.i(71645),r=e.i(18566),t=e.i(48568),s=e.i(4421),n=e.i(84084),o=e.i(20755),l=e.i(18107);async function d(e){try{let i=(0,o.supabaseBrowser)(),{data:{user:a}}=await i.auth.getUser();if(!a)return;await i.from("cv_workout_sessions").upsert({id:e.id,user_id:a.id,program_id:e.programId,version_id:e.versionId,day_id:e.dayId,session_data:e,is_active:!e.finishedAt,started_at:e.startedAt,finished_at:e.finishedAt??null,updated_at:new Date().toISOString()},{onConflict:"id"})}catch(e){console.error("Session sync failed:",e)}}function c({seconds:e,onDone:r}){let[t,s]=(0,a.useState)(e),n=(0,a.useRef)(r);n.current=r,(0,a.useEffect)(()=>
1{if(t<=0)return void n.current();let e=setTimeout(()=>s(e=>e-1),1e3);return()=>clearTimeout(e)},[t]);let o=(e-t)/e*100,l=Math.floor(t/60),d=t%60,c=l>0?`${l}:${d.toString().padStart(2,"0")}`:`${d}s`,p=t<=5;return(0,i.jsxs)("div",{style:{background:"#111",border:"1px solid #222",borderRadius:16,padding:"16px 18px",marginBottom:12},children:[(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:10},children:[(0,i.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:"0.1em"},children:"Recupero"}),(0,i.jsx)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:32,lineHeight:1,color:p?"#ef4444":"#b5f23d",transition:"color 0.3s"},children:c})]}),(0,i.jsx)("div",{style:{height:4,background:"#1a1a1a",borderRadius:4},children:(0,i.jsx)("div",{style:{height:"100%",background:p?"#ef4444":"#b5f23d",borderRadius:4,width:`${o}%`,transition:"width 1s linear, background 0.3s"}})}),(0,i.jsx)("button",{onClick:()=>n.current(),style:{marginTop:10,width:"100%",background:"#1a1a1a",color:"#666",border:"1px solid #2a2a2a",borderRadius:10,padding:"10px",fontSize:12,fontWeight:600,cursor:"pointer"},children:"Salta recupero"})]})}let p="coach-voice",u="coachpwa:active-session";function m(){localStorage.removeItem(u)}let x={leggero:"Leggero 😌",giusto:"Giusto ✅",troppo_pesante:"Pesante 🔥"},f={leggero:"#3b82f6",giusto:"#b5f23d",troppo_pesante:"#ef4444"},g={padding:"20px 20px",minHeight:"100vh"},h={fontSize:10,fontWeight:700,color:"#b5f23d",textTransform:"uppercase",letterSpacing:"0.15em",marginBottom:8},b={fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:44,lineHeight:"0.92",color:"#fff",margin:"0 0 6px"},y={background:"#111",border:"1px solid #222",borderRadius:16,padding:18,marginBottom:12},v={fontSize:14,fontWeight:700,color:"#fff",marginBottom:4},S={fontSize:12,color:"#555",marginBottom:14},j={fontSize:11,fontWeight:600,color:"#666",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:6,display:"block"},k={width:"100%",background:"#1a1a1a",border:"1px solid #2a2a2a",borderRadius:12,padding:"11px 14px",fontSize:14,color:"#fff",outline:"none",boxSizing:"border-box"},w={width:"100%",background:"#1a1a1a",border:"1px solid #2a2a2a",borderRadius:12,padding:"11px 14px",fontSize:14,color:"#fff",outline:"none",appearance:"none",boxSizing:"border-box"},C={display:"inline-flex",alignItems:"center",gap:6,background:"#b5f23d",color:"#0a0a0a",fontSize:13,fontWeight:700,padding:"11px 22px",borderRadius:100,border:"none",cursor:"pointer",flex:1,justifyContent:"center",textAlign:"center"},z={display:"inline-flex",alignItems:"center",gap:6,background:"#1a1a1a",color:"#aaa",fontSize:13,fontWeight:600,padding:"11px 18px",borderRadius:100,border:"1px solid #2a2a2a",cursor:"pointer",textDecoration:"none"},I={display:"flex",gap:8,flexWrap:"wrap",marginTop:12};function _(){return(0,i.jsx)(a.Suspense,{fallback:(0,i.jsx)("div",{style:{padding:40,color:"#555",textAlign:"center"},children:"Caricamento..."}),children:(0,i.jsx)(R,{})})}function R(){let e=(0,r.useSearchParams)().get("programId"),[c,x]=(0,a.useState)(e??""),[f,_]=(0,a.useState)(null),[R,W]=(0,a.useState)(null),[E,A]=(0,a.useState)(""),[T,P]=(0,a.useState)("pick"),[N,F]=(0,a.useState)(7),[M,D]=(0,a.useState)("ok"),[$,G]=(0,a.useState)("media"),[O,q]=(0,a.useState)(!1),[V,L]=(0,a.useState)(!1),[H,Q]=(0,a.useState)(0),[U,J]=(0,a.useState)(!1),K=(0,a.useMemo)(()=>(0,s.getDB)(),[]),X=(0,a.useMemo)(()=>(0,s.listPrograms)(),[]),Z=K.settings.coachStyle,Y=K.settings.voiceGender??"femminile",ee=e=>(0,n.speak)(e,Z,Y),[ei,ea]=(0,a.useState)(0),[er,et]=(0,a.useState)(!1),[es,en]=(0,a.useState)(null),[eo,el]=(0,a.useState)(null),[ed,ec]=(0,a.useState)(!1),[ep,eu]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=function(){try{let e=localStorage.getItem(u);if(!e)return null;return JSON.parse(e)}catch{return null}}();if(!e)return;let i=(0,s.getDB)().sessions.find(i=>i.id===e.sessionId);!i||i.finishedAt||Date.now()-new Date(i.startedAt).getTime()>108e5?m():(x(e.programId),A(e.dayId),_(i),ea(e.exerciseIdx),P("active"),ee("Sessione ripresa. Continua dove eri rimasto."))},[]),(0,a.useEffect)(()=>{!c&&X[0]&&x(X[0].id)},[c,X]),(0,a.useEffect)(()=>
1{if(!c)return;let e=(0,s.getProgram)(c);if(!e)return;let i=(0,s.getVersion)(e.activeVersionId);W(i),!E&&i?.days[0]&&A(i.days[0].id)},[c,E]),(0,a.useEffect)(()=>{var e;f&&"active"===T&&(e={sessionId:f.id,programId:f.programId,dayId:f.dayId,exerciseIdx:ei,savedAt:new Date().toISOString()},localStorage.setItem(u,JSON.stringify(e)))},[f,T,ei]),(0,a.useEffect)(()=>{f&&d(f)},[f]);let em=(0,a.useMemo)(()=>R?.days.find(e=>e.id===E)??null,[R,E]),ex=(0,a.useMemo)(()=>em?.exercises[ei]??null,[em,ei]);async function ef(){if(c&&R&&E){q(!0);try{let e,i=(0,o.supabaseBrowser)(),{data:a}=await i.auth.getSession();if(a.session){let i=await l.ULCredits.deduct(a.session.access_token,p,"session",{programId:c,versionId:R.id,dayId:E});if(!i.ok){Q(i.balance??0),L(!0),q(!1);return}e=i.transaction_id}let r=(0,s.startSession)({programId:c,versionId:R.id,dayId:E,checkin:{energia:N,sonno:M,voglia:$},creditTransactionId:e});_(r),ea(0),P("active");let t=em?.exercises[0];t&&ee(`Ok. ${t.displayName}. ${t.sets} serie da ${t.repMin} a ${t.repMax}. Recupero ${t.restSeconds} secondi.`)}catch(e){console.error(e)}finally{q(!1)}}}return 0===X.length?(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)("div",{style:{...g,textAlign:"center",paddingTop:60},children:[(0,i.jsx)("div",{style:{fontSize:48,marginBottom:16},children:"📋"}),(0,i.jsx)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:36,color:"#fff",marginBottom:8},children:"NESSUN PROGRAMMA"}),(0,i.jsx)("p",{style:{color:"#555",fontSize:14,marginBottom:24},children:"Crea prima un programma di allenamento."}),(0,i.jsx)("a",{href:"/programs",style:C,children:"Vai ai Programmi"})]})}):U?(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)("div",{style:{...g,textAlign:"center",paddingTop:60},children:[(0,i.jsx)("div",{style:{fontSize:60,marginBottom:16},children:"🏆"}),(0,i.jsxs)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:52,color:"#b5f23d",lineHeight:.9,marginBottom:12},children:["OTTIMO",(0,i.jsx)("br",{}),"LAVORO!"]}),(0,i.jsx)("p",{style:{color:"#666",fontSize:14,marginBottom:28},children:"Sessione completata. Il tuo storico è aggiornato."}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,maxWidth:280,margin:"0 auto"},children:[(0,i.jsx)("button",{style:C,onClick:()=>{P("pick"),_(null),J(!1),m()},children:"💪 Altra sessione"}),(0,i.jsx)("a",{href:"/programs",style:{...z,justifyContent:"center"},children:"Vai ai programmi"})]})]})}):(0,i.jsxs)(i.Fragment,{children:[V&&(0,i.jsx)(t.CreditPaywall,{toolSlug:p,toolName:"Coach Voice",balance:H,cost:1,onDismiss:()=>L(!1),variant:"modal"}),(0,i.jsxs)("div",{style:g,children:[(0,i.jsx)("div",{style:h,children:"Workout"}),(0,i.jsx)("h1",{style:b,children:"pick"===T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{style:{color:"#b5f23d"},children:"SCEGLI"}),(0,i.jsx)("br",{}),"PROGRAMMA"]}):"checkin"===T?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{style:{color:"#b5f23d"},children:"CHECK"}),(0,i.jsx)("br",{}),"IN"]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{style:{color:"#b5f23d"},children:"AL"}),(0,i.jsx)("br",{}),"LAVORO"]})}),"pick"===T&&(0,i.jsxs)("div",{style:y,children:[(0,i.jsx)("div",{style:v,children:"📋 Programma"}),(0,i.jsx)("div",{style:S,children:"Seleziona il programma e avvia il workout."}),(0,i.jsx)("label",{style:j,children:"Programma"}),(0,i.jsx)("select",{style:w,value:c,onChange:e=>x(e.target.value),children:X.map(e=>(0,i.jsx)("option",{value:e.id,children:e.name},e.id))}),(0,i.jsxs)("div",{style:I,children:[(0,i.jsx)("button",{style:C,onClick:()=>P("checkin"),children:"Continua →"}),(0,i.jsx)("button",{style:z,onClick:()=>ee("Ok. Pronto quando vuoi."),children:"🔊 Test"})]})]}),"checkin"===T&&(0,i.jsx)("div",{children:(0,i.jsxs)("div",{style:y,children:[(0,i.jsx)("div",{style:v,children:"⚡ Check-in pre-workout"}),(0,i.jsxs)("div",{style:S,children:["Come stai oggi? Salvo nello storico sessione. ",(0,i.jsx)("strong",{style:{color:"#b5f23d"},children:"1 credito"})," sarà scalato."]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:8,marginBottom:14},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:j,children:"Energia"}),(0,i.jsx)("input",{style:k,type:"number",min:1,max:10,value:N,onChange:e=>F(Number(e.target.value||7))})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:j,children:"Sonno"}),(0,i.jsxs)("select",{style:w,value:M,onChange:e=>D(e.target.value),children:[(0,i.jsx)("option",{value:"scarso",children:"😴 scarso"}),(0,i.jsx)("option",{value:"ok",children:"😊 ok"}),(0,i.jsx)("option",{value:"top",children:"🚀 top"})]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{style:j,children:"Voglia"}),(0,i.jsxs)("select",{style:w,value:$,onChange:e=>G(e.target.value),children:[(0,i.jsx)("option",{value:"bassa",children:"😑 bassa"}),(0,i.jsx)("option",{value:"media",children:"💪 media"}),(0,i.jsx)("option",{value:"alta",children:"🔥 alta"})]})]})]}),(0,i.jsxs)("div",{style:{marginBottom:14},children:[(0,i.jsx)("label",{style:j,children:"Giorno"}),(0,i.jsx)("select",{style:w,value:E,onChange:e=>A(e.target.value),children:R?.days.map(e=>(0,i.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,i.jsxs)("div",{style:I,children:[(0,i.jsx)("button",{style:C,onClick:ef,disabled:O,children:O?"Controllo crediti...":"⚡ Avvia sessione"}),(0,i.jsx)("button",{style:z,onClick:()=>P("pick"),children:"← Indietro"})]})]})}),"active"===T&&f&&em&&ex&&(0,i.jsx)(B,{session:f,dayName:em.name,totalExercises:em.exercises.length,exerciseIdx:ei,ex:ex,coachStyle:Z,onConfirmWeight:()=>{!function(e){if(!f||!ex)return;(0,s.updateSessionExerciseWeight)(f.id,ex.id,e);let i=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;i&&_(i);let a=ex.tempo?`Tempo ${ex.tempo}. `:"";ee(`Perfetto. ${a}Inizia la serie. Poi premi Fine serie.`)}(f.exerciseStates.find(e=>e.templateExerciseId===ex.id)?.currentWeight??0)},onOpenEndSet:function(){en(null),el(null),ec(!1),et(!0)},showEndSet:er,selectedReps:es,setSelectedReps:en,selectedFeedback:eo,setSelectedFeedback:el,onCommitEndSet:function(){if(!f||!ex||null==es||null==eo)return;let e=f.exerciseStates.find(e=>e.templateExerciseId===ex.id)?.currentWeight??0,i=f.exerciseStates.find(e=>e.templateExerciseId===ex.id)?.sets??[],a=i.length+1;(0,s.addSetToSession)({sessionId:f.id,templateExerciseId:ex.id,setNumber:a,reps:es,weight:e,feedback:eo,isWarmup:ed});let r=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;if(r&&_(r),ed){ee("Riscaldamento registrato."),et(!1),eu(ex.restSeconds);return}let t=(0,s.getDB)().settings.weightIncrementKg,n=(0,s.suggestNextWeight)({currentWeight:e,repMin:ex.repMin,repMax:ex.repMax,reps:es,feedback:eo,incrementKg:t});if(ee(n===e?"Manteniamo lo stesso carico.":n>e?`Aumentiamo a ${n} kg.`:`Scendiamo a ${n} kg.`),et(!1),i.filter(e=>!e.isWarmup).length+1<ex.sets){(0,s.updateSessionExerciseWeight)(f.id,ex.id,n);let e=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;e&&_(e),eu(ex.restSeconds);return}if(em&&ei<em.exercises.length-1){let e=ei+1;ea(e);let i=em.exercises[e];ee(`Prossimo: ${i.displayName}. ${i.sets} serie da ${i.repMin} a ${i.repMax}.`),eu(ex.restSeconds);return}_((0,s.finishSession)(f.id)),m(),ee("Allenamento finito. Ottimo lavoro."),J(!0)},onWeightChange:e=>{(0,s.updateSessionExerciseWeight)(f.id,ex.id,e);let i=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;i&&_(i)},onSpeak:e=>ee(e),onUndoLastSet:function(){if(!f||!ex||!(0,s.removeLastSet)(f.id,ex.id))return;let e=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;e&&_(e),ee("Serie annullata."),eu(null)},isWarmup:ed,setIsWarmup:ec,onNotesChange:e=>{(0,s.updateExerciseNotes)(f.id,ex.id,e);let i=(0,s.getDB)().sessions.find(e=>e.id===f.id)??null;i&&_(i)},onFinishWorkout:()=>{window.confirm("Terminare il workout?")&&(_((0,s.finishSession)(f.id)),m(),ee("Allenamento finito. Ottimo lavoro."),J(!0))},restTimerSeconds:ep,onRestDone:()=>{eu(null),ee("Recupero finito. Vai con la prossima serie.")}})]})]})}function W(e){let i=[];for(let a=e.repMin-1;a<=e.repMax+2;a++)a>=1&&i.push(a);return i}function B(e){let{session:r,dayName:t,ex:n,totalExercises:o,exerciseIdx:l}=e,d=r.exerciseStates.find(e=>e.templateExerciseId===n.id),p=d?.currentWeight??0,u=d?.sets??[],m=u.filter(e=>e.isWarmup),g=u.filter(e=>!e.isWarmup),h=g.length,b=(0,s.getExerciseById)(n.masterExerciseId),y=(l/o*100).toFixed(0),[v,S]=(0,a.useState)(d?.notes??""),[j,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(String(p));return(0,a.useEffect)(()=>{C(String(p))}
1,[p]),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{style:{height:3,background:"#1a1a1a",borderRadius:3,marginBottom:20},children:(0,i.jsx)("div",{style:{height:"100%",background:"#b5f23d",borderRadius:3,width:`${y}%`,transition:"width 0.3s ease"}})}),(0,i.jsxs)("div",{style:{background:"#111",border:"1px solid #222",borderRadius:16,padding:"18px 18px 0",marginBottom:2},children:[(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:14},children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{style:{fontSize:11,color:"#555",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:4},children:[t," · ",l+1,"/",o]}),(0,i.jsx)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:28,color:"#fff",lineHeight:1},children:n.displayName}),(0,i.jsxs)("div",{style:{fontSize:12,color:"#555",marginTop:4},children:[n.sets,"×",n.repMin,"-",n.repMax," · rec ",n.restSeconds,"s ",n.tempo?`\xb7 ${n.tempo}`:""]})]}),(0,i.jsxs)("div",{style:{textAlign:"right"},children:[(0,i.jsxs)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:36,color:h>=n.sets?"#b5f23d":"#fff",lineHeight:1},children:[h,"/",n.sets]}),(0,i.jsx)("div",{style:{fontSize:10,color:"#555"},children:"serie"}),b&&(0,i.jsx)("div",{style:{marginTop:6,fontSize:10,color:"#444",background:"#161616",borderRadius:6,padding:"2px 6px",display:"inline-block"},children:b.primary})]})]}),(0,i.jsxs)("div",{style:{borderTop:"1px solid #1a1a1a",padding:"14px 0"},children:[(0,i.jsx)("label",{style:{fontSize:11,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:8,display:"block"},children:"Carico (kg)"}),(0,i.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,i.jsx)("input",{type:"number",step:"0.5",inputMode:"decimal",style:{flex:1,background:"#1a1a1a",border:"1px solid #2a2a2a",borderRadius:12,padding:"12px 14px",fontSize:20,fontWeight:700,color:"#fff",outline:"none",fontFamily:"var(--font-bebas-neue), sans-serif"},value:w,onChange:e=>C(e.target.value),onBlur:()=>{let i=Number(w)||0;C(String(i)),e.onWeightChange(i)},onFocus:e=>e.target.select()}),(0,i.jsx)("button",{onClick:e.onConfirmWeight,style:{background:"#1a1a1a",color:"#aaa",border:"1px solid #2a2a2a",borderRadius:12,padding:"12px 16px",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"🔊 Ok"})]})]})]}),(0,i.jsxs)("button",{onClick:()=>k(!j),style:{display:"flex",alignItems:"center",gap:6,width:"100%",background:"transparent",border:"none",padding:"8px 0",color:v?"#b5f23d":"#444",fontSize:11,fontWeight:600,cursor:"pointer",marginBottom:4},children:["📝 ",j?"Chiudi note":v?"Modifica note":"Aggiungi note"]}),j&&(0,i.jsx)("textarea",{value:v,onChange:i=>{S(i.target.value),e.onNotesChange(i.target.value)},placeholder:"Note libere per questo esercizio...",style:{width:"100%",background:"#1a1a1a",border:"1px solid #2a2a2a",borderRadius:10,padding:"10px 12px",fontSize:12,color:"#ccc",outline:"none",resize:"vertical",minHeight:50,boxSizing:"border-box",marginBottom:8,fontFamily:"inherit"}}),(0,i.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12},children:[(0,i.jsx)("button",{onClick:e.onOpenEndSet,style:{flex:2,background:"#b5f23d",color:"#0a0a0a",border:"none",borderRadius:14,padding:"16px",fontSize:15,fontWeight:700,cursor:"pointer"},children:"✅ Fine serie"}),(0,i.jsx)("button",{onClick:()=>e.onSpeak(`Ricorda: ${n.repMin} a ${n.repMax} ripetizioni.`),style:{flex:1,background:"#1a1a1a",color:"#666",border:"1px solid #222",borderRadius:14,padding:"16px",fontSize:13,fontWeight:600,cursor:"pointer"},children:"🔊 Ripeti"}),u.length>0&&(0,i.jsx)("button",{onClick:e.onUndoLastSet,style:{background:"rgba(255,80,80,0.08)",color:"#ff6b6b",border:"1px solid rgba(255,80,80,0.15)",borderRadius:14,padding:"16px",fontSize:12,fontWeight:600,cursor:"pointer"},children:"↩ Annulla"})]}),null!=e.restTimerSeconds&&(0,i.jsx)(c,{seconds:e.restTimerSeconds,onDone:e.onRestDone}),u.length>0&&(0,i.jsxs)("div",{style:{background:"#0d0d0d",border:"1px solid #1a1a1a",borderRadius:14,padding:14},children:[(0,i.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:"#444",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:10},children:["Serie registrate",m.length>0&&(0,i.jsxs)("span",{style:{color:"#666",fontWeight:500},children:[" · ",m.length," risc. + ",g.length," work"]})]}),u.map(e=>(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 0",borderBottom:"1px solid #1a1a1a",opacity:e.isWarmup?.5:1},children:[(0,i.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#555"}
1,children:e.isWarmup?"W":`S${e.setNumber}`}),(0,i.jsxs)("div",{style:{fontSize:13,color:"#888"},children:[(0,i.jsxs)("strong",{style:{color:"#fff"},children:[e.weight," kg"]})," × ",e.reps," rep"]}),(0,i.jsx)("div",{style:{fontSize:11,fontWeight:700,color:e.isWarmup?"#666":f[e.feedback],background:e.isWarmup?"#1a1a1a":`${f[e.feedback]}18`,padding:"3px 8px",borderRadius:6},children:e.isWarmup?"Risc.":"leggero"===e.feedback?"Leggero":"giusto"===e.feedback?"Giusto":"Pesante"})]},e.createdAt))]}),(0,i.jsx)("button",{onClick:e.onFinishWorkout,style:{width:"100%",marginTop:16,background:"transparent",color:"#555",border:"1px solid #222",borderRadius:12,padding:"12px",fontSize:12,fontWeight:600,cursor:"pointer"},children:"Termina workout"}),e.showEndSet&&(0,i.jsx)("div",{style:{position:"fixed",inset:0,zIndex:50,display:"flex",alignItems:"flex-end",justifyContent:"center",background:"rgba(0,0,0,0.7)",backdropFilter:"blur(4px)",padding:"0 0 90px"},children:(0,i.jsxs)("div",{style:{width:"100%",maxWidth:448,background:"#111",border:"1px solid #222",borderRadius:"20px 20px 0 0",padding:"20px 20px 28px"},children:[(0,i.jsx)("div",{style:{width:36,height:4,background:"#333",borderRadius:4,margin:"0 auto 20px"}}),(0,i.jsx)("div",{style:{fontFamily:"var(--font-bebas-neue), sans-serif",fontSize:28,color:"#fff",marginBottom:4},children:"FINE SERIE"}),(0,i.jsx)("div",{style:{fontSize:12,color:"#555",marginBottom:20},children:"Seleziona ripetizioni e feedback carico."}),(0,i.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:8},children:"Ripetizioni"}),(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${Math.min(W(n).length,6)}, 1fr)`,gap:6,marginBottom:18},children:W(n).map(a=>(0,i.jsx)("button",{onClick:()=>e.setSelectedReps(a),style:{padding:"12px 4px",borderRadius:10,border:"none",background:e.selectedReps===a?"#b5f23d":"#1a1a1a",color:e.selectedReps===a?"#0a0a0a":"#666",fontWeight:800,fontSize:16,cursor:"pointer",transition:"all 0.1s"},children:a},a))}),(0,i.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:8},children:"Com'era il carico?"}),(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:6,marginBottom:20},children:["leggero","giusto","troppo_pesante"].map(a=>(0,i.jsx)("button",{onClick:()=>e.setSelectedFeedback(a),style:{padding:"12px 6px",borderRadius:10,border:"none",background:e.selectedFeedback===a?f[a]:"#1a1a1a",color:e.selectedFeedback===a?"#0a0a0a":"#555",fontWeight:700,fontSize:12,cursor:"pointer",transition:"all 0.1s"},children:x[a]},a))}),(0,i.jsxs)("button",{onClick:()=>e.setIsWarmup(!e.isWarmup),style:{display:"flex",alignItems:"center",gap:8,width:"100%",background:e.isWarmup?"rgba(255,165,0,0.1)":"#1a1a1a",border:e.isWarmup?"1px solid rgba(255,165,0,0.3)":"1px solid #2a2a2a",borderRadius:10,padding:"10px 14px",marginBottom:12,color:e.isWarmup?"#ffa500":"#555",fontSize:12,fontWeight:600,cursor:"pointer"},children:[(0,i.jsx)("span",{style:{width:18,height:18,borderRadius:4,background:e.isWarmup?"#ffa500":"#2a2a2a",display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,color:"#0a0a0a",fontWeight:800},children:e.isWarmup?"✓":""}),"Serie di riscaldamento"]}),(0,i.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,i.jsx)("button",{onClick:e.onCommitEndSet,disabled:null==e.selectedReps||null==e.selectedFeedback,style:{flex:2,background:"#b5f23d",color:"#0a0a0a",border:"none",borderRadius:14,padding:"15px",fontSize:14,fontWeight:700,cursor:"pointer",opacity:null==e.selectedReps||null==e.selectedFeedback?.4:1},children:"Salva serie"}),(0,i.jsx)("button",{style:{flex:1,background:"#1a1a1a",color:"#666",border:"1px solid #2a2a2a",borderRadius:14,padding:"15px",fontSize:13,fontWeight:600,cursor:"pointer"},onClick:()=>{e.setSelectedReps(null),e.setSelectedFeedback(null)},children:"Annulla"})]})]})})]})}e.s(["default",()=>_],44425)}]);

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.