diff --git a/src/app/admin/projects/[projectId]/page.tsx b/src/app/admin/projects/[projectId]/page.tsx index a027e95..bbc932c 100644 --- a/src/app/admin/projects/[projectId]/page.tsx +++ b/src/app/admin/projects/[projectId]/page.tsx @@ -6,6 +6,7 @@ import { IngestPanel } from "@/components/admin/ingest-panel"; import { SummaryPanel } from "@/components/admin/summary-panel"; import { IntakeLinksPanel } from "@/components/admin/intake-links-panel"; import { BackgroundMdEditor } from "@/components/admin/background-md-editor"; +import { ShowInIntakeToggle } from "@/components/admin/show-in-intake-toggle"; import { getAdminPb } from "@/lib/pb/admin"; import { summaryStatus } from "@/lib/ai/summarise"; import type { IntakeLinkRecord, ProjectRecord } from "@/lib/pb/types"; @@ -65,6 +66,10 @@ export default async function ProjectAdminPage({ /> + (false); + const [error, setError] = useState(null); + + function flip() { + const next = !value; + setValue(next); + setSaved(false); + setError(null); + startTransition(async () => { + try { + await setProjectShowInIntakeAction({ projectId, show: next }); + setSaved(true); + } catch (e) { + setError(e instanceof Error ? e.message : "Could not save"); + setValue(!next); // revert + } + }); + } + + return ( +
+
+

+ List on request page +

+

+ Show this project in the public request page's project picker. + Off by default. +

+
+
+ + {pending && Saving…} + {error && ( + + {error} + + )} + {!pending && saved && ( + Saved. + )} +
+
+ ); +}