mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-07 09:58:34 +00:00
fix(webui): explain disabled preset deletion
This commit is contained in:
parent
6f2512ce9a
commit
1b12fbae39
@ -3577,24 +3577,32 @@ function ModelsSettings({
|
||||
{tx("settings.actions.cancel", "Cancel")}
|
||||
</Button>
|
||||
) : selectedPreset ? (
|
||||
<Button
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
className="self-start rounded-full text-muted-foreground hover:text-destructive"
|
||||
disabled={selectedPresetOnlyActive || saving || orderSaving}
|
||||
title={
|
||||
selectedPresetOnlyActive
|
||||
? tx(
|
||||
"settings.models.removeBeforeDelete",
|
||||
"Remove this preset from the call order before deleting it.",
|
||||
)
|
||||
: undefined
|
||||
}
|
||||
onClick={() => onDeleteConfiguration(selectedPreset)}
|
||||
>
|
||||
<Trash2 className="mr-1.5 h-3.5 w-3.5" aria-hidden />
|
||||
{tx("settings.actions.delete", "Delete")}
|
||||
</Button>
|
||||
<div className="flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1">
|
||||
<Button
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
className="rounded-full text-muted-foreground hover:text-destructive"
|
||||
disabled={selectedPresetOnlyActive || saving || orderSaving}
|
||||
aria-describedby={
|
||||
selectedPresetOnlyActive ? "model-preset-delete-hint" : undefined
|
||||
}
|
||||
onClick={() => onDeleteConfiguration(selectedPreset)}
|
||||
>
|
||||
<Trash2 className="mr-1.5 h-3.5 w-3.5" aria-hidden />
|
||||
{tx("settings.actions.delete", "Delete")}
|
||||
</Button>
|
||||
{selectedPresetOnlyActive ? (
|
||||
<span
|
||||
id="model-preset-delete-hint"
|
||||
className="text-[11px] leading-4 text-muted-foreground"
|
||||
>
|
||||
{tx(
|
||||
"settings.models.removeBeforeDelete",
|
||||
"Remove this preset from the call order before deleting it.",
|
||||
)}
|
||||
</span>
|
||||
) : null}
|
||||
</div>
|
||||
) : null}
|
||||
<div className="flex items-center justify-end gap-3">
|
||||
<Button
|
||||
|
||||
@ -2169,7 +2169,12 @@ describe("SettingsView Apps catalog", () => {
|
||||
expect(row.nextElementSibling).toBe(editor);
|
||||
expect(editor).toHaveClass("slide-in-from-top-1", "bg-muted/10");
|
||||
expect(within(editor).getByDisplayValue("Primary")).toBeInTheDocument();
|
||||
expect(within(editor).getByRole("button", { name: "Delete" })).toBeDisabled();
|
||||
const deleteButton = within(editor).getByRole("button", { name: "Delete" });
|
||||
expect(deleteButton).toBeDisabled();
|
||||
expect(deleteButton).toHaveAttribute("aria-describedby", "model-preset-delete-hint");
|
||||
expect(
|
||||
within(editor).getByText("Remove this preset from the call order before deleting it."),
|
||||
).toBeInTheDocument();
|
||||
|
||||
fireEvent.click(trigger);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user