"use client"; import Link from "next/link"; import { useState, useEffect, useCallback } from "react"; import { useAccount } from "@/contexts/AccountContext"; type Msg = { id: string; from: string; text: string; ts: number; channel?: string }; export default function VaultAdminDashboard() { const { user, hydrated, signIn } = useAccount(); const [btcUsd, setBtcUsd] = useState(null); const [messages, setMessages] = useState([]); const [broadcast, setBroadcast] = useState(""); const [terminalLines, setTerminalLines] = useState([]); const [loginPass, setLoginPass] = useState(""); const [loginError, setLoginError] = useState(""); const fetchBtc = useCallback(async () => { try { const res = await fetch("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd", { cache: "no-store", }); const j = await res.json(); setBtcUsd(j.bitcoin?.usd || null); } catch { // ignore } }, []); const fetchMessages = useCallback(async () => { try { const res = await fetch("/api/messages?channel=all"); const data = await res.json(); if (data.ok) setMessages(data.messages); } catch { // ignore } }, []); useEffect(() => { void fetchBtc(); void fetchMessages(); const id = setInterval(() => { void fetchBtc(); void fetchMessages(); }, 10_000); return () => clearInterval(id); }, [fetchBtc, fetchMessages]); useEffect(() => { const interval = setInterval(() => { const logs = [ `[TOR_ADMIN] Relay ping successful. Circuit latency: ${Math.floor(Math.random() * 80 + 20)}ms`, `[NGINX_ROUTER] Routing loopback 127.0.0.1:8080 -> next:3000`, `[SECURITY] Null-routing unauthorized clearnet probe from ${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}`, `[BTC_NODE] Synced block height ${839000 + Math.floor(Math.random() * 1000)}`, `[SYSTEM] Memory stable. Cache flushed.`, ]; setTerminalLines((prev) => [...prev.slice(-15), logs[Math.floor(Math.random() * logs.length)]!]); }, 3500); return () => clearInterval(interval); }, []); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setLoginError(""); const res = await signIn("drjones", loginPass); if (!res.ok) { setLoginError(res.error || "Access Denied"); } }; const handleBroadcast = async () => { if (!broadcast.trim()) return; try { await fetch("/api/messages", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ from: "System Admin", text: `[GLOBAL BROADCAST] ${broadcast}`, channel: "global" }), }); setTerminalLines((prev) => [...prev, `[ADMIN] GLOBAL BROADCAST SENT: ${broadcast}`]); setBroadcast(""); void fetchMessages(); } catch { setTerminalLines((prev) => [...prev, `[ADMIN] Broadcast Failed!`]); } }; const deleteMessage = async (id: string) => { await fetch(`/api/messages?id=${id}`, { method: "DELETE" }); void fetchMessages(); setTerminalLines((prev) => [...prev, `[ADMIN] Deleted message ${id}`]); }; const clearAllMessages = async () => { if (!confirm("Are you sure you want to nuke all global communications?")) return; await fetch(`/api/messages?all=true`, { method: "DELETE" }); void fetchMessages(); setTerminalLines((prev) => [...prev, `[ADMIN] Nuked all global messages.`]); }; if (!hydrated) { return
Initializing connection...
; } // Only drjones gets to see the true dashboard if (!user || user.username !== "drjones") { return (

RESTRICTED ZONE

EldritchWeave Tor Network Admin

setLoginPass(e.target.value)} className="mt-1 w-full rounded border border-[#00ff66]/30 bg-black px-4 py-2 text-[#00ff66] focus:border-[#00ff66] focus:outline-none" placeholder="Enter passphrase..." />
{loginError &&
{loginError}
}
Return to Hub
); } return (

Tor Admin Dashboard

Admin: Dr. Jones
Status: GOD MODE

System Telemetry

Active Relays 43
BTC/USD Oracle ${btcUsd ? btcUsd.toLocaleString() : "..."}
Firewall Integrity 100%

Global Network Override