"use client" import React, { useEffect, useState } from 'react' export default function StatusOverview() { const [status, setStatus] = useState({ driftBalance: 0, activeTrades: 0, dailyPnL: 0, systemStatus: 'offline' }) const [loading, setLoading] = useState(true) useEffect(() => { async function fetchStatus() { try { setLoading(true) // Get balance from Bitquery let balance = 0 try { const balanceRes = await fetch('/api/balance') if (balanceRes.ok) { const balanceData = await balanceRes.json() balance = balanceData.usd || 0 } } catch (e) { console.warn('Could not fetch balance:', e) } // Get system status let systemStatus = 'online' try { const statusRes = await fetch('/api/status') if (!statusRes.ok) { systemStatus = 'error' } } catch (e) { systemStatus = 'error' } setStatus({ driftBalance: balance, activeTrades: Math.floor(Math.random() * 5), // Demo active trades dailyPnL: balance * 0.02, // 2% daily P&L for demo systemStatus: systemStatus }) } catch (error) { console.error('Error fetching status:', error) setStatus(prev => ({ ...prev, systemStatus: 'error' })) } setLoading(false) } fetchStatus() // Refresh every 30 seconds const interval = setInterval(fetchStatus, 30000) return () => clearInterval(interval) }, []) const statusColor = { online: 'text-green-400', offline: 'text-yellow-400', error: 'text-red-400' } const statusIcon = { online: '🟢', offline: '🟡', error: '🔴' } return (

System Status

{statusIcon[status.systemStatus]} {status.systemStatus.toUpperCase()}
{loading ? (
Loading status...
) : (
💎

${status.driftBalance.toFixed(2)}

Bitquery Balance

🔄

{status.activeTrades}

Active Trades

📈

= 0 ? 'text-green-400' : 'text-red-400'}`}> {status.dailyPnL >= 0 ? '+' : ''}${status.dailyPnL.toFixed(2)}

Daily P&L

)}
) }