Added some error handles for recovery email settings section.

This commit is contained in:
23rd 2022-05-09 19:36:22 +03:00
parent bcbf009a62
commit a6d0367d71

View file

@ -68,8 +68,11 @@ void Email::setupContent() {
tr::lng_cloud_password_email(), tr::lng_cloud_password_email(),
currentStepDataEmail); currentStepDataEmail);
const auto newInput = wrap->entity(); const auto newInput = wrap->entity();
const auto error = AddError(content, nullptr);
QObject::connect(newInput, &Ui::InputField::changed, [=] {
error->hide();
});
AddSkipInsteadOfField(content); AddSkipInsteadOfField(content);
AddSkipInsteadOfError(content);
const auto send = [=](Fn<void()> close) { const auto send = [=](Fn<void()> close) {
Expects(!_requestLifetime); Expects(!_requestLifetime);
@ -91,9 +94,19 @@ void Email::setupContent() {
data.unconfirmedEmailLengthCode = d.unconfirmedEmailLengthCode; data.unconfirmedEmailLengthCode = d.unconfirmedEmailLengthCode;
setStepData(std::move(data)); setStepData(std::move(data));
showOther(CloudPasswordEmailConfirmId()); showOther(CloudPasswordEmailConfirmId());
}, [=](const QString &error) { }, [=](const QString &type) {
_requestLifetime.destroy(); _requestLifetime.destroy();
if (MTP::IsFloodError(type)) {
error->show();
error->setText(tr::lng_flood_error(tr::now));
} else if (type == u"EMAIL_INVALID"_q) {
error->show();
error->setText(tr::lng_cloud_password_bad_email(tr::now));
newInput->setFocus();
newInput->showError();
newInput->selectAll();
}
}, [=] { }, [=] {
_requestLifetime.destroy(); _requestLifetime.destroy();