diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor index 2532df8..d533131 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/Home.razor @@ -106,6 +106,7 @@ { if (firstRender) { + await LimpiarEstadoUsuarioAsync(); // Se crea una referencia a este componente para que JS pueda invocar SetToken dotNetRef = DotNetObjectReference.Create(this); await JSRuntime.InvokeVoidAsync("registerTokenReceiver", dotNetRef); @@ -114,16 +115,21 @@ protected override void OnInitialized() { - LimpiarEstadoUsuario(); + LimpiarEstadoUsuarioLocal(); } - private void LimpiarEstadoUsuario() + private void LimpiarEstadoUsuarioLocal() { - UserState.Token = ""; - UserState.NombreUsu = ""; + UserState.Clear(); HttpContextAccessor?.HttpContext?.Session?.Clear(); } + private async Task LimpiarEstadoUsuarioAsync() + { + LimpiarEstadoUsuarioLocal(); + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.clear"); + } + public async Task LogIn() { mostrar = true; @@ -168,6 +174,7 @@ UserState.Token = parsedJson["token"]?.ToString() ?? ""; // Actualizamos el nombre del usuario (formateado como "APELLIDOS, NOMBRE") UserState.NombreUsu = $"{parsedJson["user"]?["apellidos"]?.ToString()}, {parsedJson["user"]?["nombre"]?.ToString()}"; + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.save", UserState.Token, UserState.NombreUsu); Navigation.NavigateTo("/cumplimientoTrienios", true); } else @@ -178,7 +185,7 @@ } [JSInvokable] - public Task SetToken(string token, string userJson) + public async Task SetToken(string token, string userJson) { // Actualizamos el token en UserState UserState.Token = token; @@ -192,13 +199,54 @@ { UserState.NombreUsu = ""; } + await JSRuntime.InvokeVoidAsync("registroPersonalAuth.save", UserState.Token, UserState.NombreUsu); Navigation.NavigateTo("/cumplimientoTrienios", true); - return Task.CompletedTask; } }