improvements
This commit is contained in:
@@ -63,16 +63,40 @@
|
||||
<div class="rules-toggle-grid">
|
||||
<label class="rule-check-item">
|
||||
<input type="checkbox" @bind="Rules.StackSevens" />
|
||||
<span>Kumulácia sediem (+2, +4, +6...)</span>
|
||||
<span>Kumulácia sediem (+3, +6, +9...)</span>
|
||||
</label>
|
||||
<label class="rule-check-item">
|
||||
<input type="checkbox" @bind="Rules.CounterAceWithAce" />
|
||||
<span>Prebíjanie esa esom</span>
|
||||
</label>
|
||||
<label class="rule-check-item">
|
||||
<input type="checkbox" @bind="Rules.RedSevenRevives" />
|
||||
<span>Červená sedma oživuje víťaza</span>
|
||||
</label>
|
||||
<div style="grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; background: rgba(255, 23, 68, 0.08); padding: 8px 12px; border-radius: 10px; border: 1px solid rgba(255, 23, 68, 0.25); gap: 12px;">
|
||||
<div style="display: flex; align-items: center; gap: 8px;">
|
||||
<span style="font-size: 1.1rem;">❤️</span>
|
||||
<div>
|
||||
<div style="font-weight: 700; color: #ff5252;">Červená sedma (Oživenie / Resurrect)</div>
|
||||
<div style="font-size: 0.76rem; color: #94a3b8;">Spôsob vrátenia skončeného hráča späť do hry</div>
|
||||
</div>
|
||||
</div>
|
||||
<select class="player-setup-select" style="width: auto; min-width: 240px; padding: 4px 10px; font-weight: 600;" @bind="Rules.RedSevenMode">
|
||||
<option value="@RedSevenMode.AnyCardOneRound">⚡ Voľná na čokoľvek (do 1 kola)</option>
|
||||
<option value="@RedSevenMode.ColorOrSevenThreeRounds">🎴 Klasická na Srdce/7 (do 3 kôl)</option>
|
||||
<option value="@RedSevenMode.Disabled">❌ Vypnuté (Bez oživenia)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div style="grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; background: rgba(45, 106, 79, 0.12); padding: 8px 12px; border-radius: 10px; border: 1px solid rgba(45, 106, 79, 0.35); gap: 12px;">
|
||||
<div style="display: flex; align-items: center; gap: 8px;">
|
||||
<span style="font-size: 1.1rem;">🍃</span>
|
||||
<div>
|
||||
<div style="font-weight: 700; color: #52b788;">Zelený dolník (Rušenie sediem)</div>
|
||||
<div style="font-size: 0.76rem; color: #94a3b8;">Zelený dolník zruší trest zo sedmy & pravidlá vykladania</div>
|
||||
</div>
|
||||
</div>
|
||||
<select class="player-setup-select" style="width: auto; min-width: 240px; padding: 4px 10px; font-weight: 600;" @bind="Rules.GreenUnderKnaveMode">
|
||||
<option value="@GreenUnderKnaveMode.OnlyOnSevenOrUnderKnave">🌿 Ruší sedmy (Zeleň / Dolník)</option>
|
||||
<option value="@GreenUnderKnaveMode.UniversalWildcard">✨ Voľný na čokoľvek + čokoľvek naňho</option>
|
||||
<option value="@GreenUnderKnaveMode.Disabled">❌ Vypnuté (Bez rušenia sediem)</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="rule-check-item">
|
||||
<input type="checkbox" @bind="Rules.FourOfAKindBurns" />
|
||||
<span>Spálenie (4 rovnaké karty)</span>
|
||||
@@ -90,6 +114,16 @@
|
||||
<option value="6">6 kariet</option>
|
||||
</select>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; gap: 8px; font-size: 0.9rem;">
|
||||
<span>Rýchlosť hry:</span>
|
||||
<select class="player-setup-select" style="width: auto; padding: 2px 8px;" @bind="Rules.SpeedLevel">
|
||||
<option value="1">🐢 0.5x (Pomalá)</option>
|
||||
<option value="2">🚶 0.75x (Pokojná)</option>
|
||||
<option value="3">⚡ 1x (Normálna - štandard)</option>
|
||||
<option value="4">🔥 1.5x (Rýchla)</option>
|
||||
<option value="5">🚀 2.5x (Turbo / Blesková)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Výber balíčka kariet (Deck Theme) -->
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
@namespace Faraon.Client.Components
|
||||
|
||||
<div class="player-slot @PositionClass @(IsCurrentTurn ? "active-turn-slot" : "")">
|
||||
<div class="avatar-badge @(IsCurrentTurn ? "active-turn" : "") @(Player.IsSkipped ? "is-skipped" : "") @(Player.HasFinished ? "is-finished" : "")">
|
||||
@if (IsCurrentTurn && !Player.HasFinished && !Player.IsEliminated)
|
||||
<div class="player-slot @PositionClass @(IsFrozen ? "frozen-slot" : (IsCurrentTurn ? "active-turn-slot" : ""))">
|
||||
<div class="avatar-badge @(IsFrozen ? "is-frozen" : (IsCurrentTurn ? "active-turn" : "")) @(Player.HasFinished ? "is-finished" : "") @(CanBeRevived && Player.HasFinished && ReviveTurnsRemaining > 0 ? "can-be-revived" : "")">
|
||||
@if (IsFrozen && !Player.HasFinished && !Player.IsEliminated)
|
||||
{
|
||||
<div class="frozen-indicator-badge">
|
||||
<span class="frozen-indicator-dot"></span>
|
||||
<span class="frozen-indicator-text">❄️ ZMRAZENÝ</span>
|
||||
</div>
|
||||
}
|
||||
else if (IsCurrentTurn && !Player.HasFinished && !Player.IsEliminated)
|
||||
{
|
||||
<div class="turn-indicator-badge">
|
||||
<span class="turn-indicator-dot"></span>
|
||||
@@ -45,6 +52,29 @@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (IsFrozen && !Player.HasFinished && !Player.IsEliminated)
|
||||
{
|
||||
<div class="icicles-row">
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
<span class="icicle"></span>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (CanBeRevived && Player.HasFinished && ReviveTurnsRemaining > 0)
|
||||
{
|
||||
<div class="revive-countdown-badge" title="Tento hráč môže byť vrátený do hry Červenou sedmou!">
|
||||
<span class="heartbeat-icon">❤️</span>
|
||||
<span>
|
||||
@(ReviveRoundsRemaining > 1 ? $"Oživenie: {ReviveRoundsRemaining} kolá" : (ReviveTurnsRemaining <= 1 ? "Oživenie: 1 ťah" : "Oživenie: 1 kolo"))
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<!-- Mini karty pre vizuálny odpočet kariet v ruke -->
|
||||
@@ -62,6 +92,10 @@
|
||||
@code {
|
||||
[Parameter, EditorRequired] public Player Player { get; set; } = default!;
|
||||
[Parameter] public bool IsCurrentTurn { get; set; } = false;
|
||||
[Parameter] public bool IsFrozen { get; set; } = false;
|
||||
[Parameter] public bool CanBeRevived { get; set; } = false;
|
||||
[Parameter] public int ReviveRoundsRemaining { get; set; } = 0;
|
||||
[Parameter] public int ReviveTurnsRemaining { get; set; } = 0;
|
||||
[Parameter] public bool IsOlympicMode { get; set; } = false;
|
||||
[Parameter] public string PositionClass { get; set; } = "slot-top";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user