fix(notes): activate workspace saved views
This commit is contained in:
parent
bd7fc9d7a7
commit
22df6d956f
@ -1,17 +1,23 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
import { useSearchParams } from "next/navigation";
|
||||||
import { useEffect, useMemo, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import { AppShell } from "@/components/AppShell";
|
import { AppShell } from "@/components/AppShell";
|
||||||
import { listNoteSummaries, listWorkspaceSummaries } from "@/lib/notes-client";
|
import { listNoteSummaries, listWorkspaceSummaries } from "@/lib/notes-client";
|
||||||
import type { NoteSummary, WorkspaceSummary } from "@/lib/types";
|
import type { NoteSummary, WorkspaceSummary } from "@/lib/types";
|
||||||
|
|
||||||
export default function WorkspacesPage() {
|
export default function WorkspacesPage() {
|
||||||
|
const searchParams = useSearchParams();
|
||||||
const [notes, setNotes] = useState<NoteSummary[]>([]);
|
const [notes, setNotes] = useState<NoteSummary[]>([]);
|
||||||
const [workspaces, setWorkspaces] = useState<WorkspaceSummary[]>([]);
|
const [workspaces, setWorkspaces] = useState<WorkspaceSummary[]>([]);
|
||||||
const [query, setQuery] = useState("");
|
const [query, setQuery] = useState(() => searchParams?.get("q") ?? "");
|
||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setQuery(searchParams?.get("q") ?? "");
|
||||||
|
}, [searchParams]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
void (async () => {
|
void (async () => {
|
||||||
try {
|
try {
|
||||||
@ -89,11 +95,16 @@ export default function WorkspacesPage() {
|
|||||||
<div style={{ fontWeight: 700 }}>Saved views</div>
|
<div style={{ fontWeight: 700 }}>Saved views</div>
|
||||||
<div style={{ display: "grid", gap: "var(--ml-space-3)" }}>
|
<div style={{ display: "grid", gap: "var(--ml-space-3)" }}>
|
||||||
{savedViews.map((view) => (
|
{savedViews.map((view) => (
|
||||||
<div key={view.id} className="surface-muted" style={{ padding: "var(--ml-space-4)", display: "grid", gap: "var(--ml-space-2)" }}>
|
<Link
|
||||||
|
key={view.id}
|
||||||
|
href={view.id === "workspace-shared" ? "/workspaces?q=shared" : "/workspaces"}
|
||||||
|
className="surface-muted"
|
||||||
|
style={{ padding: "var(--ml-space-4)", display: "grid", gap: "var(--ml-space-2)" }}
|
||||||
|
>
|
||||||
<strong>{view.name}</strong>
|
<strong>{view.name}</strong>
|
||||||
<span style={{ color: "var(--ml-text-secondary)" }}>{view.description}</span>
|
<span style={{ color: "var(--ml-text-secondary)" }}>{view.description}</span>
|
||||||
<span className="badge">{view.resultCount} results</span>
|
<span className="badge">{view.resultCount} results</span>
|
||||||
</div>
|
</Link>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user