namespace Backend.Contracts;

public sealed record UserNominationStateDto(
    int? CategoryId,
    string CategoryGroupName,
    string[] Nominees);

public sealed record UserVoteStateDto(
    int CategoryId,
    int CandidateId);

public sealed record UserClipSubmissionStateDto(
    int Id,
    int? CategoryId,
    string ClipUrl,
    string Title,
    string Creator,
    string Platform,
    string Status,
    DateTimeOffset CreatedAt,
    string? ReviewNote,
    DateTimeOffset? ReviewedAt);

public sealed record UserParticipationResponse(
    int SeasonId,
    int Year,
    UserNominationStateDto[] Nominations,
    UserVoteStateDto[] Votes,
    UserClipSubmissionStateDto[] ClipSubmissions);
