fix: clear password form after async update
This commit is contained in:
parent
4b3e82568a
commit
789086830b
@ -39,12 +39,13 @@ export function AccountPanel() {
|
||||
|
||||
async function changePassword(event: FormEvent<HTMLFormElement>) {
|
||||
event.preventDefault();
|
||||
const form = event.currentTarget;
|
||||
setPasswordMessage("");
|
||||
const data = new FormData(event.currentTarget);
|
||||
const data = new FormData(form);
|
||||
const response = await fetch(`${apiBase}/auth/password/change`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": csrf }, body: JSON.stringify({ current_password: data.get("current_password"), new_password: data.get("new_password") }) });
|
||||
const body = await response.json().catch(() => ({}));
|
||||
if (!response.ok) setPasswordMessage(body.error?.message ?? "密码修改失败");
|
||||
else { setPasswordMessage("密码已修改,其他会话已撤销"); event.currentTarget.reset(); }
|
||||
else { setPasswordMessage("密码已修改,其他会话已撤销"); form.reset(); }
|
||||
}
|
||||
|
||||
if (error) return <div className="mt-8"><PreviewNotice>{error}。<Link className="text-cyan underline" href="/login">前往登录</Link></PreviewNotice></div>;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user