From 18adb8f251253e2d2b83d0de397d960b5fec8eef Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Mon, 22 Jun 2026 01:40:22 -0700 Subject: [PATCH] feat(dashboard): add Todos and Pull Requests to the right dock Both render inline in the dock; Todos is gated by the todosEnabled flag. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../app/components/overflowViewRegistry.tsx | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/packages/dashboard/app/components/overflowViewRegistry.tsx b/packages/dashboard/app/components/overflowViewRegistry.tsx index 83a41bce75..ae60aad315 100644 --- a/packages/dashboard/app/components/overflowViewRegistry.tsx +++ b/packages/dashboard/app/components/overflowViewRegistry.tsx @@ -1,8 +1,10 @@ import { Suspense, lazy, type ComponentType, type ReactNode } from "react"; import { Activity, + CheckSquare, Folder, GitBranch, + GitPullRequest, History, Lock, Monitor, @@ -27,6 +29,8 @@ Dev Server and Secrets are right-dock tools (moved off the left sidebar). They r */ const DevServerView = lazy(() => import("./DevServerView").then((m) => ({ default: m.DevServerView }))); const SecretsView = lazy(() => import("./SecretsView").then((m) => ({ default: m.SecretsView }))); +const TodoView = lazy(() => import("./TodoView").then((m) => ({ default: m.TodoView }))); +const PullRequestView = lazy(() => import("./PullRequestView").then((m) => ({ default: m.PullRequestView }))); export type OverflowViewKey = | "usage" @@ -35,6 +39,8 @@ export type OverflowViewKey = | "files" | "devserver" | "secrets" + | "todos" + | "pull-requests" | `plugin:${string}:${string}`; export interface OverflowViewFeatureState { @@ -174,6 +180,28 @@ export const STATIC_OVERFLOW_VIEW_ENTRIES: readonly OverflowViewEntry[] = [ testId: "right-dock-tab-secrets", render: (props) => wrapOverflowView(), }, + { + key: "todos", + label: "Todos", + icon: CheckSquare, + testId: "right-dock-tab-todos", + isVisible: (options) => options.todosEnabled === true, + render: (props) => wrapOverflowView( + , + ), + }, + { + key: "pull-requests", + label: "Pull Requests", + icon: GitPullRequest, + testId: "right-dock-tab-pull-requests", + render: (props) => wrapOverflowView(), + }, ]; function buildPluginOverflowViewEntries(pluginDashboardViews: PluginDashboardViewEntry[] = []): OverflowViewEntry[] {