diff --git a/StockMan.CORE/App.razor b/StockMan.CORE/App.razor
index 6fd3ed1..ddf97f7 100644
--- a/StockMan.CORE/App.razor
+++ b/StockMan.CORE/App.razor
@@ -1,12 +1,14 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
+
+
+
+
+
+
+
+ Not found
+
+ Sorry, there's nothing at this address.
+
+
+
+
\ No newline at end of file
diff --git a/StockMan.CORE/Components/CmpTop.razor b/StockMan.CORE/Components/CmpTop.razor
new file mode 100644
index 0000000..d322783
--- /dev/null
+++ b/StockMan.CORE/Components/CmpTop.razor
@@ -0,0 +1,17 @@
+@using System.Security.Claims
+@using Microsoft.AspNetCore.Components.Authorization
+
+@inject AuthenticationStateProvider AuthenticationStateProvider
+
+
+
+
+
+
+
+
+
diff --git a/StockMan.CORE/Components/CmpTop.razor.cs b/StockMan.CORE/Components/CmpTop.razor.cs
new file mode 100644
index 0000000..f6ecfa6
--- /dev/null
+++ b/StockMan.CORE/Components/CmpTop.razor.cs
@@ -0,0 +1,79 @@
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Authorization;
+using Microsoft.JSInterop;
+using StockMan.CORE.Data;
+
+namespace StockMan.CORE.Components
+{
+ public partial class CmpTop
+ {
+ #region Public Methods
+
+ public async Task flushCache()
+ {
+ await Task.Delay(1);
+ await SDService.FlushRedisCache();
+ await Task.Delay(1);
+ // rimando a pagina corrente
+ NavManager.NavigateTo(NavManager.Uri, true);
+ }
+
+ #endregion Public Methods
+
+ #region Protected Properties
+
+ [Inject]
+ protected IJSRuntime JSRuntime { get; set; } = null!;
+
+ [Inject]
+ protected StockDataService SDService { get; set; } = null!;
+
+ #endregion Protected Properties
+
+ #region Protected Methods
+
+ protected override async Task OnInitializedAsync()
+ {
+ await forceReload();
+ }
+
+ #endregion Protected Methods
+
+ #region Private Fields
+
+ private string userName = "";
+
+ #endregion Private Fields
+
+ #region Private Properties
+
+ [Inject]
+ private NavigationManager NavManager { get; set; } = null!;
+
+ #endregion Private Properties
+
+ #region Private Methods
+
+ private async Task forceReload()
+ {
+ var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
+ var user = authState.User;
+ if (user.Identity != null && user.Identity.IsAuthenticated)
+ {
+ userName = $"{user.Identity.Name}";
+ }
+ else
+ {
+ userName = "N.A.";
+ }
+ }
+
+ private async void MService_EA_ShowSearch()
+ {
+ await Task.Delay(1);
+ await InvokeAsync(() => StateHasChanged());
+ }
+
+ #endregion Private Methods
+ }
+}
\ No newline at end of file
diff --git a/StockMan.CORE/Components/NewNavMenu.razor b/StockMan.CORE/Components/NewNavMenu.razor
index 250436f..e316524 100644
--- a/StockMan.CORE/Components/NewNavMenu.razor
+++ b/StockMan.CORE/Components/NewNavMenu.razor
@@ -91,7 +91,10 @@