Improve admin candidate modal UX and add clip menu visibility toggle
- 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>
This commit is contained in:
@@ -10,4 +10,10 @@ public sealed class Candidate
|
||||
public string DisplayName { get; set; } = string.Empty;
|
||||
public string ChannelSlug { get; set; } = string.Empty;
|
||||
public string Platform { get; set; } = "Twitch";
|
||||
public string AcceptanceStatus { get; set; } = "open";
|
||||
public string? AcceptanceNote { get; set; }
|
||||
public string? ClipCompilationUrl { get; set; }
|
||||
public string? ClipCompilationTitle { get; set; }
|
||||
public string? ClipCompilationPlatform { get; set; }
|
||||
public string ClipEmbedStatus { get; set; } = "unchecked";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
namespace Backend.Domain;
|
||||
|
||||
public sealed class ShowactApplication
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int SeasonId { get; set; }
|
||||
public Season Season { get; set; } = null!;
|
||||
public string ArtistName { get; set; } = string.Empty;
|
||||
public string ContactEmail { get; set; } = string.Empty;
|
||||
public string ContactDiscord { get; set; } = string.Empty;
|
||||
public string PlatformUrl { get; set; } = string.Empty;
|
||||
public string PerformanceType { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public string TechnicalNotes { get; set; } = string.Empty;
|
||||
public string ReferenceUrl { get; set; } = string.Empty;
|
||||
public string Status { get; set; } = "pending";
|
||||
public string? ReviewNote { get; set; }
|
||||
public string? ReviewedByTwitchId { get; set; }
|
||||
public string CreatedFromIp { get; set; } = string.Empty;
|
||||
public string UserAgent { get; set; } = string.Empty;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
public DateTimeOffset? ReviewedAt { get; set; }
|
||||
}
|
||||
@@ -16,9 +16,20 @@ public sealed class SiteSettings
|
||||
public string ContactContent { get; set; } = string.Empty;
|
||||
public string SponsorsUrl { get; set; } = string.Empty;
|
||||
public string SponsorsContent { get; set; } = string.Empty;
|
||||
public string ShowactsUrl { get; set; } = string.Empty;
|
||||
public string ShowactsContent { get; set; } = string.Empty;
|
||||
public string SocialLinksJson { get; set; } = "[]";
|
||||
public string FaqJson { get; set; } = "[]";
|
||||
public string RiskRulesJson { get; set; } = "[]";
|
||||
public string WorkflowRulesJson { get; set; } = "[]";
|
||||
public string NominationLinkBlacklistJson { get; set; } = "[]";
|
||||
public bool ClipSubmissionsEnabled { get; set; }
|
||||
public bool ClipReviewEnabled { get; set; } = true;
|
||||
public bool ClipAdminMenuVisible { get; set; } = true;
|
||||
public string ClipSubmissionDisabledMessage { get; set; } = "Clip-Einreichungen sind aktuell geschlossen.";
|
||||
public bool ShowactApplicationsEnabled { get; set; }
|
||||
public string ShowactApplicationDisabledMessage { get; set; } = "Showact-Bewerbungen sind aktuell geschlossen.";
|
||||
public bool SponsorsVisible { get; set; } = true;
|
||||
public bool DemoLoginManagedByDatabase { get; set; }
|
||||
public bool DemoLoginEnabled { get; set; }
|
||||
public string DemoLoginEmail { get; set; } = string.Empty;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace Backend.Domain;
|
||||
|
||||
public sealed class Sponsor
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int SeasonId { get; set; }
|
||||
public Season Season { get; set; } = null!;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string WebsiteUrl { get; set; } = string.Empty;
|
||||
public string LogoUrl { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public string Tier { get; set; } = "Partner";
|
||||
public int SortOrder { get; set; }
|
||||
public bool IsVisible { get; set; } = true;
|
||||
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
||||
public DateTimeOffset? UpdatedAt { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user