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)}/> + )