From 8d97b8ffaa1d46fe99215cd8062434b0babea07f Mon Sep 17 00:00:00 2001 From: stroblme Date: Mon, 12 Oct 2026 22:07:17 +0200 Subject: [PATCH] Open in dashboard: searchable Command list Co-Authored-By: Claude Opus 5.5 --- .../src/components/Runs/OpenInDashboard.tsx | 81 +++++++++++-------- 1 file changed, 48 insertions(+), 33 deletions(-) diff --git a/frontend/src/components/Runs/OpenInDashboard.tsx b/frontend/src/components/Runs/OpenInDashboard.tsx index 9ab9ebf..976558c 100644 --- a/frontend/src/components/Runs/OpenInDashboard.tsx +++ b/frontend/src/components/Runs/OpenInDashboard.tsx @@ -9,6 +9,14 @@ import { dashboardsQueryOptions, } from "@/components/Dashboard/queries" import { Button } from "@/components/ui/button" +import { + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from "@/components/ui/command" import { Popover, PopoverContent, @@ -78,39 +86,46 @@ export function OpenInDashboard({ Open in dashboard - - {flow && !hasResults && ( - - )} - {dashboards.map((one) => ( - - ))} - {dashboards.length === 0 && !flow && ( -

- No dashboards yet. -

- )} + + + + + + {dashboards.length + ? "No dashboard by that name." + : "No dashboards yet."} + + {flow && !hasResults ? ( + + generate.mutate(flow)} + disabled={generate.isPending} + > + {generate.isPending + ? "Building…" + : `Build a results dashboard for ${flow}`} + + + ) : null} + + {dashboards.map((one) => ( + show(one.name)} + > + {one.title || one.name} + {one.name === results ? ( + + results + + ) : null} + + ))} + + + )