SharpRSS/WebSharpRSS/Pages/Index.razor
2023-05-18 01:27:11 +02:00

53 lines
1.4 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">
@if (Feeds != null)
{
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 {
[Parameter]
public HashSet<FeedModel>? Feeds { get; set; }
private HashSet<FeedItem> _items = new HashSet<FeedItem>();
protected override async void OnInitialized()
{
UpdateFeeds();
_stateContainer.StateChanged += FeedsChanged;
}
private void FeedsChanged()
{
UpdateFeeds();
InvokeAsync(StateHasChanged);
}
private void UpdateFeeds()
{
Feeds = _stateContainer.Feeds;
if (Feeds == null) return;
foreach (var feedmodel in Feeds)
{
//_items = feedmodel.Base.Items.OrderBy(x => x.PublishingDate).Reverse().ToHashSet();
}
}
}