@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); } } } }