fix: bank indexing off-by-one — subtract 1 when sending bank to API

Client stores bank as b.number+1 (1-based) but the API expects
0-based bank numbers. Caused preset activation to load the wrong
empty preset (bank 1 instead of bank 0), so blocks never appeared.
This commit is contained in:
2026-06-14 13:19:51 -04:00
parent f0771ff7a5
commit 2402e649a2
+3 -3
View File
@@ -649,7 +649,7 @@ export default function App(){
const p=presets.find(pr=>pr.num===num); const p=presets.find(pr=>pr.num===num);
if(!p)return; if(!p)return;
setCurrentPreset(num); setCurrentPreset(num);
await handleLoadPreset(p.bank||1,num-1); await handleLoadPreset((p.bank||1)-1,num-1);
},[presets,handleLoadPreset]); },[presets,handleLoadPreset]);
// ── Blocks ── // ── Blocks ──
@@ -702,14 +702,14 @@ export default function App(){
const next=Math.min(currentBank+1,8); const next=Math.min(currentBank+1,8);
setCurrentBank(next); setCurrentBank(next);
const bp=presets.filter(p=>p.bank===next); const bp=presets.filter(p=>p.bank===next);
if(bp.length>0)handleLoadPreset(bp[0].bank,bp[0].num-1); if(bp.length>0)handleLoadPreset(bp[0].bank-1,bp[0].num-1);
},[currentBank,presets,handleLoadPreset]); },[currentBank,presets,handleLoadPreset]);
const handleBankDown=useCallback(()=>{ const handleBankDown=useCallback(()=>{
const next=Math.max(currentBank-1,1); const next=Math.max(currentBank-1,1);
setCurrentBank(next); setCurrentBank(next);
const bp=presets.filter(p=>p.bank===next); const bp=presets.filter(p=>p.bank===next);
if(bp.length>0)handleLoadPreset(bp[0].bank,bp[0].num-1); if(bp.length>0)handleLoadPreset(bp[0].bank-1,bp[0].num-1);
},[currentBank,presets,handleLoadPreset]); },[currentBank,presets,handleLoadPreset]);
const handleGlobalBypass=useCallback(()=>{ const handleGlobalBypass=useCallback(()=>{