- Lade Feeds ...
+ Lade Feeds ...
}
else
{
-
- @foreach (FeedGroupVM feedGrp in this.FeedDataService.Feeds.FeedGroups)
+
+ @foreach (IGrouping sGrouping in SourceGroupings)
+ {
+ @* *@
+ }
+
+ @foreach (FeedGroupVM feedGrp in FeedGroups)
{
@feedGrp.PublishDate.ToLocalTime().ToString("dd.MM.yyyy")
@foreach (FeedVM feed in feedGrp.Feeds)
@@ -50,13 +57,17 @@ else
}
@code {
-
+
[Inject]
private IFeedDataService FeedDataService { get; set; }
[Inject]
private AppLifecycleService AppLifecycleService { get; set; }
+ private List
? FeedGroups { get; set; }
+
+ private IEnumerable> SourceGroupings { get; set; } = new List>();
+
protected override void OnInitialized()
{
AppLifecycleService.OnActivated = LoadFeeds;
@@ -66,7 +77,14 @@ else
private async void LoadFeeds()
{
+ // Copy feed list to keep original list
await FeedDataService.LoadFeeds();
+ FeedGroups = [..FeedDataService.Feeds.FeedGroups];
+
+ List listTmp = [.. FeedDataService.Feeds.FeedGroups];
+
+ SourceGroupings = listTmp.SelectMany(fg => fg.Feeds.Select(f => f.Source)).GroupBy(sources => sources);
+
StateHasChanged();
}
@@ -91,5 +109,26 @@ else
return "?";
}
}
+
+ private void OnClicked(RssFeedSources source)
+ {
+ FeedGroups = new List();
+
+ foreach (FeedGroupVM fg in FeedDataService.Feeds.FeedGroups)
+ {
+ List feeds = fg.Feeds.Where(f => (RssFeedSources)f.Source == source).ToList();
+ if (feeds.Any())
+ {
+ FeedGroups.Add(new FeedGroupVM
+ {
+ Feeds = feeds,
+ PublishDate = fg.PublishDate
+ });
+
+ }
+ }
+
+ StateHasChanged();
+ }
}
diff --git a/RBLNews.Shared/wwwroot/css/app.css b/RBLNews.Shared/wwwroot/css/app.css
index f465b47..7abf838 100644
--- a/RBLNews.Shared/wwwroot/css/app.css
+++ b/RBLNews.Shared/wwwroot/css/app.css
@@ -214,7 +214,11 @@ nav .top-row {
}
}
-#feeds-page h4, h5{
+.FilterButtons {
+ margin: 10px;
+}
+
+#feeds-page h4, h5 {
color: rgb(221, 7, 65) !important;
text-transform: uppercase;
}