From dfb90f48ed3730136562df0cccaedf2358b0dbe6 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 25 Jan 2026 11:07:46 +0800 Subject: [PATCH] fix(auth): add missing verification code input fields --- src/app/(auth)/register/RegisterContent.tsx | 86 +++++++++++++++------ 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/src/app/(auth)/register/RegisterContent.tsx b/src/app/(auth)/register/RegisterContent.tsx index a77e2d6..215a341 100644 --- a/src/app/(auth)/register/RegisterContent.tsx +++ b/src/app/(auth)/register/RegisterContent.tsx @@ -312,8 +312,8 @@ export default function RegisterContent() { setIsSubmitting(true) showStatus( t.form.validation?.submitting ?? - t.form.submitting ?? - 'Submitting registration request…', + t.form.submitting ?? + 'Submitting registration request…', ) try { @@ -383,9 +383,9 @@ export default function RegisterContent() { setIsSubmitting(true) showStatus( t.form.validation?.verifying ?? - t.form.verifying ?? - t.form.verifySubmit ?? - t.form.submit, + t.form.verifying ?? + t.form.verifySubmit ?? + t.form.submit, ) try { @@ -447,9 +447,9 @@ export default function RegisterContent() { setIsSubmitting(true) showStatus( t.form.validation?.completing ?? - t.form.completing ?? - t.form.completeSubmit ?? - t.form.submit, + t.form.completing ?? + t.form.completeSubmit ?? + t.form.submit, ) try { @@ -687,16 +687,16 @@ export default function RegisterContent() { if (isVerified) { messages.push( validationHints?.completing ?? - t.form.completing ?? - t.form.completeSubmit ?? - t.form.submit, + t.form.completing ?? + t.form.completeSubmit ?? + t.form.submit, ) } else if (isVerificationStep) { messages.push( validationHints?.verifying ?? - t.form.verifying ?? - t.form.verifySubmit ?? - t.form.submit, + t.form.verifying ?? + t.form.verifySubmit ?? + t.form.submit, ) } else { messages.push(validationHints?.submitting ?? t.form.submitting ?? t.form.submit) @@ -748,9 +748,9 @@ export default function RegisterContent() { if (codeDigits.some((digit) => !digit)) { messages.push( validationHints?.codeIncomplete ?? - alerts.codeRequired ?? - alerts.invalidCode ?? - alerts.missingFields, + alerts.codeRequired ?? + alerts.invalidCode ?? + alerts.missingFields, ) } @@ -761,9 +761,9 @@ export default function RegisterContent() { if (codeDigits.some((digit) => !digit)) { messages.push( validationHints?.codeIncomplete ?? - alerts.codeRequired ?? - alerts.invalidCode ?? - alerts.missingFields, + alerts.codeRequired ?? + alerts.invalidCode ?? + alerts.missingFields, ) } @@ -880,11 +880,47 @@ export default function RegisterContent() {

) : null} {hasRequestedCode && !isVerified ? ( -
- 我们已向你的邮箱发送一封验证邮件,点击邮件中的链接即可完成注册。 - 验证链接有效期 10 分钟。 -
- 若未收到邮件,请检查垃圾箱或稍后重试。 +
+
+ 我们已向你的邮箱发送一封验证邮件,点击邮件中的链接即可完成注册。 + 验证链接有效期 10 分钟。 +
+ 若未收到邮件,请检查垃圾箱或稍后重试。 +
+ +
+ {codeDigits.map((digit, index) => ( + { + codeInputRefs.current[index] = el + }} + id={`verification-code-${index}`} + name={`verification-code-${index}`} + type="text" + inputMode="numeric" + autoComplete="one-time-code" + pattern="\d{1}" + maxLength={1} + className="h-12 w-full rounded-xl border border-slate-200 bg-white/90 text-center text-lg font-semibold text-slate-900 shadow-sm transition focus:border-sky-500 focus:outline-none focus:ring-2 focus:ring-sky-200" + value={digit} + onChange={(e) => handleCodeChange(index, e.target.value)} + onKeyDown={(e) => handleCodeKeyDown(index, e)} + onPaste={(e) => index === 0 && handleCodePaste(0, e)} + /> + ))} +
+ +
+ +
) : null}