diff --git a/index.html b/index.html
index 5d170bf..f1a6df5 100644
--- a/index.html
+++ b/index.html
@@ -2125,6 +2125,7 @@ function updateROI() {
document.getElementById('roiBarPhase').style.width = '0%';
document.querySelectorAll('.roi-ladder-step').forEach(el => el.classList.remove('active', 'passed'));
document.getElementById('roiMilestones').innerHTML = '
Enter your numbers above to see your progress 🚀
';
+ saveROIData(deposits, earned, phase, cyclesDone);
return;
}
@@ -2220,6 +2221,30 @@ function updateROI() {
`).join('');
+
+ // Save to localStorage
+ saveROIData(deposits, earned, phase, cyclesDone);
+}
+
+// ─── localStorage persistence ──────────────────────────
+function getROIStorageKey() {
+ const ref = getRefFromURL() || 'cryptoteambuild';
+ return 'cbp_roi_' + ref;
+}
+
+function saveROIData(deposits, earned, phase, cyclesDone) {
+ const key = getROIStorageKey();
+ const data = { deposits, earned, phase, cyclesDone };
+ try { localStorage.setItem(key, JSON.stringify(data)); } catch(e) {}
+}
+
+function loadROIData() {
+ const key = getROIStorageKey();
+ try {
+ const raw = localStorage.getItem(key);
+ if (raw) return JSON.parse(raw);
+ } catch(e) {}
+ return null;
}
// Wire up ROI inputs
@@ -2229,6 +2254,15 @@ function updateROI() {
el.addEventListener('change', updateROI);
});
+// Load saved data on page load
+const saved = loadROIData();
+if (saved) {
+ document.getElementById('roiDeposits').value = saved.deposits || '';
+ document.getElementById('roiTotalEarned').value = saved.earned || '';
+ if (saved.phase) document.getElementById('roiPhase').value = saved.phase;
+ document.getElementById('roiCyclesDone').value = saved.cyclesDone !== undefined ? saved.cyclesDone : '';
+}
+
// Initial render on page load (delayed to ensure DOM is ready)
setTimeout(updateROI, 150);