"use client"; import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; import { useAuthContext } from "@/context/auth-context"; import { useActivityLog, useServerLogs } from "@/hooks/use-admin"; import { ServerLogsPanel } from "./components/server-logs-panel"; import { ActivityLogPanel } from "./components/activity-log-panel"; export default function AdminPage() { const { token, isLoaded } = useAuthContext(); const router = useRouter(); useEffect(() => { if (isLoaded && !token) { router.replace("/login"); } }, [isLoaded, token, router]); const { lines, connected } = useServerLogs(token); const [localLines, setLocalLines] = useState(lines); // Sync external lines into local state so Clear can reset without clearing the hook useEffect(() => { setLocalLines(lines); }, [lines]); const { data: events = [], isLoading } = useActivityLog(token); if (!isLoaded || !token) return null; return (
{/* Page header */}

Admin

System monitoring & logs
{/* Two-column layout */}
{/* Left: server logs */}
setLocalLines([])} />
{/* Right: activity log */}
); }