130 lines
3.7 KiB
Plaintext
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);
|
|
}
|
|
|
|
|
|
|
|
} |