18b61bed52
- Widen AdminCandidateEditorModal to size lg for better readability - Rename "Clip-Compilation" section to "Clip / Compilation", update copy to reflect single clips too, drop upload hint and Clip-Plattform field, rename label to "Link" - Fix NativeSelect dropdown clipping inside overflow-y-auto modals by teleporting the menu to body with fixed positioning, flip-up logic, and dynamic maxHeight capped to viewport - Add ClipAdminMenuVisible setting (backend domain, contracts, endpoint, migration) with matching frontend types, defaults, form wiring, and toggle in the Clip-Workflow modal — hides the Clips nav item from the admin sidebar when disabled Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
122 lines
3.1 KiB
C#
122 lines
3.1 KiB
C#
namespace Backend.Contracts;
|
|
|
|
public sealed record AdminSeasonListItemDto(
|
|
int Id,
|
|
int Year,
|
|
string Name,
|
|
string CurrentPhase,
|
|
bool IsCurrent,
|
|
int CategoryCount);
|
|
|
|
public sealed record AdminCategoryItemDto(
|
|
int Id,
|
|
string GroupName,
|
|
string Name,
|
|
string Slug,
|
|
string Description,
|
|
int SortOrder,
|
|
int MaxNomineesPerUser,
|
|
int CandidateCount);
|
|
|
|
public sealed record AdminCandidateItemDto(
|
|
int Id,
|
|
int CategoryId,
|
|
string DisplayName,
|
|
string ChannelSlug,
|
|
string Platform,
|
|
string AcceptanceStatus,
|
|
string? AcceptanceNote,
|
|
string? ClipCompilationUrl,
|
|
string? ClipCompilationTitle,
|
|
string? ClipCompilationPlatform,
|
|
string ClipEmbedStatus);
|
|
|
|
public sealed record AdminAwardResultItemDto(
|
|
int Id,
|
|
int CategoryId,
|
|
string CategoryName,
|
|
int CandidateId,
|
|
string CandidateDisplayName,
|
|
string CandidateChannelSlug,
|
|
string CandidatePlatform);
|
|
|
|
public sealed record AdminSeasonDetailResponse(
|
|
int Id,
|
|
int Year,
|
|
string Name,
|
|
string ShowStreamUrl,
|
|
string CurrentPhase,
|
|
bool IsCurrent,
|
|
bool IsCommunityOnly,
|
|
DateOnly NominationStartsAt,
|
|
DateOnly NominationEndsAt,
|
|
DateOnly VotingStartsAt,
|
|
DateOnly VotingEndsAt,
|
|
DateOnly ReviewStartsAt,
|
|
DateOnly ReviewEndsAt,
|
|
DateOnly ShowDate,
|
|
TimeOnly ShowStartsAt,
|
|
IEnumerable<AdminCategoryItemDto> Categories,
|
|
IEnumerable<AdminCandidateItemDto> Candidates,
|
|
IEnumerable<AdminNominationReviewItemDto> PendingNominations,
|
|
IEnumerable<AdminNominationReviewItemDto> ReviewedNominations,
|
|
IEnumerable<AdminAwardResultItemDto> Results,
|
|
IEnumerable<AdminClipSubmissionItemDto> ClipSubmissions);
|
|
|
|
public sealed record CreateSeasonRequest(
|
|
int Year,
|
|
string Name,
|
|
string ShowStreamUrl,
|
|
string CurrentPhase,
|
|
bool IsCurrent,
|
|
bool IsCommunityOnly,
|
|
DateOnly NominationStartsAt,
|
|
DateOnly NominationEndsAt,
|
|
DateOnly VotingStartsAt,
|
|
DateOnly VotingEndsAt,
|
|
DateOnly ReviewStartsAt,
|
|
DateOnly ReviewEndsAt,
|
|
DateOnly ShowDate,
|
|
TimeOnly ShowStartsAt,
|
|
int? CopyStructureFromSeasonId = null);
|
|
|
|
public sealed record UpdateSeasonRequest(
|
|
int Year,
|
|
string Name,
|
|
string ShowStreamUrl,
|
|
string CurrentPhase,
|
|
bool IsCurrent,
|
|
bool IsCommunityOnly,
|
|
DateOnly NominationStartsAt,
|
|
DateOnly NominationEndsAt,
|
|
DateOnly VotingStartsAt,
|
|
DateOnly VotingEndsAt,
|
|
DateOnly ReviewStartsAt,
|
|
DateOnly ReviewEndsAt,
|
|
DateOnly ShowDate,
|
|
TimeOnly ShowStartsAt);
|
|
|
|
public sealed record UpsertCategoryRequest(
|
|
string GroupName,
|
|
string Name,
|
|
string Slug,
|
|
string Description,
|
|
int SortOrder,
|
|
int MaxNomineesPerUser);
|
|
|
|
public sealed record UpsertCandidateRequest(
|
|
int CategoryId,
|
|
string DisplayName,
|
|
string ChannelSlug,
|
|
string Platform,
|
|
string? AcceptanceStatus = null,
|
|
string? AcceptanceNote = null,
|
|
string? ClipCompilationUrl = null,
|
|
string? ClipCompilationTitle = null,
|
|
string? ClipCompilationPlatform = null,
|
|
string? ClipEmbedStatus = null);
|
|
|
|
public sealed record SetAwardResultRequest(
|
|
int CategoryId,
|
|
int CandidateId);
|