improvements
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
@namespace Faraon.Client.Components
|
||||
|
||||
<div class="game-over-overlay">
|
||||
<div class="game-over-card animate-pop" style="max-width: 500px;">
|
||||
<div class="game-over-title" style="font-size: 1.5rem; color: var(--gold);">
|
||||
🏅 Kolo #@RoundNumber Skončené!
|
||||
</div>
|
||||
|
||||
@if (RoundLoser != null)
|
||||
{
|
||||
<div style="background: rgba(239, 68, 68, 0.15); border: 1px solid rgba(239, 68, 68, 0.4); border-radius: 12px; padding: 10px 14px; margin-bottom: 16px;">
|
||||
<div style="color: #fca5a5; font-weight: 800; font-size: 0.95rem;">
|
||||
Porazený kola: @RoundLoser.Avatar @RoundLoser.Name
|
||||
</div>
|
||||
<div style="color: #cbd5e1; font-size: 0.85rem; margin-top: 3px;">
|
||||
@if (RoundLoser.IsEliminated)
|
||||
{
|
||||
<span style="color: #ef4444; font-weight: 900;">☠️ Stratil všetky karty a VYPADÁVA z Olympijského turnaja!</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>V ďalšom kole začína s <strong>@RoundLoser.OlympicCardsCount @(RoundLoser.OlympicCardsCount == 1 ? "kartou" : (RoundLoser.OlympicCardsCount < 5 ? "kartami" : "kartami"))</strong> (-1 karta)</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div style="font-size: 0.85rem; color: #94a3b8; text-transform: uppercase; font-weight: 700; margin-bottom: 8px; text-align: left;">
|
||||
Stav Olympijského turnaja:
|
||||
</div>
|
||||
|
||||
<div class="podium-list" style="margin-bottom: 20px;">
|
||||
@foreach (var player in Players.OrderBy(p => p.IsEliminated ? 1 : 0).ThenBy(p => p.FinishedPosition ?? 99))
|
||||
{
|
||||
<div class="podium-row @(player.FinishedPosition == 1 ? "winner" : (player.IsEliminated ? "eliminated-row" : ""))">
|
||||
<div class="podium-pos">
|
||||
@if (player.IsEliminated)
|
||||
{
|
||||
<span>☠️</span>
|
||||
}
|
||||
else if (player.FinishedPosition == 1)
|
||||
{
|
||||
<span>🥇</span>
|
||||
}
|
||||
else if (player.FinishedPosition == 2)
|
||||
{
|
||||
<span>🥈</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>#@(player.FinishedPosition ?? 3)</span>
|
||||
}
|
||||
</div>
|
||||
<div class="podium-player">
|
||||
<span>@player.Avatar</span>
|
||||
<span style="@(player.IsEliminated ? "text-decoration: line-through; opacity: 0.6;" : "")">@player.Name</span>
|
||||
@if (player.Type == PlayerType.AI)
|
||||
{
|
||||
<span style="font-size: 0.75rem; opacity: 0.7;">(AI)</span>
|
||||
}
|
||||
</div>
|
||||
<div style="font-weight: 800; font-size: 0.9rem;">
|
||||
@if (player.IsEliminated)
|
||||
{
|
||||
<span style="color: #ef4444;">Vyradený</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="color: var(--gold);">🎴 @player.OlympicCardsCount @(player.OlympicCardsCount == 1 ? "karta" : (player.OlympicCardsCount < 5 ? "karty" : "kariet"))</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div style="display: flex; gap: 12px; justify-content: center;">
|
||||
<button class="btn-primary-glow" style="padding: 12px 28px; font-size: 1.1rem;" @onclick="OnNextRound">
|
||||
⚔️ Začať Kolo #@(RoundNumber + 1)
|
||||
</button>
|
||||
<button class="btn-pill" style="padding: 12px 20px;" @onclick="OnBackToLobby">
|
||||
Do Lobby 🏠
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter] public int RoundNumber { get; set; } = 1;
|
||||
[Parameter] public Player? RoundLoser { get; set; }
|
||||
[Parameter] public List<Player> Players { get; set; } = new();
|
||||
[Parameter] public EventCallback OnNextRound { get; set; }
|
||||
[Parameter] public EventCallback OnBackToLobby { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user