diff --git a/web/src/app/(app)/dashboard/page.tsx b/web/src/app/(app)/dashboard/page.tsx index 526f9cc..ab40775 100644 --- a/web/src/app/(app)/dashboard/page.tsx +++ b/web/src/app/(app)/dashboard/page.tsx @@ -78,6 +78,18 @@ export default function DashboardPage() { const recentNotes = notes.slice(0, 3); + function getSavedViewHref(view: (typeof savedViews)[number]) { + if (view.id === "workspace-all") { + return "/workspaces"; + } + + if (view.id === "draft-notes") { + return `/search?q=${encodeURIComponent("draft")}`; + } + + return "/reviews"; + } + return ( Saved views
{savedViews.map((view) => ( -
+
{view.name} {view.scope} @@ -114,7 +131,7 @@ export default function DashboardPage() { {view.query} {view.resultCount} results
-
+ ))}
diff --git a/web/src/app/(app)/search/page.tsx b/web/src/app/(app)/search/page.tsx index f9486f7..29e1367 100644 --- a/web/src/app/(app)/search/page.tsx +++ b/web/src/app/(app)/search/page.tsx @@ -1,16 +1,22 @@ "use client"; import Link from "next/link"; +import { useSearchParams } from "next/navigation"; import { useEffect, useState } from "react"; import { AppShell } from "@/components/AppShell"; import { searchNoteSummaries } from "@/lib/notes-client"; import type { NoteSummary } from "@/lib/types"; export default function SearchPage() { + const searchParams = useSearchParams(); const [notes, setNotes] = useState([]); - const [query, setQuery] = useState(""); + const [query, setQuery] = useState(() => searchParams?.get("q") ?? ""); const [error, setError] = useState(null); + useEffect(() => { + setQuery(searchParams?.get("q") ?? ""); + }, [searchParams]); + useEffect(() => { const timeout = window.setTimeout(() => { void (async () => {