@page "/register" @inject NavigationManager Navigation @inject IAuthenticationService AuthenticationService @layout AuthLayout

Register

@if (!string.IsNullOrEmpty(_errorMessage)) {
@_errorMessage
}
@code { private readonly UserRegisterModel _registerModel = new(); private string _errorMessage = string.Empty; private async Task HandleRegister() { _errorMessage = string.Empty; var response = await AuthenticationService.Register(_registerModel); if (response.StatusCode == 201) { // Registration successful, navigate to login page Navigation.NavigateTo("/login", true); } else { _errorMessage = response.Message; // Display error message } } protected override async Task OnInitializedAsync() { var token = await AuthenticationService.GetAuthToken(); var handler = new JwtSecurityTokenHandler(); var jwtToken = handler.ReadJwtToken(token); var role = jwtToken.Claims.FirstOrDefault(c => c.Type == "role")?.Value; switch (role) { case UserRoles.Admin: Navigation.NavigateTo("/admin/dashboard", true); break; case UserRoles.Doctor: Navigation.NavigateTo("/doctor/dashboard", true); break; case UserRoles.Patient: Navigation.NavigateTo("/patient/dashboard", true); break; } } }