Avalonia-Portierung verbleibender UI-Elemente (A1 bis A4) umgesetzt
Paritaet mit dem WinForms-Referenzstand (Tag winforms-final) hergestellt: - A1 & A2 (Launcher): Account-Uebersicht DataGrid (inkl. Polymarket-Profil-Button via Launcher.LaunchUriAsync), Modul-KPI-Kacheln (7T/30T PnL & Winrate) und 3-Spalten-Live-Ueberblick (Auffaellige Trades 24h, Warnungen & Fehler heute aus den JSONL-Logs, Supervisor-KI Bericht). Periodische Aktualisierung alle 30 s eingebaut. - A3 (Copytrading): Master-Trader Werkzeugleiste um 'Neu' (AddNewTrader) und 'Loeschen' (DeleteSelectedTrader mit DialogWindow.Confirm) erweitert. - A4 (Terminal): Log-Kontextmenue fuer 'Kopieren' und 'Alles auswaehlen' an die Live-Log-Ausgabe angefuegt. Verifiziert: Solution baut fehlerfrei, 450 Tests gruen, --smoke-ui test erfolgreich. Co-Authored-By: Antigravity AI <antigravity@google.com>
This commit is contained in:
co-authored by
Antigravity AI
parent
29ea62fc7f
commit
7f0b05e9ba
@@ -0,0 +1,44 @@
|
||||
using Avalonia.Media;
|
||||
using PolyTrader.App.Avalonia.Shell;
|
||||
|
||||
namespace PolyTrader.App.Avalonia.ViewModels
|
||||
{
|
||||
/// <summary>Anzeige-Zeile der Account-Übersicht im Launcher.</summary>
|
||||
public sealed class AccountOverviewRow
|
||||
{
|
||||
public int AccountId { get; init; }
|
||||
public string Name { get; init; } = string.Empty;
|
||||
public string Modules { get; init; } = string.Empty;
|
||||
public string WalletAddress { get; init; } = string.Empty;
|
||||
public decimal Balance { get; init; }
|
||||
public decimal Pnl3d { get; init; }
|
||||
public decimal WinRate3d { get; init; }
|
||||
public decimal OverallPnl { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>Anzeige-Zeile für auffällige Trades der letzten 24 Stunden.</summary>
|
||||
public sealed class NotableTradeRow
|
||||
{
|
||||
public string Module { get; init; } = string.Empty;
|
||||
public string Market { get; init; } = string.Empty;
|
||||
public decimal Pnl { get; init; }
|
||||
public decimal PnlPct { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>Anzeige-Zeile für Warnungen & Fehler aus den Tages-JSONL-Logs.</summary>
|
||||
public sealed class LogAlertRow
|
||||
{
|
||||
public string Time { get; init; } = string.Empty;
|
||||
public string Level { get; init; } = string.Empty;
|
||||
public string Message { get; init; } = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>Kachel-Datenmodell für Modul-PnL/Winrate im Launcher.</summary>
|
||||
public sealed class ModuleKpiTile
|
||||
{
|
||||
public string ModuleName { get; init; } = string.Empty;
|
||||
public string Text { get; init; } = string.Empty;
|
||||
public bool IsPositive { get; init; } = true;
|
||||
public IBrush ForegroundBrush => ThemeManager.Brush(IsPositive ? "AppPositiveBrush" : "AppNegativeBrush");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user