@page "/sys/register" @using ImageBoardServerApp.Data.Repository @using ImageBoardServerApp.Auth @inject IJSRuntime js @inject AuthenticationStateProvider authStateProvider @inject NavigationManager navManager




@code { private string Email { get; set; } private string Password { get; set; } private bool is18 { get; set; } private string msg { get; set; } private bool verified; private async Task login() { if (!is18) return; Console.WriteLine("Registering..."); UserData userToCreate = new UserData() { Email = Email, Password = BCrypt.Net.BCrypt.HashPassword(Password), Role = "User", TimeBanned = -1, LastUsedName = "Anonymous" }; if (await UsersRepository.getUserByEmailAsync(Email) != null) { return; } await UsersRepository.createUserAsync(userToCreate); var user = await UsersRepository.getUserByEmailRawAsync(Email); if (user == null) { await js.InvokeVoidAsync("alert", "User does not exist"); verified = false; return; } verified = BCrypt.Net.BCrypt.Verify(Password, user.Password); if (verified) { verified = true; var customAuthStateProvider = (CustomAuthenticationStateProvider)authStateProvider; await customAuthStateProvider.UpdateAuthenticationStateAsync(user); navManager.NavigateTo("/", true); return; } await js.InvokeVoidAsync("alert", $"Wrong Password"); } }