From 836fcb3f4d444cebe930e8275c865ffeb48f2b9c Mon Sep 17 00:00:00 2001 From: Tobias Wohlleben Date: Thu, 12 Sep 2024 11:54:39 +0200 Subject: [PATCH] use models from api by nuget package --- .../Platforms/Android/AndroidManifest.xml | 11 +++++--- RBLNews.Maui/RBLNews.Maui.csproj | 6 ++++- .../Components/Layout/NavMenu.razor | 2 +- RBLNews.Shared/Components/Pages/Feeds.razor | 12 ++++----- RBLNews.Shared/Enums/RssFeedSourcesEnum.cs | 13 --------- RBLNews.Shared/Models/FeedGroupVM.cs | 14 ---------- RBLNews.Shared/Models/FeedVM.cs | 27 ------------------- RBLNews.Shared/Models/RssVM.cs | 19 ------------- RBLNews.Shared/RBLNews.Shared.csproj | 2 +- RBLNews.Shared/Services/FeedDataService.cs | 19 +++++-------- 10 files changed, 27 insertions(+), 98 deletions(-) delete mode 100644 RBLNews.Shared/Enums/RssFeedSourcesEnum.cs delete mode 100644 RBLNews.Shared/Models/FeedGroupVM.cs delete mode 100644 RBLNews.Shared/Models/FeedVM.cs delete mode 100644 RBLNews.Shared/Models/RssVM.cs diff --git a/RBLNews.Maui/Platforms/Android/AndroidManifest.xml b/RBLNews.Maui/Platforms/Android/AndroidManifest.xml index dbf9e7e..e84d4ab 100644 --- a/RBLNews.Maui/Platforms/Android/AndroidManifest.xml +++ b/RBLNews.Maui/Platforms/Android/AndroidManifest.xml @@ -1,6 +1,9 @@  - - - - + + + + + + + \ No newline at end of file diff --git a/RBLNews.Maui/RBLNews.Maui.csproj b/RBLNews.Maui/RBLNews.Maui.csproj index a922f77..8f322b9 100644 --- a/RBLNews.Maui/RBLNews.Maui.csproj +++ b/RBLNews.Maui/RBLNews.Maui.csproj @@ -32,7 +32,7 @@ 14.2 14.0 - 32.0 + 31.0 10.0.17763.0 10.0.17763.0 6.5 @@ -42,6 +42,10 @@ apk + + $(TargetFrameworks);net8.0-windows10.0.26100.0 + + diff --git a/RBLNews.Shared/Components/Layout/NavMenu.razor b/RBLNews.Shared/Components/Layout/NavMenu.razor index 6e275c3..e348164 100644 --- a/RBLNews.Shared/Components/Layout/NavMenu.razor +++ b/RBLNews.Shared/Components/Layout/NavMenu.razor @@ -14,7 +14,7 @@ diff --git a/RBLNews.Shared/Components/Pages/Feeds.razor b/RBLNews.Shared/Components/Pages/Feeds.razor index 61915c0..4683b83 100644 --- a/RBLNews.Shared/Components/Pages/Feeds.razor +++ b/RBLNews.Shared/Components/Pages/Feeds.razor @@ -1,14 +1,14 @@ @page "/" +@using RBLFeederCommon.Enums @using RBLFeederCommon.Models.RssFeed -@using RBLNews.Shared.Enums @using RBLNews.Shared.Services @inject IFeedDataService feedDataService -@if (this.FeedDataService.Feeds == null) +@if (FeedDataService.Feeds == null) {
- Lade Feeds ... + Lade Feeds ...
} @@ -19,7 +19,7 @@ else
@foreach (FeedGroupVM feedGrp in this.FeedDataService.Feeds.FeedGroups) { -

@feedGrp.PublishDateDisplay

+

@feedGrp.PublishDate.ToString("dd.MM.yyyy")

@foreach (FeedVM feed in feedGrp.Feeds) {
@@ -48,14 +48,14 @@ else
} @code { - HttpClient httpClient = new HttpClient(); [Inject] private IFeedDataService FeedDataService { get; set; } protected async override Task OnInitializedAsync() { - this.FeedDataService.LoadFeeds(); + await FeedDataService.LoadFeeds(); + StateHasChanged(); } private string GetRssSourceName(RssFeedSources source) diff --git a/RBLNews.Shared/Enums/RssFeedSourcesEnum.cs b/RBLNews.Shared/Enums/RssFeedSourcesEnum.cs deleted file mode 100644 index 934dc01..0000000 --- a/RBLNews.Shared/Enums/RssFeedSourcesEnum.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace RBLNews.Shared.Enums -{ - public enum RssFeedSources - { - Lvz, - Kicker, - Bild, - Transfermarkt, - NitterRbLive, - NitterFabrizioRomano, - RbLive - } -} diff --git a/RBLNews.Shared/Models/FeedGroupVM.cs b/RBLNews.Shared/Models/FeedGroupVM.cs deleted file mode 100644 index cdd2684..0000000 --- a/RBLNews.Shared/Models/FeedGroupVM.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Newtonsoft.Json; - -namespace RBLFeederCommon.Models.RssFeed; - -public class FeedGroupVM -{ - public string PublishDateDisplay { get => PublishDate.ToString("dd.MM.yyyy"); } - - [JsonProperty("pubDate")] - public DateTime PublishDate { get; set; } - - [JsonProperty("news")] - public IList Feeds { get; set; } -} \ No newline at end of file diff --git a/RBLNews.Shared/Models/FeedVM.cs b/RBLNews.Shared/Models/FeedVM.cs deleted file mode 100644 index 16c9d18..0000000 --- a/RBLNews.Shared/Models/FeedVM.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Newtonsoft.Json; - -namespace RBLFeederCommon.Models.RssFeed; - -public class FeedVM -{ - [JsonProperty("id")] - public string Id { get; set; } - - [JsonProperty("title")] - public string Title { get; set; } - - [JsonProperty("imgUrl")] - public string ImgUrl { get; set; } - - [JsonProperty("description")] - public string Description { get; set; } - - [JsonProperty("pubDate")] - public DateTime? PubDate { get; set; } - - [JsonProperty("link")] - public string Link { get; set; } - - [JsonProperty("source")] - public int Source { get; set; } -} \ No newline at end of file diff --git a/RBLNews.Shared/Models/RssVM.cs b/RBLNews.Shared/Models/RssVM.cs deleted file mode 100644 index ba2f9e9..0000000 --- a/RBLNews.Shared/Models/RssVM.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Newtonsoft.Json; - -namespace RBLFeederCommon.Models.RssFeed; - -public class RssVM -{ - public string LastUpdateDisplay { get => this.LastUpdate.ToLocalTime().ToString("dd.MM.yyyy HH:mm"); } - - [JsonProperty("lastUpdate")] - public DateTime LastUpdate { get; set; } - - - [JsonProperty("description")] - public string Description { get; set; } - - - [JsonProperty("feedGroups")] - public IList FeedGroups { get; set; } = new List(); -} \ No newline at end of file diff --git a/RBLNews.Shared/RBLNews.Shared.csproj b/RBLNews.Shared/RBLNews.Shared.csproj index b0feba6..02cfa9c 100644 --- a/RBLNews.Shared/RBLNews.Shared.csproj +++ b/RBLNews.Shared/RBLNews.Shared.csproj @@ -12,10 +12,10 @@ - + diff --git a/RBLNews.Shared/Services/FeedDataService.cs b/RBLNews.Shared/Services/FeedDataService.cs index 0144389..8bba6ec 100644 --- a/RBLNews.Shared/Services/FeedDataService.cs +++ b/RBLNews.Shared/Services/FeedDataService.cs @@ -1,30 +1,25 @@ -using RBLFeederCommon.Models.RssFeed; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; + using System.Net.Http.Json; -using System.Text; -using System.Threading.Tasks; +using RBLFeederCommon.Models.RssFeed; namespace RBLNews.Shared.Services { public interface IFeedDataService { - public RssVM? Feeds { get; } + public RssVM Feeds { get; } + Task LoadFeeds(); } public class FeedDataService : IFeedDataService { - private static HttpClient httpClient = new HttpClient(); + private static readonly HttpClient httpClient = new(); - private RssVM? feeds; - public RssVM? Feeds { get => this.feeds; } + public RssVM Feeds { get; private set; } public async Task LoadFeeds() { - feeds = await httpClient.GetFromJsonAsync("https://rblnews.de/api/feeds"); + Feeds = await httpClient.GetFromJsonAsync("https://rblnews.de/api/feeds") ?? new RssVM(); } } }