@namespace Faraon.Client.Components
@if (IsOlympicMode) { 🏆 OLYMPIJSKÝ ŠAMPIÓN 👑 } else { 🏆 VÝSLEDKY ZÁPASU 👑 }
@{ var sortedPlayers = Players.OrderBy(p => p.IsEliminated ? 1 : 0).ThenBy(p => p.FinishedPosition ?? 99).ToList(); var firstPlace = MatchWinner ?? sortedPlayers.FirstOrDefault(p => p.FinishedPosition == 1) ?? sortedPlayers.FirstOrDefault(); var secondPlace = sortedPlayers.Count > 1 ? (sortedPlayers.FirstOrDefault(p => p != firstPlace && p.FinishedPosition == 2) ?? sortedPlayers.Skip(1).FirstOrDefault()) : null; var thirdPlace = sortedPlayers.Count > 2 ? (sortedPlayers.FirstOrDefault(p => p != firstPlace && p != secondPlace && p.FinishedPosition == 3) ?? sortedPlayers.Skip(2).FirstOrDefault()) : null; }
@if (secondPlace != null) {
@secondPlace.GetLiveAvatar()
@secondPlace.Name
2
} @if (firstPlace != null) {
👑
@firstPlace.GetLiveAvatar()
@firstPlace.Name
1
} @if (thirdPlace != null) {
@thirdPlace.GetLiveAvatar()
@thirdPlace.Name
3
}
@if (Stats != null) {
👑
MVP Zápasu
@Stats.GetMvpPlayerName()
🎒
Najväčší trest
@(Stats.MaxPenaltyDrawnInOneTurn > 0 ? $"+{Stats.MaxPenaltyDrawnInOneTurn} ({Stats.MaxPenaltyPlayerName})" : "Žiadny")
⏱️
Čas & Ťahy
@($"{(int)Stats.Duration.TotalMinutes}m {Stats.Duration.Seconds:D2}s • {Stats.TotalTurns} ťahov")
🔥
Spálenia & Esá
@($"{Stats.TotalCardsBurned / 4}x spálenie • {Stats.TotalAcesPlayed} es")
}
@code { [Parameter] public List Players { get; set; } = new(); [Parameter] public bool IsOlympicMode { get; set; } = false; [Parameter] public Player? MatchWinner { get; set; } [Parameter] public GameMatchStats? Stats { get; set; } [Parameter] public EventCallback OnPlayAgain { get; set; } [Parameter] public EventCallback OnBackToLobby { get; set; } }