From 35e2f5a0dfb1019b1571ae28783466d543a311d3 Mon Sep 17 00:00:00 2001 From: Bro Date: Sun, 16 Aug 2026 20:54:55 +0700 Subject: [PATCH] Kantongku: fix - saldo 0 = nyawa 0% kritis --- src/screens/DashboardScreen.tsx | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/screens/DashboardScreen.tsx b/src/screens/DashboardScreen.tsx index 9797b27..e907209 100644 --- a/src/screens/DashboardScreen.tsx +++ b/src/screens/DashboardScreen.tsx @@ -192,22 +192,31 @@ export function DashboardScreen() { // Nyawa keuangan (health bar) const hpPct = - avgDailyExpense > 0 + balance <= 0 + ? 0 + : avgDailyExpense > 0 ? Math.min(100, Math.round(((coverageDays ?? 0) / remainingDays) * 100)) : 100; let hpStatus = 'SEHAT'; let hpColor = '#16A34A'; let hpBarColor = '#22C55E'; - let hpMsg = - avgDailyExpense > 0 - ? `Nyawa aman — saldo cukup ${coverageDays} hari (sisa ${remainingDays}) 🛡️` - : 'Belum ada pengeluaran bulan ini — nyawa penuh! 😎'; - if (avgDailyExpense > 0 && hpPct < 40) { + let hpMsg = ''; + if (balance <= 0) { + hpStatus = 'KRITIS'; + hpColor = '#DC2626'; + hpBarColor = '#EF4444'; + hpMsg = 'Saldo kosong! Catat pemasukan sekarang 🚨'; + } else if (avgDailyExpense > 0) { + hpMsg = `Nyawa aman — saldo cukup ${coverageDays} hari (sisa ${remainingDays}) 🛡️`; + } else { + hpMsg = 'Belum ada pengeluaran bulan ini — nyawa penuh! 😎'; + } + if (balance > 0 && avgDailyExpense > 0 && hpPct < 40) { hpStatus = 'KRITIS'; hpColor = '#DC2626'; hpBarColor = '#EF4444'; hpMsg = `Saldo cukup ${coverageDays} dari ${remainingDays} hari — kurangi belanja! 🚨`; - } else if (avgDailyExpense > 0 && hpPct < 75) { + } else if (balance > 0 && avgDailyExpense > 0 && hpPct < 75) { hpStatus = 'WASPADA'; hpColor = '#D97706'; hpBarColor = '#F59E0B';