SharpRSS/WebSharpRSS/Shared/SideGuide.razor
2023-05-15 20:42:42 +02:00

30 lines
1.0 KiB
Plaintext

@using SharpRss.Models;
@using MudBlazor.Utilities
@using CodeHollow.FeedReader
@using Serilog
@using WebSharpRSS.Models;
@inject RssService _rssService
<MudStack Spacing="2">
<MudNavMenu>
<MudNavLink Href="/" Icon="@Icons.Material.Filled.Home">Home</MudNavLink>
</MudNavMenu>
<MudTreeView Items="Categories" @bind-SelectedValue="SelectedItem" @bind-ActivatedItem="ActivatedItem" Hover="true">
<ItemTemplate>
<MudTreeViewItem Items="@context.Feeds" Icon="@context.Icon" Text="@context.Title"/>
</ItemTemplate>
</MudTreeView>
</MudStack>
@code {
public HashSet<TreeItemData> Categories = new HashSet<TreeItemData>();
private TreeItemData ActivatedItem { get; set; }
private TreeItemData SelectedItem { get; set; }
protected override async void OnInitialized()
{
Log.Verbose("Loading guide data...");
HashSet<CategoryModel> cats = await _rssService.GetCategories();
await Task.Run(() => Categories = cats.Select(x => new TreeItemData(x)).ToHashSet());
}
}