From 329e80cb946bca218dc2e2b5c97192de196824d8 Mon Sep 17 00:00:00 2001 From: troogs Date: Mon, 2 Nov 2026 21:34:27 +0100 Subject: [PATCH] feat(desktop): show embedded build date in about dialog --- docs/usability-umsetzung.md | 6 ++++++ .../Components/Layout/MainLayout.razor | 2 +- .../Components/Layout/MainLayout.razor.cs | 13 +++++++++++++ src/Duempelkas.Desktop/Duempelkas.Desktop.csproj | 1 + 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/usability-umsetzung.md b/docs/usability-umsetzung.md index 540d559..6ce2ac4 100644 --- a/docs/usability-umsetzung.md +++ b/docs/usability-umsetzung.md @@ -137,3 +137,9 @@ Die Historienansicht wird als benutzerweite Einstellung in settings.json gespeic 62/62 Tests in Debug und Release bestanden. Neue Regressionen prüfen Kontowechsel, Filterreset, Ausschalten, erneutes Laden durch eine neue SettingsService-Instanz und Erhalt der übrigen Einstellungen. Navigationstest wartet auf die tatsächlich geladene Kontokarte. Debug-Desktop-Build ohne Warnungen/Fehler. Der vorhandene Publish-Task wird anschließend mit seinen unveränderten Release-/win-x64-/Einzeldatei-Argumenten ausgeführt. Die bereits vorhandene lokale Anpassung an AccountCard.razor bleibt separat erhalten und fließt in die lokale Veröffentlichung ein. Publish-Task erfolgreich abgeschlossen: Publish/Duempelkas-v26.306.exe (69.325.134 Bytes). Die ältere veröffentlichte Version bleibt erhalten. Die veröffentlichte Release-Anwendung wurde nicht gegen die Vereinsdaten gestartet. + +## Builddatum im Über-Dialog + +Neben der Programmversion steht jetzt das Builddatum im Format TT.MM.JJJJ. Der Desktop-Build bettet seinen UTC-Zeitstempel als Assembly-Metadatum ein; die Anzeige benötigt weder einen Dateipfad noch das Änderungsdatum der EXE und bleibt dadurch auch in der veröffentlichten Einzeldatei verfügbar. Debug-Build ohne Warnungen/Fehler; eingebettetes Datum 02.11.2026 aus der erzeugten Desktop-Assembly ausgelesen und geprüft. Debug-Suite: 62/62 Tests bestanden. + +Auch Release: 62/62 Tests bestanden; vorhandener Publish-Task erfolgreich erneut ausgeführt und Publish/Duempelkas-v26.306.exe aktualisiert. diff --git a/src/Duempelkas.App/Components/Layout/MainLayout.razor b/src/Duempelkas.App/Components/Layout/MainLayout.razor index 32f3c1d..9fe5ba5 100644 --- a/src/Duempelkas.App/Components/Layout/MainLayout.razor +++ b/src/Duempelkas.App/Components/Layout/MainLayout.razor @@ -31,7 +31,7 @@ @if (showAboutDialog) { -
Über Dümpelkas · Version @AppVersion
+
Über Dümpelkas · Version @AppVersion · Builddatum @AppBuildDate

Entwickler: Andre Beging

E-Mail: mail@beging.de

diff --git a/src/Duempelkas.App/Components/Layout/MainLayout.razor.cs b/src/Duempelkas.App/Components/Layout/MainLayout.razor.cs index 0a2128a..9d29f69 100644 --- a/src/Duempelkas.App/Components/Layout/MainLayout.razor.cs +++ b/src/Duempelkas.App/Components/Layout/MainLayout.razor.cs @@ -24,6 +24,19 @@ public partial class MainLayout #region Properties + private static string AppBuildDate + { + get + { + var value = Assembly.GetEntryAssembly()?.GetCustomAttributes() + .FirstOrDefault(attribute => attribute.Key == "BuildDate")?.Value; + return DateTimeOffset.TryParse(value, System.Globalization.CultureInfo.InvariantCulture, + System.Globalization.DateTimeStyles.AssumeUniversal, out var built) + ? built.UtcDateTime.ToString("dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture) + : "unbekannt"; + } + } + private static string AppVersion { get diff --git a/src/Duempelkas.Desktop/Duempelkas.Desktop.csproj b/src/Duempelkas.Desktop/Duempelkas.Desktop.csproj index 6e04e2b..c31948b 100644 --- a/src/Duempelkas.Desktop/Duempelkas.Desktop.csproj +++ b/src/Duempelkas.Desktop/Duempelkas.Desktop.csproj @@ -21,6 +21,7 @@ + PreserveNewest