patch login

This commit is contained in:
cheykrym 2025-12-04 02:17:23 +03:00
parent 0311e0f5b1
commit 0a162a5b2d
2 changed files with 24 additions and 23 deletions

View File

@ -1835,9 +1835,6 @@
}, },
"Подтвердить" : { "Подтвердить" : {
"comment" : "Кнопка подтверждения кода 2FA" "comment" : "Кнопка подтверждения кода 2FA"
},
"Подтвердить вход" : {
}, },
"Подтверждение email" : { "Подтверждение email" : {
"comment" : "Раздел подтверждения email" "comment" : "Раздел подтверждения email"
@ -2133,6 +2130,9 @@
}, },
"Проверьте цифры и попробуйте снова." : { "Проверьте цифры и попробуйте снова." : {
"comment" : "Описание ошибки неверного кода 2FA" "comment" : "Описание ошибки неверного кода 2FA"
},
"Проверяем код…" : {
}, },
"Продолжить" : { "Продолжить" : {

View File

@ -539,26 +539,16 @@ private struct PasswordlessVerifyView: View {
OTPInputView(code: $viewModel.verificationCode, isFocused: $isCodeFieldFocused) OTPInputView(code: $viewModel.verificationCode, isFocused: $isCodeFieldFocused)
// Button { if viewModel.isVerifyingCode {
// withAnimation { HStack(spacing: 8) {
// viewModel.verifyPasswordlessCode() ProgressView()
// } Text(NSLocalizedString("Проверяем код…", comment: ""))
// } label: { .font(.subheadline)
// if viewModel.isVerifyingCode { }
// ProgressView() .frame(maxWidth: .infinity)
// .frame(maxWidth: .infinity) .padding(.vertical, 4)
// .padding() .foregroundColor(.secondary)
// } else { }
// Text(NSLocalizedString("Подтвердить вход", comment: ""))
// .bold()
// .frame(maxWidth: .infinity)
// .padding()
// }
// }
// .foregroundColor(.white)
// .background(viewModel.canVerifyPasswordlessCode ? Color.blue : Color.gray)
// .cornerRadius(12)
// .disabled(!viewModel.canVerifyPasswordlessCode)
VStack(alignment: .leading, spacing: 8) { VStack(alignment: .leading, spacing: 8) {
Text(NSLocalizedString("Не получили код?", comment: "")) Text(NSLocalizedString("Не получили код?", comment: ""))
@ -619,6 +609,12 @@ private struct PasswordlessVerifyView: View {
isCodeFieldFocused = false isCodeFieldFocused = false
} }
} }
.onAppear {
triggerAutoVerificationIfNeeded()
}
.onChange(of: viewModel.verificationCode) { _ in
triggerAutoVerificationIfNeeded()
}
.loginErrorAlert(viewModel: viewModel) .loginErrorAlert(viewModel: viewModel)
} }
@ -640,6 +636,11 @@ private struct PasswordlessVerifyView: View {
} }
} }
} }
private func triggerAutoVerificationIfNeeded() {
guard viewModel.canVerifyPasswordlessCode else { return }
viewModel.verifyPasswordlessCode()
}
} }
private struct OTPInputView: View { private struct OTPInputView: View {