From 662789395fd5f4398052f616daa61b1219c2c253 Mon Sep 17 00:00:00 2001 From: Mateusz Skoczek Date: Sun, 29 Sep 2024 18:54:08 +0200 Subject: [PATCH] auth page renewed, fix in MainLayout --- WatchIt.Website/WatchIt.Website/App.razor | 2 +- .../WatchIt.Website/Layout/MainLayout.razor | 4 +- .../WatchIt.Website/Pages/AuthPage.razor | 152 +++++++++--------- .../WatchIt.Website/Pages/AuthPage.razor.cs | 67 ++++---- 4 files changed, 114 insertions(+), 111 deletions(-) diff --git a/WatchIt.Website/WatchIt.Website/App.razor b/WatchIt.Website/WatchIt.Website/App.razor index 35cf53c..2992e8c 100644 --- a/WatchIt.Website/WatchIt.Website/App.razor +++ b/WatchIt.Website/WatchIt.Website/App.razor @@ -11,7 +11,7 @@ - + diff --git a/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor b/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor index 46f957f..ca49395 100644 --- a/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor +++ b/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor @@ -28,9 +28,7 @@ - - cancel_icon - + } else { diff --git a/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor b/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor index ce91e78..39efc0c 100644 --- a/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor +++ b/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor @@ -8,98 +8,98 @@ @if (_loaded) {
-
- -
+
+
+ @if (_isSingUp) { -
+ -
- +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ @_formMessage +
+
+ +
+
-
- -
-
- -
-
- -
-
- -
- + } else { -
+ -
- +
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + +
+
+
+
+
+ @_formMessage +
+
+ +
+
-
- -
-
- -
-
- -
- + } -
- @if (_errors is not null) - { -
- @foreach (string error in _errors) - { - @error -
- } +
+ + + +
- } -
- -
- + } \ No newline at end of file diff --git a/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor.cs b/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor.cs index 965a23e..d646264 100644 --- a/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor.cs +++ b/WatchIt.Website/WatchIt.Website/Pages/AuthPage.razor.cs @@ -43,24 +43,22 @@ public partial class AuthPage private PhotoResponse? _background; private bool _isSingUp; + private string? _formMessage; + private bool _formMessageIsSuccess; - - - private AuthenticateRequest _loginModel = new AuthenticateRequest - { - UsernameOrEmail = null, - Password = null - }; - private RegisterRequest _registerModel = new RegisterRequest { Username = null, Email = null, Password = null }; - private string _passwordConfirmation; - - private IEnumerable _errors; + private string _registerPasswordConfirmation; + + private AuthenticateRequest _loginModel = new AuthenticateRequest + { + UsernameOrEmail = null, + Password = null + }; #endregion @@ -95,44 +93,51 @@ public partial class AuthPage private async Task Login() { - await AccountsWebAPIService.Authenticate(_loginModel, LoginSuccess, LoginBadRequest, LoginUnauthorized); + void LoginBadRequest(IDictionary data) + { + _formMessageIsSuccess = false; + _formMessage = data.SelectMany(x => x.Value).FirstOrDefault(); + } + + void LoginUnauthorized() + { + _formMessageIsSuccess = false; + _formMessage = "Incorrect account data"; + } - async void LoginSuccess(AuthenticateResponse data) + async Task LoginSuccess(AuthenticateResponse data) { await TokensService.SaveAuthenticationData(data); NavigationManager.NavigateTo(RedirectTo); } - void LoginBadRequest(IDictionary data) - { - _errors = data.SelectMany(x => x.Value).Select(x => $"• {x}"); - } - void LoginUnauthorized() - { - _errors = [ "Incorrect account data" ]; - } + await AccountsWebAPIService.Authenticate(_loginModel, async (data) => await LoginSuccess(data), LoginBadRequest, LoginUnauthorized); } private async Task Register() { - if (_registerModel.Password != _passwordConfirmation) - { - _errors = [ "Password fields don't match" ]; - return; - } - - await AccountsWebAPIService.Register(_registerModel, RegisterSuccess, RegisterBadRequest); - void RegisterSuccess(RegisterResponse data) { + _formMessageIsSuccess = true; + _formMessage = "You are registered. You can sign in now."; _isSingUp = false; } - + void RegisterBadRequest(IDictionary data) { - _errors = data.SelectMany(x => x.Value).Select(x => $"• {x}"); + _formMessageIsSuccess = false; + _formMessage = data.SelectMany(x => x.Value).FirstOrDefault(); } + + + if (_registerModel.Password != _registerPasswordConfirmation) + { + _formMessageIsSuccess = false; + _formMessage = "Password fields don't match"; + return; + } + await AccountsWebAPIService.Register(_registerModel, RegisterSuccess, RegisterBadRequest); } #endregion