diff --git a/Marechai.App/Presentation/ViewModels/LoginViewModel.cs b/Marechai.App/Presentation/ViewModels/LoginViewModel.cs index a835e393..f2787d4e 100644 --- a/Marechai.App/Presentation/ViewModels/LoginViewModel.cs +++ b/Marechai.App/Presentation/ViewModels/LoginViewModel.cs @@ -45,14 +45,6 @@ public partial class LoginViewModel : ObservableObject [ObservableProperty] private string _recoveryCode = string.Empty; - /// - /// when the last login attempt's password was correct but the account's - /// email address has not yet been confirmed. Surfaces the "Resend confirmation email" link in the - /// UI. - /// - [ObservableProperty] - private bool _emailNotConfirmed; - public bool HasMultipleMethods => AvailableMethods.Count > 1; public bool ShowSendEmailButton => !RecoveryMode && SelectedProvider == "email"; @@ -89,8 +81,6 @@ public partial class LoginViewModel : ObservableObject try { - EmailNotConfirmed = false; - var credentials = new Dictionary { ["Email"] = Email, @@ -107,19 +97,6 @@ public partial class LoginViewModel : ObservableObject return; } - // Did the server signal that email confirmation is required? - if(credentials.TryGetValue("emailNotConfirmed", out string? notConfirmed) && notConfirmed == "true") - { - EmailNotConfirmed = true; - - if(credentials.TryGetValue("error", out string? unconfirmedError)) - ErrorMessage = unconfirmedError; - else - ErrorMessage = _stringLocalizer["LoginPage.Error.EmailNotConfirmed"]; - - return; - } - // Did the server signal that a 2FA step is required? if(credentials.TryGetValue("requiresTwoFactor", out string? flag) && flag == "true" && credentials.TryGetValue("twoFactorToken", out string? token)) diff --git a/Marechai.App/Presentation/Views/LoginPage.xaml b/Marechai.App/Presentation/Views/LoginPage.xaml index 5805ef41..c9266675 100644 --- a/Marechai.App/Presentation/Views/LoginPage.xaml +++ b/Marechai.App/Presentation/Views/LoginPage.xaml @@ -256,8 +256,7 @@ + HorizontalAlignment="Center" /> diff --git a/Marechai.App/Services/Authentication/AuthService.cs b/Marechai.App/Services/Authentication/AuthService.cs index 0273f78a..551a2a81 100644 --- a/Marechai.App/Services/Authentication/AuthService.cs +++ b/Marechai.App/Services/Authentication/AuthService.cs @@ -89,16 +89,6 @@ public sealed class AuthService if(string.IsNullOrWhiteSpace(authResponse?.Token)) { - // Email not yet confirmed: bubble up so the LoginViewModel can show a "resend confirmation" - // affordance. Same sentinel-key transport convention as the two-factor signal below. - if(authResponse?.EmailNotConfirmed == true) - { - credentials["emailNotConfirmed"] = "true"; - credentials["error"] = stringLocalizer["LoginPage.Error.EmailNotConfirmed"]; - - return false; - } - // Two-factor required: bubble up the pending token + available methods so the LoginViewModel can // swap to the 2FA prompt. We deliberately return false (the ITokenService still has no usable token) // and use sentinel keys in the credentials dictionary as the only available transport.