import React, { useEffect, useState } from 'react';
import './Admin.css';

function LogsDashboard() {
  const [logs, setLogs] = useState([]);
  const [stats, setStats] = useState({});

  useEffect(() => {
    fetch('/api/logs')
      .then(res => res.json())
      .then(setLogs)
      .catch(console.error);
    fetch('/api/stats')
      .then(res => res.json())
      .then(setStats)
      .catch(console.error);
  }, []);

  return (
    <div className="admin-container">
      <h2>运行日志 & 性能 Dashboard</h2>
      <section className="dashboard-stats">
        <pre>{JSON.stringify(stats, null, 2)}</pre>
      </section>
      <section className="dashboard-logs">
        <table className="admin-table">
          <thead>
            <tr><th>时间</th><th>级别</th><th>消息</th></tr>
          </thead>
          <tbody>
            {logs.map((log, i) => (
              <tr key={i}>
                <td>{new Date(log.time).toLocaleString()}</td>
                <td>{log.level}</td>
                <td>{log.message}</td>
              </tr>
            ))}
          </tbody>
        </table>
      </section>
    </div>
  );
}

export default LogsDashboard;
