'use client' import React, { useState, useEffect } from 'react' interface AIAnalytics { generated: string overview: { totalLearningRecords: number totalTrades: number totalSessions: number activeSessions: number } improvements: { confidenceImprovement: number accuracyImprovement: number | null trend: string } pnl: { totalTrades: number totalPnL: number totalPnLPercent: number winRate: number avgTradeSize: number } currentPosition: any realTimeMetrics: { daysSinceAIStarted: number learningRecordsPerDay: number tradesPerDay: number lastUpdate: string isLearningActive: boolean } learningProof: { hasImprovement: boolean improvementDirection: string confidenceChange: number sampleSize: number isStatisticallySignificant: boolean } } interface PositionData { hasPosition: boolean symbol?: string unrealizedPnl?: number riskLevel?: string } export default function Dashboard() { const [positions, setPositions] = useState({ hasPosition: false }) const [loading, setLoading] = useState(true) const [aiAnalytics, setAiAnalytics] = useState(null) const [analyticsLoading, setAnalyticsLoading] = useState(true) const fetchData = async () => { try { // Fetch position data const positionResponse = await fetch('/api/check-position') const positionData = await positionResponse.json() setPositions(positionData) // Fetch AI analytics setAnalyticsLoading(true) const analyticsResponse = await fetch('/api/ai-analytics') const analyticsData = await analyticsResponse.json() setAiAnalytics(analyticsData) setAnalyticsLoading(false) } catch (error) { console.error('Error fetching data:', error) setAnalyticsLoading(false) } finally { setLoading(false) } } useEffect(() => { fetchData() // Refresh every 30 seconds const interval = setInterval(fetchData, 30000) return () => clearInterval(interval) }, []) return (
{/* Quick Overview Cards */}
{/* Position Monitor */}

🔍Position Monitor

Last update: {new Date().toLocaleTimeString()}
{/* Position Status */}
{positions.hasPosition ? (

📈Active Position

Symbol

{positions.symbol}

Unrealized PnL

= 0 ? 'text-green-400' : 'text-red-400' }`}> ${(positions.unrealizedPnl || 0).toFixed(2)}

Risk Level

{positions.riskLevel}

Status

Active
) : (

📊No Open Positions

Scanning for opportunities...

)}
{/* Automation Status */}

🤖Automation Status

STOPPED

{/* AI Learning Analytics */}
{analyticsLoading ? (
Loading AI learning analytics...
) : aiAnalytics ? (

🧠AI Learning Analytics & Performance

{/* Overview Stats */}
{aiAnalytics.overview.totalLearningRecords}
Learning Records
{aiAnalytics.overview.totalTrades}
AI Trades Executed
{aiAnalytics.realTimeMetrics.daysSinceAIStarted}
Days Active
{aiAnalytics.learningProof.isStatisticallySignificant ? '✓' : '⚠'}
Statistical Significance
{/* Learning Improvements */}

Learning Progress

Confidence Change: = 0 ? 'text-green-400' : 'text-red-400'}`}> {aiAnalytics.improvements.confidenceImprovement > 0 ? '+' : ''}{aiAnalytics.improvements.confidenceImprovement.toFixed(2)}%
Trend Direction: {aiAnalytics.improvements.trend}
Sample Size: {aiAnalytics.learningProof.sampleSize}

Trading Performance

Total PnL: = 0 ? 'text-green-400' : 'text-red-400'}`}> ${aiAnalytics.pnl.totalPnL.toFixed(2)}
PnL Percentage: = 0 ? 'text-green-400' : 'text-red-400'}`}> {aiAnalytics.pnl.totalPnLPercent > 0 ? '+' : ''}{aiAnalytics.pnl.totalPnLPercent.toFixed(2)}%
Win Rate: {(aiAnalytics.pnl.winRate * 100).toFixed(1)}%
Avg Trade Size: ${aiAnalytics.pnl.avgTradeSize.toFixed(2)}
{/* Proof of Learning */}

📈Proof of AI Learning Effectiveness

{aiAnalytics.overview.totalLearningRecords}
Learning Samples Collected
{aiAnalytics.overview.totalTrades}
AI Decisions Executed
{aiAnalytics.learningProof.isStatisticallySignificant ? 'PROVEN' : 'LEARNING'}
Statistical Confidence
🧠 AI learning system has collected {aiAnalytics.overview.totalLearningRecords} samples and executed {aiAnalytics.overview.totalTrades} trades with {aiAnalytics.learningProof.isStatisticallySignificant ? 'statistically significant' : 'emerging'} learning patterns.
{/* Real-time Metrics */}
Last updated: {new Date(aiAnalytics.realTimeMetrics.lastUpdate).toLocaleString()} • Learning Active: {aiAnalytics.realTimeMetrics.isLearningActive ? '✅' : '❌'} • {aiAnalytics.realTimeMetrics.learningRecordsPerDay.toFixed(1)} records/day • {aiAnalytics.realTimeMetrics.tradesPerDay.toFixed(1)} trades/day
) : (
⚠️

Unable to load AI analytics

)}
{/* Overview Section */}
{loading ? (
Loading overview...
) : (

Trading Overview

🎯
Strategy Performance
AI-powered analysis with continuous learning
🔄
Automated Execution
24/7 market monitoring and trade execution
📊
Risk Management
Advanced stop-loss and position sizing
)}
) }