From 8a018a3c55cbaec7bb5085a5b227d2273a870951 Mon Sep 17 00:00:00 2001 From: Snowykami Date: Wed, 10 Sep 2025 21:51:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/login/login-form.tsx | 5 +++-- web/src/locales/zh-CN.json | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/web/src/components/login/login-form.tsx b/web/src/components/login/login-form.tsx index 0e641c7..b32204f 100644 --- a/web/src/components/login/login-form.tsx +++ b/web/src/components/login/login-form.tsx @@ -34,6 +34,7 @@ export function LoginForm({ } | null>(null) const [captchaToken, setCaptchaToken] = useState(null) const [captchaError, setCaptchaError] = useState(null) + const [isLogging, setIsLogging] = useState(false) const [refreshCaptchaKey, setRefreshCaptchaKey] = useState(0) const [{ username, password }, setCredentials] = useState({ username: '', password: '' }) const router = useRouter() @@ -164,9 +165,9 @@ export function LoginForm({ type="submit" className="w-full" onClick={handleLogin} - disabled={!captchaToken} + disabled={!captchaToken || isLogging} > - {t("login")} + {isLogging ? t("logging") : t("login")} diff --git a/web/src/locales/zh-CN.json b/web/src/locales/zh-CN.json index e6d9081..d880ad3 100644 --- a/web/src/locales/zh-CN.json +++ b/web/src/locales/zh-CN.json @@ -47,6 +47,7 @@ }, "Login": { "captcha_error": "验证错误,请重试。", + "logging": "正在登录...", "welcome": "欢迎回来", "with_oidc": "使用第三方身份提供者", "or_continue_with_local_account": "或使用用户名和密码",