import React, { useState, useEffect, useRef } from 'react'; import { useLogger, LogMessage, LogType } from '../contexts/LoggingContext'; const LOG_COLORS: Record = { info: 'text-gray-300', success: 'text-green-400', error: 'text-red-400', warn: 'text-yellow-400', }; const DebugConsole: React.FC = () => { const { logs, clearLogs } = useLogger(); const [isOpen, setIsOpen] = useState(false); const [copyStatus, setCopyStatus] = useState('Copy'); const logsEndRef = useRef(null); const scrollToBottom = () => { logsEndRef.current?.scrollIntoView({ behavior: 'smooth' }); }; useEffect(scrollToBottom, [logs]); const handleCopy = () => { const logText = logs.map(log => `[${log.timestamp}] [${log.type.toUpperCase()}] ${log.message}`).join('\n'); navigator.clipboard.writeText(logText).then(() => { setCopyStatus('Copied!'); setTimeout(() => setCopyStatus('Copy'), 2000); }, () => { setCopyStatus('Failed!'); setTimeout(() => setCopyStatus('Copy'), 2000); }); }; return ( <> {isOpen && (

DEBUG CONSOLE

{logs.length === 0 ? (

No logs yet. Start using the app to see messages here.

) : ( logs.map((log, index) => (
{log.timestamp} [{log.type.toUpperCase()}] {log.message}
)) )}
)} ); }; export default DebugConsole;