From da5b7ff0afaf47d23a7ac76f86761e60f1a2f645 Mon Sep 17 00:00:00 2001 From: Val Alexander <68980965+BunsDev@users.noreply.github.com> Date: Mon, 23 Mar 2026 23:55:25 -0500 Subject: [PATCH] style(ui): polish agent file preview and usage popovers (#53382) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: make workspace links clickable in agent context card and files list Updated the agent context card and files list to render workspace names as clickable links, allowing users to easily access the corresponding workspace files. This enhances usability by providing direct navigation to the workspace location. * style(ui): polish markdown preview dialog * style(ui): reduce markdown preview list indentation * style(ui): update markdown preview dialog width and alignment * fix(ui): open usage filter popovers toward the right * style(ui): adjust positioning of usage filter and export popovers * style(ui): update sidebar footer padding and modify usage header z-index * style(ui): adjust positioning of usage filter popover to the left and export popover to the right * style(ui): simplify workspace link rendering in agent context card * UI: make workspace paths interactive buttons or plain text Agent Context card workspace (Channels/Cron panels): replace non-interactive
with a real +
Primary Model
@@ -140,6 +152,7 @@ export function renderAgentChannels(params: { error: string | null; lastSuccess: number | null; onRefresh: () => void; + onSelectPanel: (panel: AgentsPanel) => void; }) { const entries = resolveChannelEntries(params.snapshot); const lastSuccessLabel = params.lastSuccess @@ -147,7 +160,7 @@ export function renderAgentChannels(params: { : "never"; return html`
- ${renderAgentContextCard(params.context, "Workspace, identity, and model configuration.")} + ${renderAgentContextCard(params.context, "Workspace, identity, and model configuration.", params.onSelectPanel)}
@@ -247,11 +260,12 @@ export function renderAgentCron(params: { error: string | null; onRefresh: () => void; onRunNow: (jobId: string) => void; + onSelectPanel: (panel: AgentsPanel) => void; }) { const jobs = params.jobs.filter((job) => job.agentId === params.agentId); return html`
- ${renderAgentContextCard(params.context, "Workspace and scheduling targets.")} + ${renderAgentContextCard(params.context, "Workspace and scheduling targets.", params.onSelectPanel)}
diff --git a/ui/src/ui/views/agents.ts b/ui/src/ui/views/agents.ts index 4e8b9a065ba..eeb33b8b82c 100644 --- a/ui/src/ui/views/agents.ts +++ b/ui/src/ui/views/agents.ts @@ -318,6 +318,7 @@ export function renderAgents(props: AgentsProps) { error: props.channels.error, lastSuccess: props.channels.lastSuccess, onRefresh: props.onChannelsRefresh, + onSelectPanel: props.onSelectPanel, }) : nothing } @@ -338,6 +339,7 @@ export function renderAgents(props: AgentsProps) { error: props.cron.error, onRefresh: props.onCronRefresh, onRunNow: props.onCronRunNow, + onSelectPanel: props.onSelectPanel, }) : nothing } diff --git a/ui/src/ui/views/config.ts b/ui/src/ui/views/config.ts index fd60c4a5d41..5351c88581a 100644 --- a/ui/src/ui/views/config.ts +++ b/ui/src/ui/views/config.ts @@ -422,7 +422,7 @@ const SECTION_CATEGORIES: SectionCategory[] = [ id: "appearance", label: "Appearance", sections: [ - { key: "__appearance__", label: "Appearance" }, + { key: "__appearance__", label: "Theme" }, { key: "ui", label: "UI" }, { key: "wizard", label: "Setup Wizard" }, ],