namespace Nuuru.Server.DTOs.Members { public class MemberListItemDto { public Guid Id { get; set; } public string UserName { get; set; } = string.Empty; public string? AvatarUrl { get; set; } public string? RoleColor { get; set; } public string? RoleName { get; set; } public DateTime DateCreated { get; set; } public IReadOnlyList ActiveBanZones { get; set; } = []; public IReadOnlyList ActiveBans { get; set; } = []; public int? ClanId { get; set; } public string? ClanTag { get; set; } public string? ClanColor { get; set; } public string? ClanBadgeUrl { get; set; } // Leaderboard stats public int TotalPosts { get; set; } public int TotalForumThreads { get; set; } public int TotalForumPosts { get; set; } public int TotalComments { get; set; } public int UpvotesReceived { get; set; } public int DownvotesReceived { get; set; } public int FavoritesReceived { get; set; } public int ReactionScore { get; set; } } public enum MemberSortType { Newest, Posts, ForumThreads, ForumPosts, Comments, Upvotes, Downvotes, Favorites, ReactionScore } public enum SortDirection { Descending, Ascending } public enum TimePeriod { AllTime, Day, Week, Month, Year } }