namespace Application.Features.Api.Studio.Dashboard.GetDashboard;

public sealed record Response(
    ChannelInfo? Channel,
    WidgetUrls? Widgets,
    FinancialSummary Financial,
    List<RecentDonation> RecentDonations
);

public sealed record ChannelInfo(
    int Id,
    string Sid,
    string Name,
    string? ThumbnailUrl,
    bool IsVerified,
    long SubscriberCount
);

public sealed record WidgetUrls(
    string WidgetToken,
    string Alert,
    string Goal,
    string Rank,
    string Crew,
    string Remote
);

public sealed record FinancialSummary(
    int AvailableBalance,
    int TodayDonations,
    int MonthDonations,
    int PendingWithdrawal
);

public sealed record RecentDonation(
    int Id,
    string SendName,
    int Amount,
    string? Message,
    DateTime CreatedAt
);