using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Authorization; namespace HealthcareManagerUiWebAssem; public class RoleBasedRedirect : ComponentBase { [CascadingParameter] private Task authenticationStateTask { get; set; } [Inject] private NavigationManager NavigationManager { get; set; } protected override async Task OnInitializedAsync() { var authState = await authenticationStateTask; var user = authState.User; if (NavigationManager.Uri == NavigationManager.BaseUri) if (user.Identity.IsAuthenticated) { // Perform redirection based on the user's role if (user.IsInRole(UserRoles.Admin)) NavigationManager.NavigateTo("/admin/dashboard"); else if (user.IsInRole(UserRoles.Doctor)) NavigationManager.NavigateTo("/doctor/dashboard"); else if (user.IsInRole(UserRoles.Patient)) NavigationManager.NavigateTo("/patient/dashboard"); } } }