🚀 Fix position sizing and add real wallet balance integration
Fixed Position Size Calculation: - Changed input from SOL to USD for clarity - Fixed calculation: positionSizeSOL = positionValueUSD / coinPrice - Resolved issue where entering 0.4 SOL showed incorrect 0.0025 underneath Added Real Wallet Balance Integration: - TradeModal now fetches actual wallet balance from /api/wallet/balance - Percentage buttons now calculate from real available balance (3.40) - No more impossible 1 SOL positions when only 3.40 available Enhanced Position Sizing UI: - Added slider for smooth position adjustment ( to full balance) - Percentage buttons (25%, 50%, 75%, 100%) now accurate - Real-time display shows both USD and SOL amounts - Live percentage display of balance usage Added Wallet Overview to Dashboard: - Main dashboard shows real wallet balance prominently - Trading page displays actual wallet holdings - StatusOverview component enhanced with wallet info - Accurate position sizing based on actual 3.40 balance - Intuitive slider + percentage buttons - Real-time balance updates every 30 seconds - Clear USD/SOL conversion display - No more calculation errors in trading modal
This commit is contained in:
@@ -18,16 +18,22 @@ export default function TradingPage() {
|
||||
|
||||
useEffect(() => {
|
||||
fetchBalance()
|
||||
// Refresh balance every 30 seconds to keep it current
|
||||
const interval = setInterval(fetchBalance, 30000)
|
||||
return () => clearInterval(interval)
|
||||
}, [])
|
||||
|
||||
const fetchBalance = async () => {
|
||||
setLoading(true)
|
||||
try {
|
||||
const response = await fetch('/api/trading/balance')
|
||||
// Use the real wallet balance API
|
||||
const response = await fetch('/api/wallet/balance')
|
||||
const data = await response.json()
|
||||
|
||||
if (data.success) {
|
||||
setBalance(data.balance)
|
||||
} else {
|
||||
console.error('Failed to fetch balance:', data.error)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to fetch balance:', error)
|
||||
|
||||
Reference in New Issue
Block a user