mirror of
https://github.com/hmaxnl/SharpRSS.git
synced 2024-09-20 01:54:20 +02:00
54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
@page "/"
|
|
@using CodeHollow.FeedReader;
|
|
@using SharpRss.Models;
|
|
@using WebSharpRSS.Models;
|
|
@using SharpRss.Services
|
|
|
|
@*@inject RssService _rssService;*@
|
|
@inject FeedStateContainer _stateContainer;
|
|
|
|
<MudGrid Spacing="3" Justify="Justify.FlexStart">
|
|
@foreach (var feedItem in _items)
|
|
{
|
|
<MudItem xs="6">
|
|
<MudCard>
|
|
<MudCardContent>
|
|
<MudText>@feedItem.Title</MudText>
|
|
<MudText Typo="Typo.body2">@feedItem.Description</MudText>
|
|
<MudText Typo="Typo.overline">@feedItem.PublishingDate.ToString()</MudText>
|
|
</MudCardContent>
|
|
</MudCard>
|
|
</MudItem>
|
|
}
|
|
</MudGrid>
|
|
|
|
@code {
|
|
|
|
private HashSet<FeedItem> _items = new HashSet<FeedItem>();
|
|
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<FeedItem>();
|
|
foreach (var itemData in _stateContainer.TreeItem.Feeds)
|
|
{
|
|
if (itemData.Feed == null) continue;
|
|
_items.UnionWith(itemData.Feed.Items);
|
|
}
|
|
}
|
|
}
|
|
} |