refactor(webui): simplify preset save label

This commit is contained in:
Xubin Ren
2026-08-29 16:42:24 +08:00
parent f653c2ab42
commit 9ab1b409b0
13 changed files with 20 additions and 20 deletions
@@ -546,7 +546,7 @@ export function ModelsSettings({
>
{saving || creatingSaving
? tx("settings.actions.saving", "Saving...")
: tx("settings.actions.savePreset", "Save preset")}
: tx("settings.actions.savePreset", "Save")}
</Button>
</div>
</div>
+1 -1
View File
@@ -483,7 +483,7 @@
"save": "Save",
"saving": "Saving",
"saveOrder": "Save order",
"savePreset": "Save preset",
"savePreset": "Save",
"edit": "Edit",
"delete": "Delete",
"deleting": "Deleting...",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "Guardar",
"saving": "Guardando",
"saveOrder": "Guardar orden",
"savePreset": "Guardar preajuste",
"savePreset": "Guardar",
"delete": "Eliminar",
"deleting": "Eliminando...",
"edit": "Editar",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "Enregistrer",
"saving": "Enregistrement",
"saveOrder": "Enregistrer lordre",
"savePreset": "Enregistrer le préréglage",
"savePreset": "Enregistrer",
"delete": "Supprimer",
"deleting": "Suppression...",
"edit": "Modifier",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "Simpan",
"saving": "Menyimpan",
"saveOrder": "Simpan urutan",
"savePreset": "Simpan prasetel",
"savePreset": "Simpan",
"delete": "Hapus",
"deleting": "Menghapus...",
"edit": "Ubah",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "保存",
"saving": "保存中",
"saveOrder": "順序を保存",
"savePreset": "プリセットを保存",
"savePreset": "保存",
"delete": "削除",
"deleting": "削除中...",
"edit": "編集",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "저장",
"saving": "저장 중",
"saveOrder": "순서 저장",
"savePreset": "프리셋 저장",
"savePreset": "저장",
"delete": "삭제",
"deleting": "삭제 중...",
"edit": "편집",
+1 -1
View File
@@ -483,7 +483,7 @@
"save": "Salvar",
"saving": "Salvando",
"saveOrder": "Salvar ordem",
"savePreset": "Salvar predefinição",
"savePreset": "Salvar",
"delete": "Excluir",
"deleting": "Excluindo...",
"edit": "Editar",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "Lưu",
"saving": "Đang lưu",
"saveOrder": "Lưu thứ tự",
"savePreset": "Lưu cấu hình đặt trước",
"savePreset": "Lưu",
"delete": "Xóa",
"deleting": "Đang xóa...",
"edit": "Sửa",
+1 -1
View File
@@ -483,7 +483,7 @@
"save": "保存",
"saving": "正在保存",
"saveOrder": "保存顺序",
"savePreset": "保存预设",
"savePreset": "保存",
"edit": "编辑",
"delete": "删除",
"deleting": "正在删除...",
+1 -1
View File
@@ -271,7 +271,7 @@
"save": "儲存",
"saving": "正在儲存",
"saveOrder": "儲存順序",
"savePreset": "儲存預設",
"savePreset": "儲存",
"delete": "刪除",
"deleting": "正在刪除…",
"edit": "編輯",
+1 -1
View File
@@ -2531,7 +2531,7 @@ describe("App layout", () => {
).toBe(true);
await user.click(screen.getByRole("button", { name: "Select model" }));
await user.click(await screen.findByRole("option", { name: /openai\/gpt-4o-mini/ }));
expect(screen.getByRole("button", { name: "Save preset" })).toBeEnabled();
expect(screen.getByRole("button", { name: "Save" })).toBeEnabled();
fireEvent.click(screen.getByRole("button", { name: "Cancel" }));
expect(screen.queryByText("Up to date.")).not.toBeInTheDocument();
fireEvent.click(
+8 -8
View File
@@ -141,7 +141,7 @@ describe("Settings models", () => {
fireEvent.change(screen.getByLabelText("Temperature"), {
target: { value: "0.4" },
});
fireEvent.click(screen.getByRole("button", { name: "Save preset" }));
fireEvent.click(screen.getByRole("button", { name: "Save" }));
await waitFor(() => {
expect(requestMutationMock).toHaveBeenCalledWith(
@@ -173,7 +173,7 @@ describe("Settings models", () => {
const nameInput = screen.getByRole("textbox", { name: "Preset name" });
fireEvent.change(nameInput, { target: { value: "Codex" } });
fireEvent.click(screen.getByRole("button", { name: "Save preset" }));
fireEvent.click(screen.getByRole("button", { name: "Save" }));
await waitFor(() => {
expect(requestMutationMock).toHaveBeenCalledWith(
@@ -196,7 +196,7 @@ describe("Settings models", () => {
const nameInput = screen.getByRole("textbox", { name: "Preset name" });
fireEvent.change(nameInput, { target: { value: "Codex" } });
fireEvent.click(screen.getByRole("button", { name: "Save preset" }));
fireEvent.click(screen.getByRole("button", { name: "Save" }));
expect(await screen.findByRole("alert")).toHaveTextContent(
"A preset with this name already exists.",
@@ -368,7 +368,7 @@ describe("Settings models", () => {
expect(screen.queryByRole("button", { name: "Save order" })).not.toBeInTheDocument();
expect(screen.getByLabelText("Temperature")).toHaveValue(0.4);
expect(screen.getByRole("button", { name: "Save preset" })).toBeEnabled();
expect(screen.getByRole("button", { name: "Save" })).toBeEnabled();
});
it("keeps repeated fallback preset rows stable when changing the primary preset", async () => {
@@ -604,7 +604,7 @@ describe("Settings models", () => {
);
fireEvent.click(screen.getByRole("button", { name: "New model preset" }));
expect(screen.queryByRole("dialog", { name: "New model preset" })).not.toBeInTheDocument();
expect(screen.getByRole("button", { name: "Save preset" })).toBeDisabled();
expect(screen.getByRole("button", { name: "Save" })).toBeDisabled();
expect(
screen.queryByText("Complete the preset before saving."),
).not.toBeInTheDocument();
@@ -619,7 +619,7 @@ describe("Settings models", () => {
target: { value: "openai/gpt-4o-mini" },
});
fireEvent.keyDown(modelSearch, { key: "Enter" });
const saveButton = screen.getByRole("button", { name: "Save preset" });
const saveButton = screen.getByRole("button", { name: "Save" });
expect(saveButton).toBeEnabled();
fireEvent.click(saveButton);
@@ -656,7 +656,7 @@ describe("Settings models", () => {
});
fireEvent.change(modelSearch, { target: { value: "openai/gpt-4o-mini" } });
fireEvent.keyDown(modelSearch, { key: "Enter" });
fireEvent.click(screen.getByRole("button", { name: "Save preset" }));
fireEvent.click(screen.getByRole("button", { name: "Save" }));
expect(requestMutationMock).not.toHaveBeenCalled();
expect(nameInput).toHaveAttribute("aria-invalid", "true");
@@ -1499,7 +1499,7 @@ describe("Settings models", () => {
fireEvent.change(screen.getByLabelText("Reasoning effort"), {
target: { value: "provider-native-mode" },
});
fireEvent.click(screen.getByRole("button", { name: "Save preset" }));
fireEvent.click(screen.getByRole("button", { name: "Save" }));
await waitFor(() =>
expect(fetchMock).toHaveBeenCalledWith(