import React from 'react'; import { Card, Statistic, Tooltip, Badge } from 'antd'; import { useSelector } from 'react-redux'; import { RootState } from '@/app/store'; import './PerformanceMonitor.css'; const PerformanceMonitor: React.FC = () => { const { performanceMetrics } = useSelector((state: RootState) => state.enhancedKanbanReducer); // Only show if there are tasks loaded if (performanceMetrics.totalTasks === 0) { return null; } const getPerformanceStatus = () => { if (performanceMetrics.totalTasks > 1000) return 'critical'; if (performanceMetrics.totalTasks > 500) return 'warning'; if (performanceMetrics.totalTasks > 100) return 'good'; return 'excellent'; }; const getStatusColor = (status: string) => { switch (status) { case 'critical': return 'red'; case 'warning': return 'orange'; case 'good': return 'blue'; case 'excellent': return 'green'; default: return 'default'; } }; const status = getPerformanceStatus(); const statusColor = getStatusColor(status); return ( Performance Monitor } >
Virtualization:
{performanceMetrics.totalTasks > 500 && (

Performance Tips:

  • Use filters to reduce the number of visible tasks
  • Consider grouping by different criteria
  • Virtualization is automatically enabled for large groups
)}
); }; export default React.memo(PerformanceMonitor);