From 682c76128c5b537092bdc03959a713c7b0a363c1 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Fri, 20 Mar 2026 14:29:20 -0400 Subject: [PATCH] fix: update balance display to indicate negative values in TradePanel, ResetAccountForm, ProfilePage, and Navbar --- src/app/hashtag/[tag]/TradePanel.tsx | 16 +++++++++------ .../profile/[username]/ResetAccountForm.tsx | 2 +- src/app/profile/[username]/page.tsx | 20 +++++++++++++++++-- src/components/Navbar.tsx | 2 +- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/app/hashtag/[tag]/TradePanel.tsx b/src/app/hashtag/[tag]/TradePanel.tsx index 50f8ef4..6823d10 100644 --- a/src/app/hashtag/[tag]/TradePanel.tsx +++ b/src/app/hashtag/[tag]/TradePanel.tsx @@ -32,7 +32,7 @@ export function TradePanel({ hashtag, balance, longPosition, shortPosition, fund const remainingShareCap = Math.max(0, maxPositionShares - existingBuyShares) const remainingValueCap = Math.max(0, maxPositionValue - existingBuyShares * hashtag.currentPrice) const sharesFromValueCap = hashtag.currentPrice > 0 ? remainingValueCap / hashtag.currentPrice : 0 - const sharesFromBalance = hashtag.currentPrice > 0 ? balance / hashtag.currentPrice : 0 + const sharesFromBalance = hashtag.currentPrice > 0 ? Math.max(0, balance) / hashtag.currentPrice : 0 const maxBuyShares = Math.floor(Math.min(remainingShareCap, sharesFromValueCap, sharesFromBalance) * 100) / 100 const maxSellShares = @@ -75,7 +75,7 @@ export function TradePanel({ hashtag, balance, longPosition, shortPosition, fund

Trade #{hashtag.displayTag}

- Balance: {formatCurrency(balance)} + Balance: {formatCurrency(balance)}
@@ -137,10 +137,14 @@ export function TradePanel({ hashtag, balance, longPosition, shortPosition, fund : String(maxSellShares) )} > - Max - {(tab === 'BUY_LONG' || tab === 'BUY_SHORT') && maxBuyShares === 0 - ? ' (limit reached)' - : null} + {(tab === 'BUY_LONG' || tab === 'BUY_SHORT') + ? balance <= 0 + ? Balance is negative + : maxBuyShares === 0 + ? 'Max (limit reached)' + : 'Max' + : 'Max' + } +