Add localStorage persistence for ROI dashboard — keyed by referral username, auto-saves and auto-restores
This commit is contained in:
+34
@@ -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 = '<div style="color:var(--text-muted);font-size:0.85rem;padding:10px 0;">Enter your numbers above to see your progress 🚀</div>';
|
||||
saveROIData(deposits, earned, phase, cyclesDone);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2220,6 +2221,30 @@ function updateROI() {
|
||||
</div>
|
||||
</div>
|
||||
`).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);
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user