"use client"; import { Suspense, useState } from "react"; import { useSearchParams, useRouter } from "next/navigation"; import { UsageStats, RequestLogger, CardSkeleton, SegmentedControl } from "@/shared/components"; import RequestDetailsTab from "./components/RequestDetailsTab"; const PERIODS = [ { value: "today", label: "Today" }, { value: "24h", label: "24h" }, { value: "7d", label: "7D" }, { value: "30d", label: "30D" }, { value: "60d", label: "60D" }, ]; export default function UsagePage() { return ( }> ); } function UsageContent() { const searchParams = useSearchParams(); const router = useRouter(); const [period, setPeriod] = useState("today"); const tabFromUrl = searchParams.get("tab"); const activeTab = tabFromUrl && ["overview", "logs", "details"].includes(tabFromUrl) ? tabFromUrl : "overview"; const handleTabChange = (value) => { if (value === activeTab) return; const params = new URLSearchParams(searchParams); params.set("tab", value); router.push(`/dashboard/usage?${params.toString()}`, { scroll: false }); }; return (
{/* Tabs + period selector on same row */}
{activeTab === "overview" && ( )}
{activeTab === "overview" && ( }> )} {activeTab === "logs" && } {activeTab === "details" && }
); }