TourIAm/TIAMSharedUI/Pages/Login2.razor

130 lines
3.7 KiB
Plaintext

@page "/login2"
@using TIAMWebApp.Shared.Application.Interfaces;
@using TIAMWebApp.Shared.Application.Models.PageModels;
@using TIAMSharedUI.Pages.Components;
@inject NavigationManager navManager
@inject IUserDataService UserDataservice
@inject IJSRuntime jsRuntime
<PageTitle>Login</PageTitle>
<div class="wrapper">
<div class="my-logo">
<img src="_content/TIAMSharedUI/images/png-logo-0.png" alt="">
</div>
<div class="text-center mt-4 name">
Let's get you inside!
</div>
<form class="p-3 mt-3">
<div>
@switch (currentStep)
{
case 1:
<LoginStep1 @bind-LoginModel="loginModel" onLoginNext="GoToNextStep" />
;
break;
case 2:
<LoginStep3 @bind-LoginModel="loginModel" onSubmit="SubmitLogin" onPrev="GoToPreviousStep" />
;
break;
}
</div>
</form>
<p>@currentStep</p>
@{
if (!loggedIn)
{
<div>
<p>@loginModel.Email</p>
<p>@loginModel.Password</p>
</div>
}
}
<div class="text-center fs-6">
Already have an account? <a href="login">Sign in here!</a>
</div>
</div>
@code {
LoginModel loginModel = new();
private int currentStep = 1;
bool loggedIn = false;
private void GoToNextStep()
{
currentStep++;
}
private void GoToPreviousStep()
{
currentStep--;
}
private async void SubmitLogin()
{
// Implement your registration logic here
// You can use Email, PhoneNumber, and Password variables
// Reset currentStep after successful registration
loggedIn = true;
currentStep = 1;
LogToBrowserConsole("Login started: " + "Email: " + loginModel.Email + ", Password: " + loginModel.Password);
var response = await UserDataservice.AuthenticateUser(loginModel);
//var response = await UserDataservice.TestUserApi(30);
LogToBrowserConsole("Login started");
if (!string.IsNullOrEmpty(response))
{
LogToBrowserConsole(response);
if (response == "no")
{
//await App.Current.MainPage.DisplayAlert("Error", "Invalid credentials", "Ok");
//display error message via jsinterop
LogToBrowserConsole("Invalid credentials");
navManager.NavigateTo("login2");
}
else if(response == "yes")
{
//await App.Current.MainPage.DisplayAlert("Success", "Successful login", "Ok");
//display success message via jsinterop
LogToBrowserConsole("Successful login");
navManager.NavigateTo("home");
}
else
{
//await App.Current.MainPage.DisplayAlert("Error", "An error occured while trying to login", "Ok");
//display error message via jsinterop
LogToBrowserConsole("An error occured while trying to login");
navManager.NavigateTo("login2");
}
}
else
{
//api error
//await App.Current.MainPage.DisplayAlert("Error", "An error occured while trying to login", "Ok");
//display error message via jsinterop
LogToBrowserConsole("An error occured while trying to login");
navManager.NavigateTo("login2");
}
}
public void LogToBrowserConsole(string message)
{
jsRuntime.InvokeVoidAsync("console.log", message);
}
}