fix: 修复 login 表单的 enter 覆盖问题

This commit is contained in:
claude-code-best
2026-04-06 11:28:01 +08:00
parent 3923af4834
commit 919011a372

View File

@@ -689,11 +689,12 @@ function OAuthStatusMessage({
const handleEnter = useCallback(() => {
const idx = FIELDS.indexOf(activeField)
setOAuthStatus(buildState(activeField, inputValue))
if (idx === FIELDS.length - 1) {
setOAuthStatus(buildState(activeField, inputValue))
doSave()
} else {
const next = FIELDS[idx + 1]!
setOAuthStatus(buildState(activeField, inputValue, next))
setInputValue(displayValues[next] ?? '')
setInputCursorOffset((displayValues[next] ?? '').length)
}
@@ -885,11 +886,12 @@ function OAuthStatusMessage({
const handleOpenAIEnter = useCallback(() => {
const idx = OPENAI_FIELDS.indexOf(activeField)
setOAuthStatus(buildOpenAIState(activeField, openaiInputValue))
if (idx === OPENAI_FIELDS.length - 1) {
setOAuthStatus(buildOpenAIState(activeField, openaiInputValue))
doOpenAISave()
} else {
const next = OPENAI_FIELDS[idx + 1]!
setOAuthStatus(buildOpenAIState(activeField, openaiInputValue, next))
setOpenaiInputValue(openaiDisplayValues[next] ?? '')
setOpenaiInputCursorOffset((openaiDisplayValues[next] ?? '').length)
}
@@ -1117,11 +1119,12 @@ function OAuthStatusMessage({
const handleGeminiEnter = useCallback(() => {
const idx = GEMINI_FIELDS.indexOf(activeField)
setOAuthStatus(buildGeminiState(activeField, geminiInputValue))
if (idx === GEMINI_FIELDS.length - 1) {
setOAuthStatus(buildGeminiState(activeField, geminiInputValue))
doGeminiSave()
} else {
const next = GEMINI_FIELDS[idx + 1]!
setOAuthStatus(buildGeminiState(activeField, geminiInputValue, next))
setGeminiInputValue(geminiDisplayValues[next] ?? '')
setGeminiInputCursorOffset((geminiDisplayValues[next] ?? '').length)
}