fix(web): wrap search + workspaces pages in Suspense for useSearchParams prerendering
This commit is contained in:
parent
4ffe7569b0
commit
4da42b2d27
@ -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") ?? "");
|
||||
|
||||
@ -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[]>([]);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user