Skip to content

Commit facc738

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 daaf9a8 commit facc738

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
ChevronsUpDown,
1313
Loader2,
14-
Play,
14+
Zap,
1515
// No VideoOff (the rework dropped CameraThumbnail for SessionCameraList) and
1616
// no Square (staging's RunVerbs replaced the Start/Stop pair).
1717
} from "lucide-react";
@@ -342,7 +342,11 @@ export const RunVerbs: React.FC<{
342342
)}
343343
>
344344
<span className="flex items-center gap-1.5 text-sm font-semibold">
345-
<Play className="h-3.5 w-3.5 shrink-0" />
345+
{/* The bolt is the shared "this drives the robot arm"
346+
affordance (lib/robotActions.ts): every verb here starts
347+
an inference session, so each one carries it. Icon only —
348+
`variant` stays the armed-state channel. */}
349+
<Zap className="h-3.5 w-3.5 shrink-0" />
346350
{busy && isActive
347351
? t("studio.deploy.actions.starting")
348352
: label(m.value)}

0 commit comments

Comments
 (0)