Voice. Text. One Watch Floor.
Single-page watcher for live voice bridge and captured Discord messages, including stickers, embeds, replies, and uploaded image evidence inline.
import { renderToString } from "react-dom/server"; import type { MessageRecord } from "../moderation/types"; import type { ChannelSummary, GuildSummary, VoiceChannelSummary, VoiceStatus } from "../voiceController"; interface DashboardProps { guilds: GuildSummary[]; voiceChannels: VoiceChannelSummary[]; watchChannels: ChannelSummary[]; selectedGuildId: string; selectedChannelId: string; messages: MessageRecord[]; status: VoiceStatus; } function parseMetadata(value: string | null): any { if (!value) return {}; try { return JSON.parse(value); } catch { return {}; } } function safeJson(value: unknown): string { return JSON.stringify(value).replace(/
Single-page watcher for live voice bridge and captured Discord messages, including stickers, embeds, replies, and uploaded image evidence inline.