import React, { useRef, useEffect, useMemo } from 'react'; import { LogEntry } from '../types'; import { Terminal, Trash2, Info } from 'lucide-react'; interface SystemLogPanelProps { logs: LogEntry[]; onClear: () => void; } const SystemLogPanel: React.FC = ({ logs, onClear }) => { const logContainerRef = useRef(null); const reversedLogs = useMemo(() => [...logs].reverse(), [logs]); // Force scroll to top useEffect(() => { if (logContainerRef.current) { logContainerRef.current.scrollTop = 0; } }, [reversedLogs]); return (
{/* Header */}
SYSTEM LOG
{/* Log Body */}
{reversedLogs.length === 0 && (
No System Activity
)} {reversedLogs.map((log, index) => (
{index + 1} {log.timestamp} {log.message}
))}
); }; export default SystemLogPanel;