From ddfe7c99906bf717b33fa2faede164ffa89962ae Mon Sep 17 00:00:00 2001
From: jyxjjj <773933146@qq.com>
Date: Mon, 7 Sep 2026 09:20:30 +0800
Subject: [PATCH] fix(manage): return to list pages after saving editors
- Navigate to the corresponding storage, share, metadata, or user list after a successful save.
- Replace the editor history entry to avoid reopening the saved form with browser Back.
- Format the affected editor files with Prettier.
Co-authored-by: Codex <267193182+codex@users.noreply.github.com>
Signed-off-by: jyxjjj <16695261+jyxjjj@users.noreply.github.com>
---
src/pages/manage/metas/AddOrEdit.tsx | 12 ++++++------
src/pages/manage/shares/AddOrEdit.tsx | 4 ++--
src/pages/manage/storages/AddOrEdit.tsx | 4 ++--
src/pages/manage/users/AddOrEdit.tsx | 8 ++++----
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/pages/manage/metas/AddOrEdit.tsx b/src/pages/manage/metas/AddOrEdit.tsx
index 5e954e038..334392c1e 100644
--- a/src/pages/manage/metas/AddOrEdit.tsx
+++ b/src/pages/manage/metas/AddOrEdit.tsx
@@ -123,7 +123,7 @@ const AddOrEdit = () => {
}
const t = useT()
- const { params, back } = useRouter()
+ const { params, to } = useRouter()
const { id } = params
const [meta, setMeta] = createStore({
id: 0,
@@ -143,12 +143,12 @@ const AddOrEdit = () => {
header: "",
header_sub: false,
})
- const [metaLoading, loadMeta] = useFetch((): PResp =>
- r.get(`/admin/meta/get?id=${id}`),
+ const [metaLoading, loadMeta] = useFetch(
+ (): PResp => r.get(`/admin/meta/get?id=${id}`),
)
const [users, setUsers] = createSignal([])
- const [getUsersLoading, getUsers] = useFetch((): PPageResp =>
- r.get("/admin/user/list"),
+ const [getUsersLoading, getUsers] = useFetch(
+ (): PPageResp => r.get("/admin/user/list"),
)
const initEdit = async () => {
@@ -238,7 +238,7 @@ const AddOrEdit = () => {
// TODO maybe can use handleRrespWithNotifySuccess
handleResp(resp, () => {
notify.success(t("global.save_success"))
- back()
+ to("/@manage/metas", false, { replace: true })
})
}}
>
diff --git a/src/pages/manage/shares/AddOrEdit.tsx b/src/pages/manage/shares/AddOrEdit.tsx
index 49ec1b62f..a7c66b5d5 100644
--- a/src/pages/manage/shares/AddOrEdit.tsx
+++ b/src/pages/manage/shares/AddOrEdit.tsx
@@ -11,7 +11,7 @@ import { me } from "~/store"
const AddOrEdit = () => {
const t = useT()
- const { params, back, to } = useRouter()
+ const { params, to } = useRouter()
const { id } = params
const [shareLoading, loadShare] = useFetch(
(): PResp => r.get(`/share/get?id=${id}`),
@@ -192,7 +192,7 @@ const AddOrEdit = () => {
resp,
() => {
notify.success(t("global.save_success"))
- back()
+ to("/@manage/shares", false, { replace: true })
},
(_msg, _code) => {
if (resp.data.id) {
diff --git a/src/pages/manage/storages/AddOrEdit.tsx b/src/pages/manage/storages/AddOrEdit.tsx
index ecdf23fd5..6f64119a3 100644
--- a/src/pages/manage/storages/AddOrEdit.tsx
+++ b/src/pages/manage/storages/AddOrEdit.tsx
@@ -57,7 +57,7 @@ type Drivers = Record
const AddOrEdit = () => {
const t = useT()
- const { params, back, to } = useRouter()
+ const { params, to } = useRouter()
const { id } = params
const [driversLoading, loadDrivers] = useFetch(
(): PResp => r.get("/admin/driver/list"),
@@ -209,7 +209,7 @@ const AddOrEdit = () => {
resp,
() => {
notify.success(t("global.save_success"))
- back()
+ to("/@manage/storages", false, { replace: true })
},
(msg, code) => {
if (resp.data.id) {
diff --git a/src/pages/manage/users/AddOrEdit.tsx b/src/pages/manage/users/AddOrEdit.tsx
index 65bf8bfc3..05fa60bb4 100644
--- a/src/pages/manage/users/AddOrEdit.tsx
+++ b/src/pages/manage/users/AddOrEdit.tsx
@@ -45,7 +45,7 @@ const Permission = (props: {
const AddOrEdit = () => {
const t = useT()
- const { params, back } = useRouter()
+ const { params, to } = useRouter()
const { id } = params
const [user, setUser] = createStore({
id: 0,
@@ -58,8 +58,8 @@ const AddOrEdit = () => {
sso_id: "",
allow_ldap: false,
})
- const [userLoading, loadUser] = useFetch((): PResp =>
- r.get(`/admin/user/get?id=${id}`),
+ const [userLoading, loadUser] = useFetch(
+ (): PResp => r.get(`/admin/user/get?id=${id}`),
)
const initEdit = async () => {
@@ -169,7 +169,7 @@ const AddOrEdit = () => {
notify.success(t("global.save_success"))
if (user.username === me().username)
handleResp(await (r.get("/me") as PResp), setMe)
- back()
+ to("/@manage/users", false, { replace: true })
})
}}
>