namespace Predictalytics.Application.DTOs;

public record DashboardDto(
    int TotalTraders,
    int ActiveTraders24h,
    int TotalTrades,
    decimal TotalVolume24h,
    int UnreadAlerts,
    int WatchlistCount,
    IReadOnlyList<TraderDto> TopTraders,
    IReadOnlyList<TradeDto> RecentTrades,
    IReadOnlyList<AlertDto> RecentAlerts,
    PlatformBreakdownDto PlatformBreakdown
);

public record PlatformBreakdownDto(
    Dictionary<string, int> TraderCounts,
    Dictionary<string, decimal> VolumeCounts
);

public record AlertDto(
    int Id,
    string Type,
    string Platform,
    string Title,
    string Message,
    int Severity,
    bool IsRead,
    DateTime CreatedAt,
    string? TraderName
);
