SharpRSS/WebSharpRSS/Pages/Index.razor

53 lines
1.4 KiB
Plaintext
Raw Normal View History

2023-04-27 17:23:01 +02:00
@page "/"
2023-05-17 16:03:04 +02:00
@using CodeHollow.FeedReader;
@using SharpRss.Models;
@using WebSharpRSS.Models;
2023-05-18 01:27:11 +02:00
@using SharpRss.Services
2023-04-27 17:23:01 +02:00
2023-05-17 16:03:04 +02:00
@inject RssService _rssService;
@inject FeedStateContainer _stateContainer;
2023-05-17 16:03:04 +02:00
<MudGrid Spacing="3" Justify="Justify.FlexStart">
@if (Feeds != null)
{
foreach (var feedItem in _items)
{
2023-05-18 01:27:11 +02:00
<MudItem xs="6">
2023-05-17 16:03:04 +02:00
<MudCard>
<MudCardContent>
<MudText>@feedItem.Title</MudText>
<MudText Typo="Typo.body2">@feedItem.Description</MudText>
2023-05-18 01:27:11 +02:00
<MudText Typo="Typo.overline">@feedItem.PublishingDate.ToString()</MudText>
2023-05-17 16:03:04 +02:00
</MudCardContent>
</MudCard>
</MudItem>
}
}
</MudGrid>
2023-04-27 17:23:01 +02:00
@code {
2023-05-17 16:03:04 +02:00
[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)
{
2023-05-18 01:27:11 +02:00
//_items = feedmodel.Base.Items.OrderBy(x => x.PublishingDate).Reverse().ToHashSet();
2023-05-17 16:03:04 +02:00
}
}
2023-04-27 17:23:01 +02:00
}