fix(webui): make new preset row clickable

This commit is contained in:
Xubin Ren
2026-09-02 16:25:07 +08:00
parent 6b385a1da6
commit 7ba4bc02f0
2 changed files with 16 additions and 15 deletions
@@ -850,11 +850,9 @@ export function ModelsSettings({
})} })}
</div> </div>
{!creating ? ( {!creating ? (
<div className="flex min-h-[58px] flex-col gap-3 px-4 py-3 sm:flex-row sm:items-center sm:justify-between sm:px-5"> <button
<Button type="button"
size="sm" className="flex min-h-[58px] w-full items-center justify-between gap-3 px-4 py-3 text-left outline-none transition-colors hover:bg-muted/30 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 sm:px-5"
variant="ghost"
className="rounded-full"
disabled={callOrderBusy} disabled={callOrderBusy}
onClick={() => { onClick={() => {
setEditorRowKey(null); setEditorRowKey(null);
@@ -862,9 +860,10 @@ export function ModelsSettings({
onBeginCreate(); onBeginCreate();
}} }}
> >
<span className="inline-flex items-center text-[13px] font-medium">
<Plus className="mr-1.5 h-3.5 w-3.5" aria-hidden /> <Plus className="mr-1.5 h-3.5 w-3.5" aria-hidden />
{tx("settings.models.newPreset", "New model preset")} {tx("settings.models.newPreset", "New model preset")}
</Button> </span>
{orderSaving ? ( {orderSaving ? (
<SettingsStatusMessage> <SettingsStatusMessage>
<span className="inline-flex items-center gap-1.5"> <span className="inline-flex items-center gap-1.5">
@@ -873,7 +872,7 @@ export function ModelsSettings({
</span> </span>
</SettingsStatusMessage> </SettingsStatusMessage>
) : null} ) : null}
</div> </button>
) : null} ) : null}
{creating && editorOpen ? renderPresetEditor() : null} {creating && editorOpen ? renderPresetEditor() : null}
</> </>
+3 -1
View File
@@ -1440,7 +1440,9 @@ describe("Settings models", () => {
renderSettingsView({ initialSection: "models" }); renderSettingsView({ initialSection: "models" });
fireEvent.click(await screen.findByRole("button", { name: "New model preset" })); const createButton = await screen.findByRole("button", { name: "New model preset" });
expect(createButton).toHaveClass("w-full");
fireEvent.click(createButton);
expect(screen.queryByRole("dialog", { name: "New model preset" })).not.toBeInTheDocument(); expect(screen.queryByRole("dialog", { name: "New model preset" })).not.toBeInTheDocument();
expect(screen.getByTestId("model-preset-editor")).toHaveClass("mt-3", "mb-3"); expect(screen.getByTestId("model-preset-editor")).toHaveClass("mt-3", "mb-3");