@page "/"
@using CodeHollow.FeedReader;
@using SharpRss.Models;
@using WebSharpRSS.Models;
@using SharpRss.Services
@*@inject RssService _rssService;*@
@inject FeedStateContainer _stateContainer;
@foreach (var feedItem in _items)
{
@feedItem.Title
@feedItem.Description
@feedItem.PublishingDate.ToString()
}
@code {
private HashSet _items = new HashSet();
protected override void OnInitialized()
{
UpdateFeeds();
_stateContainer.StateChanged += FeedsChanged;
}
private void FeedsChanged()
{
UpdateFeeds();
InvokeAsync(StateHasChanged);
}
private void UpdateFeeds()
{
if (_stateContainer.TreeItem == null) return;
if (_stateContainer.TreeItem.Feed != null)
_items = _stateContainer.TreeItem.Feed.Items.ToHashSet();
if (_stateContainer.TreeItem.Feeds != null)
{
_items = new HashSet();
foreach (var itemData in _stateContainer.TreeItem.Feeds)
{
if (itemData.Feed == null) continue;
_items.UnionWith(itemData.Feed.Items);
}
}
}
}