From 1b4ca9ba2e0ff4ca58365a804c01092f2a4160e7 Mon Sep 17 00:00:00 2001 From: Marty Bostick Date: Wed, 29 Jul 2026 16:08:46 +0000 Subject: [PATCH] =?UTF-8?q?Uncap=20ROI=20display=20=E2=80=94=20shows=20ove?= =?UTF-8?q?r=20100%,=20labels=20switch=20to=20pure=20profit=20past=20break?= =?UTF-8?q?even?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 6b65f19..3540031 100644 --- a/index.html +++ b/index.html @@ -1346,7 +1346,7 @@
- +
@@ -2152,15 +2152,17 @@ function updateROI() { l7x3: { cycles: 999, profitPer: 2520.00, nextLabel: null, needsCapital: 0 }, }; - // ROI stats - const roiPct = deposits > 0 ? Math.min((earned / deposits) * 100, 100) : 0; + // ROI stats — no cap, show over 100% when earned > deposited + const roiPct = deposits > 0 ? (earned / deposits) * 100 : 0; const recouped = Math.min(earned, deposits); const remaining = Math.max(deposits - earned, 0); document.getElementById('roiStatROI').querySelector('.roi-stat-value').textContent = roiPct.toFixed(1) + '%'; document.getElementById('roiStatRecouped').querySelector('.roi-stat-value').textContent = '$' + recouped.toFixed(2); - document.getElementById('roiStatRemaining').querySelector('.roi-stat-value').textContent = '$' + remaining.toFixed(2); - document.getElementById('roiBarROI').style.width = roiPct + '%'; + document.getElementById('roiStatRemaining').querySelector('.roi-stat-value').textContent = remaining > 0 ? '$' + remaining.toFixed(2) : '+$' + Math.abs(remaining).toFixed(2); + document.getElementById('roiBarROI').style.width = Math.min(roiPct, 100) + '%'; + // Update label to reflect profit mode + document.getElementById('roiStatRemaining').querySelector('.roi-stat-label').textContent = remaining > 0 ? 'To Breakeven' : 'Pure Profit'; // Phase progress const pd = PHASE_DATA[phase]; @@ -2219,6 +2221,10 @@ function updateROI() { { icon: '🔘', label: '75% ROI Recouped', sub: '$337.50', earned: earned >= 337.50 }, { icon: '💰', label: '100% ROI — Breakeven', sub: `$${deposits.toFixed(2)}`, earned: earned >= deposits }, ]; + // Add over-100% profit milestone if they're past breakeven + if (roiPct > 100) { + allMilestones.push({ icon: '📈', label: `Profit: ${(roiPct - 100).toFixed(1)}% Beyond Breakeven`, sub: `+$${(earned - deposits).toFixed(2)} pure profit`, earned: true }); + } if (phase === 'l7x3') { allMilestones.push({ icon: '🏆', label: '3× L7 Endgame Reached', sub: '$2,520/cycle passive', earned: true });