diff --git a/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor b/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor
index d7d04a5..9cfb97d 100644
--- a/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor
+++ b/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor
@@ -17,15 +17,16 @@
dd-nav-item-collapsed is added on child click to force-hide the
dropdown after SPA navigation (which keeps the DOM and may leave
:hover true). It is cleared on mouseleave so the next hover works. *@
-
+ ResetDropdown(navPage.Route)"
+ @onfocusout="() => ResetDropdown(navPage.Route)">
@navPage.Name
@foreach (var child in navPage.Children)
{
-
@child.Name
+ @onclick="() => CollapseDropdown(navPage.Route)">@child.Name
}
@@ -95,7 +96,7 @@
[Parameter] public required EventCallback IsDarkModeChanged { get; set; }
private bool _mobileMenuOpen;
- private bool _dropdownCollapsed;
+ private readonly HashSet _collapsedDropdowns = [];
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@@ -129,7 +130,7 @@
private void CloseMobileMenu() => _mobileMenuOpen = false;
- private void CollapseDropdown() => _dropdownCollapsed = true;
+ private void CollapseDropdown(string route) => _collapsedDropdowns.Add(route);
- private void ResetDropdown() => _dropdownCollapsed = false;
+ private void ResetDropdown(string route) => _collapsedDropdowns.Remove(route);
}