import React, { useState, useEffect } from 'react'; import { systemInitializer } from '../../utils/systemInitializer.js'; import Card from './Card.js'; function SystemStatus({ compact = false }) { const [systemStatus, setSystemStatus] = useState(null); const [performanceMetrics, setPerformanceMetrics] = useState(null); const [healthStatus, setHealthStatus] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const updateStatus = async () => { try { const status = systemInitializer.getSystemStatus(); const metrics = { totalAnalyses: 0, averageAccuracy: 85, averageProcessingTime: 1200 }; const health = await systemInitializer.performHealthCheck(); setSystemStatus(status); setPerformanceMetrics(metrics); setHealthStatus(health); setIsLoading(false); } catch (error) { console.error('Failed to get system status:', error); setIsLoading(false); } }; updateStatus(); // Update every 30 seconds const interval = setInterval(updateStatus, 30000); return () => clearInterval(interval); }, []); if (isLoading) { return (

🔄 System Status

Loading...
); } if (compact) { return (
{systemStatus?.overallReady ? 'All Systems Operational' : 'Limited Functionality'}
{performanceMetrics && (
Analyses: {performanceMetrics.totalAnalyses} Avg Accuracy: {Math.round(performanceMetrics.averageAccuracy)}%
)}
); } return (

🚀 GreenPlus by GXS Advanced Systems

{systemStatus?.overallReady ? '✅ Operational' : '⚠️ Degraded'}
Ultimate System
{systemStatus?.ultimateSystem ? '🟢 Active' : '🔴 Inactive'}
Production System
{systemStatus?.productionSystem ? '🟢 Active' : '🔴 Inactive'}
ML Engine
{systemStatus?.mlEngine ? '🟢 Active' : '🔴 Inactive'}
WebGL Engine
{systemStatus?.webglEngine ? '🟢 Active' : '🔴 Inactive'}
Accuracy Validator
{systemStatus?.validator ? '🟢 Active' : '🔴 Inactive'}
{performanceMetrics && (

📊 Performance Metrics

Total Analyses
{performanceMetrics.totalAnalyses.toLocaleString()}
Average Accuracy
{Math.round(performanceMetrics.averageAccuracy)}%
Avg Processing Time
{Math.round(performanceMetrics.averageProcessingTime)}ms
System Uptime
{Math.round(performanceMetrics.systemUptime / 1000)}s
)} {healthStatus && (

🏥 System Health

Overall: {healthStatus.overall.toUpperCase()}
{Object.entries(healthStatus.systems).map(([system, status]) => (
{system} {status}
))}
)}
); } export default SystemStatus;