fix(web): wrap search + workspaces pages in Suspense for useSearchParams prerendering

This commit is contained in:
saravanakumardb1 2026-03-12 17:18:12 -07:00
parent 4ffe7569b0
commit 4da42b2d27
2 changed files with 18 additions and 2 deletions

View File

@ -2,7 +2,7 @@
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import { useCallback, useEffect, useMemo, useState } from "react";
import { Suspense, useCallback, useEffect, useMemo, useState } from "react";
import { AppShell } from "@/components/AppShell";
import { searchNoteSummaries } from "@/lib/notes-client";
import { listSavedViews, createSavedView, deleteSavedView, type SavedView } from "@/lib/saved-views-client";
@ -10,6 +10,14 @@ import { useDebounce } from "@/lib/use-debounce";
import type { NoteSummary } from "@/lib/types";
export default function SearchPage() {
return (
<Suspense fallback={<AppShell title="Search" description="Search notes"><p>Loading...</p></AppShell>}>
<SearchPageInner />
</Suspense>
);
}
function SearchPageInner() {
const searchParams = useSearchParams();
const [notes, setNotes] = useState<NoteSummary[]>([]);
const [query, setQuery] = useState(() => searchParams?.get("q") ?? "");

View File

@ -2,12 +2,20 @@
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import { useEffect, useMemo, useState } from "react";
import { Suspense, useEffect, useMemo, useState } from "react";
import { AppShell } from "@/components/AppShell";
import { listNoteSummaries, listWorkspaceSummaries } from "@/lib/notes-client";
import type { NoteSummary, WorkspaceSummary } from "@/lib/types";
export default function WorkspacesPage() {
return (
<Suspense fallback={<AppShell title="Workspaces" description="Manage workspaces"><p>Loading...</p></AppShell>}>
<WorkspacesPageInner />
</Suspense>
);
}
function WorkspacesPageInner() {
const searchParams = useSearchParams();
const [notes, setNotes] = useState<NoteSummary[]>([]);
const [workspaces, setWorkspaces] = useState<WorkspaceSummary[]>([]);