fix: wrap TraceList in Suspense boundary and mark dashboard as dynamic route

Next.js 15 requires useSearchParams() to be within a Suspense boundary for production builds
This commit is contained in:
Vectry
2026-02-10 00:51:22 +00:00
parent 1989366844
commit 93e69105ea

View File

@@ -1,5 +1,8 @@
import { Suspense } from "react";
import { TraceList } from "@/components/trace-list"; import { TraceList } from "@/components/trace-list";
export const dynamic = "force-dynamic";
interface TracesResponse { interface TracesResponse {
traces: Array<{ traces: Array<{
id: string; id: string;
@@ -53,11 +56,13 @@ export default async function DashboardPage() {
const data = await getTraces(50, 1); const data = await getTraces(50, 1);
return ( return (
<TraceList <Suspense fallback={<div className="p-8 text-zinc-400">Loading traces...</div>}>
initialTraces={data.traces} <TraceList
initialTotal={data.total} initialTraces={data.traces}
initialTotalPages={data.totalPages} initialTotal={data.total}
initialPage={data.page} initialTotalPages={data.totalPages}
/> initialPage={data.page}
/>
</Suspense>
); );
} }