From 5b71752014f6d41dbe0e7971b0c7324b8db6d3d4 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Sun, 27 Sep 2026 20:51:35 +0700 Subject: [PATCH] refactor: rename balance feature to kas & hutang and update calculation logic --- src/app/(app)/balances/page.tsx | 34 ++++++++++++++++----------------- src/app/actions.ts | 25 +++++++++++++----------- src/components/Sidebar.tsx | 2 +- 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/app/(app)/balances/page.tsx b/src/app/(app)/balances/page.tsx index 5a02675..e3aeeb0 100644 --- a/src/app/(app)/balances/page.tsx +++ b/src/app/(app)/balances/page.tsx @@ -166,13 +166,13 @@ export default function BalancesPage() { return (
- Keuangan / Saldo + Keuangan / Kas

- Buku Saldo + Kas & Hutang

- Pantau riwayat saldo lebih atau kurang dari transaksi pesanan. + Pantau riwayat uang deposit (lebih bayar) dan hutang (kurang bayar).

@@ -186,7 +186,7 @@ export default function BalancesPage() { : 'text-slate-500 hover:text-slate-700 dark:hover:text-slate-300' )} > - Saldo Saya (Penitip) + Kas Anda
@@ -210,10 +210,10 @@ export default function BalancesPage() {

- Saldo Anda di Kreator Lain + Deposit & Hutang Anda

- Jika saldo positif (hijau), Anda memiliki deposit yang bisa digunakan + Jika kas positif (hijau), Anda memiliki deposit yang bisa digunakan untuk pesanan berikutnya. Jika negatif (merah), Anda berhutang.

@@ -223,9 +223,9 @@ export default function BalancesPage() {
-

Belum ada catatan saldo

+

Belum ada catatan kas

- Saldo muncul saat ada sisa atau kekurangan bayar dari PO. + Kas muncul saat ada deposit atau hutang dari PO.

) : ( @@ -295,7 +295,7 @@ export default function BalancesPage() { {/* Amount */}

- Total Saldo + {isPositive ? 'Total Deposit' : 'Total Hutang'}

- Saldo Orang Lain di Anda + Kas & Hutang Penitip di Anda

- Saldo positif = Anda memegang uang lebih milik penitip. Klik{' '} - Kembalikan untuk mencatatnya. Saldo negatif = - penitip masih berhutang ke Anda. + Kas positif = Anda memegang uang deposit milik penitip. Klik{' '} + Kembalikan untuk mencatatnya. Kas negatif = penitip + masih berhutang ke Anda.

@@ -368,9 +368,9 @@ export default function BalancesPage() {
-

Tidak ada catatan saldo

+

Tidak ada catatan kas

- Saldo muncul saat ada kelebihan atau kekurangan bayar. + Kas muncul saat ada deposit atau hutang dari PO.

) : ( @@ -443,7 +443,7 @@ export default function BalancesPage() { {/* Amount */}

- {isPositive ? 'Anda Hutang' : 'Piutang Anda'} + {isPositive ? 'Total Deposit' : 'Total Piutang'}

{ let diff = 0 - if (sub.payment_status === 'LUNAS') { - if (sub.bill != null) { - diff = (sub.paid_amount || 0) - sub.bill - } + const shouldCountBill = sub.bill != null && (sub.order.status === 'CLOSE' || sub.payment_status === 'LUNAS') + + if (shouldCountBill) { + diff = (sub.paid_amount || 0) - sub.bill! } else { - diff = -(sub.saldo_used || 0) + diff = (sub.paid_amount || 0) - (sub.saldo_used || 0) } if (diff !== 0) { @@ -732,12 +735,12 @@ export async function getBalancesAsSubmittor(user_id: string) { submissions.forEach((sub) => { let diff = 0 - if (sub.payment_status === 'LUNAS') { - if (sub.bill != null) { - diff = (sub.paid_amount || 0) - sub.bill - } + const shouldCountBill = sub.bill != null && (sub.order.status === 'CLOSE' || sub.payment_status === 'LUNAS') + + if (shouldCountBill) { + diff = (sub.paid_amount || 0) - sub.bill! } else { - diff = -(sub.saldo_used || 0) + diff = (sub.paid_amount || 0) - (sub.saldo_used || 0) } if (diff !== 0) { diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 7b9aafe..ddbbd70 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -29,7 +29,7 @@ const menuItems = [ desc: 'Kelola PO buatan Anda', }, { name: 'Pesanan Saya', href: '/my-purchases', icon: ShoppingBag, desc: 'Riwayat titipan Anda' }, - { name: 'Buku Saldo', href: '/balances', icon: Wallet, desc: 'Pantau riwayat saldo' }, + { name: 'Kas & Hutang', href: '/balances', icon: Wallet, desc: 'Pantau kas dan hutang' }, { name: 'Laporan', href: '/reports', icon: BarChart2, desc: 'Ringkasan transaksi' }, ]