circle-play for the background job button, at full strength
White rather than muted, 18px rather than 16. Its neighbours on that row are pickers — they report what is already selected — and this is the only control there that does something, so it should not be wearing the same recessive grey as a label. The glyph was a radio tower, chosen because a play button implies one-shot. That reasoning was too clever: most of what gets started here is a long-running process, and a watcher is still something you press start on. Recognisable beats precise at this size. The dialog's own title icon changes with it. A button and the thing it opens wearing different glyphs is a small lie about them being the same feature. tsgo clean, frontend builds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { Radio } from 'lucide-react';
|
import { CirclePlay } from 'lucide-react';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
@@ -87,7 +87,7 @@ export const BackgroundJobDialog = ({ open, onOpenChange, cwd, onSubmit }: Backg
|
|||||||
<DialogContent className="sm:max-w-lg">
|
<DialogContent className="sm:max-w-lg">
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle className="flex items-center gap-2">
|
<DialogTitle className="flex items-center gap-2">
|
||||||
<Radio className="h-4 w-4" />
|
<CirclePlay className="h-4 w-4" />
|
||||||
Background job
|
Background job
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { Radio } from 'lucide-react';
|
import { CirclePlay } from 'lucide-react';
|
||||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
||||||
import type { ModelOption } from 'state/useModels';
|
import type { ModelOption } from 'state/useModels';
|
||||||
import { getProviderDisplayName } from 'state/useModels';
|
import { getProviderDisplayName } from 'state/useModels';
|
||||||
@@ -126,15 +126,21 @@ export function ModelSelector({
|
|||||||
)}
|
)}
|
||||||
{/* Background job. Sits between the harness (left) and the model (right), in the gap
|
{/* Background job. Sits between the harness (left) and the model (right), in the gap
|
||||||
`justify-between` already leaves — session-level, like its neighbours, rather than about the
|
`justify-between` already leaves — session-level, like its neighbours, rather than about the
|
||||||
message being typed. `Radio` because it listens; a play button would imply one-shot. */}
|
message being typed.
|
||||||
|
|
||||||
|
Full-strength and a size up, unlike its muted neighbours: those are pickers reporting what is
|
||||||
|
already set, and this is the one control on this row that DOES something. The earlier glyph was
|
||||||
|
a radio tower, on the reasoning that a play button implies one-shot — but most of what gets
|
||||||
|
started here is a long-running process, and a watcher is still something you press start on.
|
||||||
|
Recognisable beats precise at 18px. */}
|
||||||
{onBackgroundJob && (
|
{onBackgroundJob && (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={onBackgroundJob}
|
onClick={onBackgroundJob}
|
||||||
title="Start a background job or watcher"
|
title="Start a background job or watcher"
|
||||||
className="shrink-0 rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-foreground/10 hover:text-foreground cursor-pointer"
|
className="shrink-0 cursor-pointer rounded-md p-1.5 text-foreground transition-colors hover:bg-foreground/10"
|
||||||
>
|
>
|
||||||
<Radio className="h-4 w-4" />
|
<CirclePlay className="h-[18px] w-[18px]" />
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
{/* The thinking toggle used to render here. It is gone because it did nothing: `thinking` is
|
{/* The thinking toggle used to render here. It is gone because it did nothing: `thinking` is
|
||||||
|
|||||||
Reference in New Issue
Block a user