@using Rs_system.Models.ViewModels @model MenuItem @{ var currentUrl = ViewData["CurrentUrl"] as string ?? ""; var collapseId = "menu-" + Guid.NewGuid().ToString("N"); // Helper function to check active state recursively bool IsItemOrChildActive(MenuItem item, string url) { if (!item.IsGroup && !string.IsNullOrEmpty(item.Url)) { return url.StartsWith(item.Url, StringComparison.OrdinalIgnoreCase); } return item.Children.Any(c => IsItemOrChildActive(c, url)); } bool isExpanded = Model.IsGroup && IsItemOrChildActive(Model, currentUrl); } @if (Model.IsGroup) {