"use client"; import { useEffect, useState } from "react"; import { Nav, useAuth } from "@/components/Nav"; interface Stream { id: string; node: string; status: string; createdAt: string; lastActivity: string; absoluteExpiresAt: string; title: string; resolution: string | null; } export default function StreamsPage() { useAuth(); const [streams, setStreams] = useState([]); function load() { fetch("/api/v1/admin/streams", { credentials: "include" }) .then((r) => r.json()) .then((d) => setStreams(d.streams ?? [])); } useEffect(() => { load(); const t = setInterval(load, 10000); return () => clearInterval(t); }, []); async function revoke(id: string) { if (!confirm("Playback-sessie intrekken?")) return; await fetch(`/api/v1/admin/streams/${id}/revoke`, { method: "POST", credentials: "include", }); load(); } return ( <>