Skip to content

Commit a2d3657

Browse files
Mokuroh54claude
andcommitted
feat(ui): the deploy panel's run verbs carry the arm-driving bolt
The coaching work replaced the panel's Start/Stop pair with RunVerbs, whose three verbs all start an inference session. Their `variant` is the armed-state channel and their `title` carries the blocked reason, so they cannot take RobotActionButton; the shared affordance rides on the icon alone: the Play glyph inside each label becomes the bolt from lib/robotActions.ts. Variants, title, aria-disabled and the ring are untouched, and RunVerbs.test.tsx asserts nothing about the icon. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent cd573d0 commit a2d3657

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

frontend/src/components/studio/DeployPanel.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
AlertTriangle,
1212
Download,
1313
Loader2,
14-
Play,
14+
Zap,
1515
VideoOff,
1616
} from "lucide-react";
1717
import { Button } from "@/components/ui/button";
@@ -353,7 +353,11 @@ export const RunVerbs: React.FC<{
353353
)}
354354
>
355355
<span className="flex items-center gap-1.5 text-sm font-semibold">
356-
<Play className="h-3.5 w-3.5 shrink-0" />
356+
{/* The bolt is the shared "this drives the robot arm"
357+
affordance (lib/robotActions.ts): every verb here starts
358+
an inference session, so each one carries it. Icon only —
359+
`variant` stays the armed-state channel. */}
360+
<Zap className="h-3.5 w-3.5 shrink-0" />
357361
{busy && isActive
358362
? t("studio.deploy.actions.starting")
359363
: label(m.value)}

0 commit comments

Comments
 (0)