@inject Web.Services.DocsService DocsService
@code {
private bool collapseNavMenu = true;
private List? groupedNotes;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
protected override async Task OnInitializedAsync()
{
var index = await DocsService.GetIndexAsync();
groupedNotes = (index.Notes ?? new())
.GroupBy(n => string.IsNullOrEmpty(n.Category) ? "Uncategorized" : n.Category)
.OrderBy(g => g.Key)
.Select(g => new NoteGroup { Category = g.Key, Notes = g.OrderBy(n => n.Title).ToList() })
.ToList();
}
private class NoteGroup
{
public string Category { get; set; } = "";
public List Notes { get; set; } = new();
}
}