@using CodeHollow.FeedReader @using SharpRss.Models @using ToolQit @using ToolQit.Containers @using ToolQit.Extensions
@HeaderText @foreach (CategoryModel guideCategory in Categories) {
@guideCategory.Name
@* Feeds *@ @if (guideCategory.IsExpanded && guideCategory.Feeds != null) { foreach (FeedModel feed in guideCategory.Feeds) { if (feed == null || feed.Base == null) continue;
@*@if (!guideFeed.FaviconUrl.IsNullEmptyWhiteSpace()) { } else { }*@
@feed.Base.Title
} }
}
@code { [Parameter] public string HeaderText { get; set; } [Parameter] public HashSet Categories { get; set; } = new HashSet(); [Parameter] public Action? CatItemClicked { get; set; } [Parameter] public Action? FeedItemClicked { get; set; } IGuideItem? _selectedItem; void ItemClicked(IGuideItem categoryItem) { categoryItem.IsExpanded = !categoryItem.IsExpanded; if (_selectedItem != categoryItem) { if (_selectedItem != null) _selectedItem.IsSelected = false; _selectedItem = categoryItem; _selectedItem.IsSelected = true; } switch (categoryItem) { case CategoryModel catGuideItem: CatItemClicked?.Invoke(catGuideItem); break; case FeedModel feedGuideItem: FeedItemClicked?.Invoke(feedGuideItem); break; } } }