From 3a862856c316c0b10f9699696d3140d4df550ba9 Mon Sep 17 00:00:00 2001 From: Snowykami Date: Sat, 20 Sep 2025 14:49:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E7=9A=84=E5=8A=A0=E8=BD=BD=E7=8A=B6=E6=80=81?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/console/user-profile/index.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web/src/components/console/user-profile/index.tsx b/web/src/components/console/user-profile/index.tsx index d0fa3c0..031e1a7 100644 --- a/web/src/components/console/user-profile/index.tsx +++ b/web/src/components/console/user-profile/index.tsx @@ -32,6 +32,7 @@ export function UserProfilePage() { const [username, setUsername] = useState(user?.username || '') const [avatarFile, setAvatarFile] = useState(null) const [avatarFileUrl, setAvatarFileUrl] = useState(null) // 这部分交由useEffect控制,监听 avatarFile 变化 + const [submitting, setSubmitting] = useState(false) const [gender, setGender] = useState(user?.gender || '') @@ -101,6 +102,7 @@ export function UserProfilePage() { } let avatarUrl = user.avatarUrl; + setSubmitting(true); (async () => { if (avatarFile) { try { @@ -119,8 +121,11 @@ export function UserProfilePage() { window.location.reload(); } catch (error: unknown) { toast.error(`Failed to update profile ${error}`); + } finally { + setSubmitting(false); } })(); + } const handleCropped = (blob: Blob) => { @@ -157,8 +162,8 @@ export function UserProfilePage() { setUsername(e.target.value)} /> - setGender(e.target.value)} /> - + setGender(e.target.value)}/> + )