chore: disable spellcheck in model search (#8889)
This commit is contained in:
@@ -12,6 +12,7 @@ import { useProviderInventoryStore } from "@/features/providers/stores/providerI
|
|||||||
import { cn } from "@/shared/lib/cn";
|
import { cn } from "@/shared/lib/cn";
|
||||||
import { Button } from "@/shared/ui/button";
|
import { Button } from "@/shared/ui/button";
|
||||||
import { Popover, PopoverContent, PopoverTrigger } from "@/shared/ui/popover";
|
import { Popover, PopoverContent, PopoverTrigger } from "@/shared/ui/popover";
|
||||||
|
import { SearchBar } from "@/shared/ui/SearchBar";
|
||||||
import { ScrollArea } from "@/shared/ui/scroll-area";
|
import { ScrollArea } from "@/shared/ui/scroll-area";
|
||||||
import { Spinner } from "@/shared/ui/spinner";
|
import { Spinner } from "@/shared/ui/spinner";
|
||||||
import {
|
import {
|
||||||
@@ -244,17 +245,14 @@ function AllModelsList({
|
|||||||
>
|
>
|
||||||
<IconChevronLeft className="size-4" />
|
<IconChevronLeft className="size-4" />
|
||||||
</button>
|
</button>
|
||||||
<div className="relative min-w-0 flex-1">
|
<SearchBar
|
||||||
<IconSearch className="pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground" />
|
inputRef={inputRef}
|
||||||
<input
|
size="small"
|
||||||
ref={inputRef}
|
value={query}
|
||||||
type="text"
|
onChange={setQuery}
|
||||||
value={query}
|
placeholder={t("toolbar.searchModels")}
|
||||||
onChange={(e) => setQuery(e.target.value)}
|
className="min-w-0 flex-1"
|
||||||
placeholder={t("toolbar.searchModels")}
|
/>
|
||||||
className="h-7 w-full rounded-sm border bg-transparent pl-7 pr-2 text-sm outline-none placeholder:text-muted-foreground focus:ring-1 focus:ring-ring"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{filtered.length > 0 ? (
|
{filtered.length > 0 ? (
|
||||||
<ScrollArea className="min-h-0 min-w-0 flex-1">
|
<ScrollArea className="min-h-0 min-w-0 flex-1">
|
||||||
|
|||||||
@@ -129,6 +129,34 @@ describe("AgentModelPicker", () => {
|
|||||||
expect(longModelButton).toHaveClass("overflow-hidden");
|
expect(longModelButton).toHaveClass("overflow-hidden");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("disables spellcheck in the all-models search field", async () => {
|
||||||
|
const user = userEvent.setup();
|
||||||
|
|
||||||
|
render(
|
||||||
|
<AgentModelPicker
|
||||||
|
agents={AGENTS}
|
||||||
|
selectedAgentId="goose"
|
||||||
|
onAgentChange={vi.fn()}
|
||||||
|
currentModelId="claude-sonnet-4"
|
||||||
|
currentModelName="Claude Sonnet 4"
|
||||||
|
availableModels={[
|
||||||
|
{ id: "claude-sonnet-4", name: "Claude Sonnet 4", recommended: true },
|
||||||
|
{ id: "gpt-4o-mini-2024-07-18", name: "GPT-4o mini" },
|
||||||
|
]}
|
||||||
|
onModelChange={vi.fn()}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
|
||||||
|
await user.click(
|
||||||
|
screen.getByRole("button", { name: /choose agent and model/i }),
|
||||||
|
);
|
||||||
|
await user.click(screen.getByRole("button", { name: "Browse all models" }));
|
||||||
|
|
||||||
|
const search = screen.getByPlaceholderText("Search models...");
|
||||||
|
|
||||||
|
expect(search).toHaveAttribute("spellcheck", "false");
|
||||||
|
});
|
||||||
|
|
||||||
it("shows only agent name when no model info is available", () => {
|
it("shows only agent name when no model info is available", () => {
|
||||||
render(
|
render(
|
||||||
<AgentModelPicker
|
<AgentModelPicker
|
||||||
|
|||||||
Reference in New Issue
Block a user