@page "/changelog" @rendermode InteractiveWebAssembly @attribute [AllowAnonymous] Changelog – Timetracker @* ── Header ── *@ Changelog Versionshistorie & Änderungen @foreach (var release in _releases) { @release.Version @if (release.IsLatest) { Aktuell } @release.Date @foreach (var entry in release.Entries) { @entry.Tag @entry.Text } } @code { private record ChangeEntry(string Tag, string Text); private record Release(string Version, string Date, bool IsLatest, List Entries); private static Color GetTagColor(string tag) => tag switch { "Neu" => Color.Success, "Fix" => Color.Error, "Upgrade" => Color.Info, _ => Color.Default }; private readonly List _releases = [ new("1.4", "08.06.2026", true, [ new("Neu", "Timebot implementiert"), new("Upgrade", "Security hardening"), new("Upgrade", "Changed coloring") ]), new("1.3", "08.06.2026", false, [ new("Fix", "Browser-Tab hat statischen Text angezeigt und sich nicht dynamisch an die jeweilige Seite angepasst"), ]), new("1.2", "08.06.2026", false, [ new("Upgrade", "Architektur-Migration auf Hosted Blazor WebAssembly (.NET 10) mit sauberer Projektstruktur (Client, Server, Shared)"), new("Neu", "Unterstützung für PostgreSQL-Datenbanken als produktive und skalierbare Alternative zu SQLite"), new("Neu", "Dynamische DB-Provider-Weiche (SQLite vs. PostgreSQL) über Konfigurations- und Umgebungsvariablen"), new("Neu", "Docker-Compose-Konfiguration inklusive PostgreSQL-Container für vereinfachten Deployment-Betrieb"), ]), new("1.1", "08.06.2026", false, [ new("Neu", "Versionsnummer in der Navbar mit Link zum Changelog"), new("Neu", "Changelog-Seite"), new("Neu", "Live-Aktualisierung der Benutzerliste bei neuer Registrierung"), new("Neu", "Automatisches Abmelden gelöschter Benutzer"), new("Neu", "Benutzernamen in der Benutzerverwaltung umbenennen"), new("Upgrade", "Navbar: Benutzer und Abmelden-Button unten fixiert"), ]), new("1.0", "20.05.2026", false, [ new("Neu", "Erste Version des Timetrackers"), new("Neu", "Wochenübersicht mit Arbeitszeiten und Pausen"), new("Neu", "Monatsübersicht"), new("Neu", "Feiertage-Verwaltung"), new("Neu", "Urlaubs-Maximizer"), new("Neu", "Einstellungen"), new("Neu", "Benutzerverwaltung für Admins"), new("Neu", "Registrierung und Login"), ]), ]; }