Skip to content

Commit a8ed165

Browse files
committed
fix(webapp): Investigate button wears the chat's magnifier; queue page orders Investigate before Watch
1 parent 4802e81 commit a8ed165

2 files changed

Lines changed: 12 additions & 14 deletions

File tree

  • apps/webapp/app

apps/webapp/app/components/dashboard-agent/InvestigateButton.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { MagnifyingGlassIcon } from "@heroicons/react/20/solid";
12
import { Button } from "~/components/primitives/Buttons";
2-
import { AgentIcon, AGENT_ICON_ACCENT_CLASS } from "./agent-identity";
33
import { useDashboardAgent } from "./dashboardAgentLauncher";
44

55
/**
@@ -9,9 +9,8 @@ import { useDashboardAgent } from "./dashboardAgentLauncher";
99
* Renders nothing when the agent isn't available (no provider, or gated off) —
1010
* every entry point self-hides, so callers don't need their own gate.
1111
*
12-
* Icon and accent come from `agent-identity`, which the launcher and the
13-
* "Ask {agent}" menu item read too — so every agent surface is one recognisable
14-
* thing, and the character icon design is drawing lands on all of them at once.
12+
* The magnifier matches the chat's investigate chip — like the Watch button's
13+
* eye, the glyph names the action, not the agent.
1514
*/
1615
export function InvestigateButton({
1716
prompt,
@@ -41,10 +40,9 @@ export function InvestigateButton({
4140
<Button
4241
type="button"
4342
variant={`${variant}/${size}`}
44-
LeadingIcon={AgentIcon}
45-
// A primary button is already accented, so the icon stays on its own
46-
// foreground there; everywhere else it carries the agent's accent.
47-
leadingIconClassName={variant === "primary" ? undefined : AGENT_ICON_ACCENT_CLASS}
43+
LeadingIcon={MagnifyingGlassIcon}
44+
// A primary button is already accented; everywhere else the glyph stays quiet.
45+
leadingIconClassName={variant === "primary" ? undefined : "text-text-dimmed"}
4846
fullWidth={fullWidth}
4947
textAlignLeft={fullWidth}
5048
className={className}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.queues_.$queueParam/route.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,11 +342,6 @@ export default function Page() {
342342
maxPeriodDays={maxPeriodDays}
343343
shortcut={{ key: "d" }}
344344
/>
345-
{/* The universal `Watch…` entry, pre-filled with this queue's
346-
recommendation: when it drains, or — when runs are already waiting
347-
past the threshold this page tints at — when the wait crosses the
348-
SLA. Same signal the Investigate button derives `degraded` from. */}
349-
<WatchButton spec={queueWatchRecommendation(queue.name, { oldestWaitMs })} />
350345
<QueueOverrideConcurrencyButton
351346
queue={queue}
352347
environmentConcurrencyLimit={environmentConcurrencyLimit}
@@ -357,13 +352,18 @@ export default function Page() {
357352
variant="secondary/small"
358353
withQueueName
359354
/>
360-
{/* Hand a backed-up queue to the agent. Hidden when the agent isn't available. */}
355+
{/* The agent pair, Investigate then Watch. Both self-hide without the
356+
agent. Investigate: hand a backed-up queue over. Watch: the
357+
universal entry, pre-filled with this queue's recommendation —
358+
if runs start waiting past the SLA, or, when they already are
359+
(the same signal `degraded` comes from), when the queue drains. */}
361360
{degraded ? (
362361
<InvestigateButton
363362
prompt={queueBacklogPrompt(queue.name)}
364363
tooltip="Ask why this queue is backed up"
365364
/>
366365
) : null}
366+
<WatchButton spec={queueWatchRecommendation(queue.name, { oldestWaitMs })} />
367367
</div>
368368
</MetricsLayout.Filters>
369369

0 commit comments

Comments
 (0)