currently equipped card deck & placeholder for dice set added to kit bag; scrollability of tokens added to styling; equipped_deck added to apps.dash.views.kit_bag; html structure added to templates/core/_partials/_kit_bag_panel.html; two new test cases added to FTs.test_game_kit.GameKitTest
This commit is contained in:
@@ -181,6 +181,7 @@ def kit_bag(request):
|
|||||||
)
|
)
|
||||||
tithe_tokens = [t for t in tokens if t.token_type == Token.TITHE]
|
tithe_tokens = [t for t in tokens if t.token_type == Token.TITHE]
|
||||||
return render(request, "core/_partials/_kit_bag_panel.html", {
|
return render(request, "core/_partials/_kit_bag_panel.html", {
|
||||||
|
"equipped_deck": request.user.equipped_deck,
|
||||||
"equipped_trinket": request.user.equipped_trinket,
|
"equipped_trinket": request.user.equipped_trinket,
|
||||||
"free_token": free_tokens[0] if free_tokens else None,
|
"free_token": free_tokens[0] if free_tokens else None,
|
||||||
"free_count": len(free_tokens),
|
"free_count": len(free_tokens),
|
||||||
|
|||||||
@@ -62,3 +62,24 @@ class GameKitTest(FunctionalTest):
|
|||||||
lambda: self.browser.find_element(By.ID, "id_kit_btn")
|
lambda: self.browser.find_element(By.ID, "id_kit_btn")
|
||||||
)
|
)
|
||||||
self.assertTrue(kit_btn.is_displayed())
|
self.assertTrue(kit_btn.is_displayed())
|
||||||
|
|
||||||
|
def test_kit_dialog_shows_equipped_deck(self):
|
||||||
|
"""New user auto-gets Earthman equipped; kit bar shows its deck card."""
|
||||||
|
self.browser.get(self.gate_url)
|
||||||
|
self.browser.find_element(By.ID, "id_kit_btn").click()
|
||||||
|
self.wait_for(
|
||||||
|
lambda: self.browser.find_element(
|
||||||
|
By.CSS_SELECTOR,
|
||||||
|
f"#id_kit_bag_dialog .kit-bag-deck[data-deck-id='{self.gamer.equipped_deck.pk}']",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_kit_dialog_always_shows_dice_placeholder(self):
|
||||||
|
self.browser.get(self.gate_url)
|
||||||
|
self.browser.find_element(By.ID, "id_kit_btn").click()
|
||||||
|
self.wait_for(
|
||||||
|
lambda: self.browser.find_element(
|
||||||
|
By.CSS_SELECTOR,
|
||||||
|
"#id_kit_bag_dialog .kit-bag-placeholder",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|||||||
@@ -102,13 +102,36 @@
|
|||||||
padding: 0 0.125rem;
|
padding: 0 0.125rem;
|
||||||
|
|
||||||
&:hover .token-tooltip { display: none; } // JS positions these as fixed
|
&:hover .token-tooltip { display: none; } // JS positions these as fixed
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.token-tooltip {
|
.token-tooltip {
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.kit-bag-deck {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 0 0.125rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kit-bag-placeholder {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
opacity: 0.3;
|
||||||
|
padding: 0 0.125rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.kit-bag-section--tokens {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kit-bag-row--scroll {
|
||||||
|
overflow-x: auto;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
scrollbar-width: none;
|
||||||
|
&::-webkit-scrollbar { display: none; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.kit-bag-empty {
|
.kit-bag-empty {
|
||||||
|
|||||||
@@ -1,8 +1,27 @@
|
|||||||
{% if equipped_trinket or free_token or tithe_token %}
|
{% if equipped_deck %}
|
||||||
<div class="kit-bag-section">
|
<div class="kit-bag-section">
|
||||||
<span class="kit-bag-label">Trinkets</span>
|
<span class="kit-bag-label">Deck</span>
|
||||||
|
<div class="kit-bag-row">
|
||||||
|
<div class="kit-bag-deck" data-deck-id="{{ equipped_deck.pk }}">
|
||||||
|
<i class="fa-regular fa-id-badge"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="kit-bag-section">
|
||||||
|
<span class="kit-bag-label">Dice</span>
|
||||||
|
<div class="kit-bag-row">
|
||||||
|
<div class="kit-bag-placeholder">
|
||||||
|
<i class="fa-solid fa-dice"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if equipped_trinket %}
|
||||||
|
<div class="kit-bag-section">
|
||||||
|
<span class="kit-bag-label">Trinket</span>
|
||||||
<div class="kit-bag-row">
|
<div class="kit-bag-row">
|
||||||
{% if equipped_trinket %}
|
|
||||||
{% with token=equipped_trinket %}
|
{% with token=equipped_trinket %}
|
||||||
<div
|
<div
|
||||||
class="token"
|
class="token"
|
||||||
@@ -30,12 +49,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="kit-bag-section">
|
{% endif %}
|
||||||
|
|
||||||
|
{% if free_token or tithe_token %}
|
||||||
|
<div class="kit-bag-section kit-bag-section--tokens">
|
||||||
<span class="kit-bag-label">Tokens</span>
|
<span class="kit-bag-label">Tokens</span>
|
||||||
<div class="kit-bag-row">
|
<div class="kit-bag-row kit-bag-row--scroll">
|
||||||
{% if free_token %}
|
{% if free_token %}
|
||||||
<div
|
<div
|
||||||
class="token"
|
class="token"
|
||||||
@@ -71,6 +92,4 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
|
||||||
<p class="kit-bag-empty">Kit bag empty.</p>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
Reference in New Issue
Block a user