import type { Metadata } from "next"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { SessionsSummaryCards } from "@/components/stats/SessionsSummaryCards"; import { DeviceUsageTable } from "@/components/stats/DeviceUsageTable"; import { RecordingLibraryStats } from "@/components/stats/RecordingLibraryStats"; import { getDeviceCommandCounts, getDeviceUsageStats, getRecordingLibraryStats, getSessionsSummary } from "@/lib/db/queries/stats"; export const dynamic = "force-dynamic"; export const metadata: Metadata = { title: "Stats" }; export default async function StatsPage() { const [sessionsSummary, deviceUsage, commandCounts, recordingStats] = await Promise.all([ getSessionsSummary(), getDeviceUsageStats(), getDeviceCommandCounts(), getRecordingLibraryStats(), ]); const commandCountByDevice = new Map(commandCounts.map((c) => [c.deviceId, c.commandCount])); const devices = deviceUsage.map((d) => ({ ...d, commandCount: commandCountByDevice.get(d.deviceId) ?? 0 })); return (
Usage across sessions, devices, and your recording library.