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]
|
||||
return render(request, "core/_partials/_kit_bag_panel.html", {
|
||||
"equipped_deck": request.user.equipped_deck,
|
||||
"equipped_trinket": request.user.equipped_trinket,
|
||||
"free_token": free_tokens[0] if free_tokens else None,
|
||||
"free_count": len(free_tokens),
|
||||
|
||||
@@ -62,3 +62,24 @@ class GameKitTest(FunctionalTest):
|
||||
lambda: self.browser.find_element(By.ID, "id_kit_btn")
|
||||
)
|
||||
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;
|
||||
|
||||
&:hover .token-tooltip { display: none; } // JS positions these as fixed
|
||||
|
||||
|
||||
}
|
||||
|
||||
.token-tooltip {
|
||||
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 {
|
||||
|
||||
@@ -1,8 +1,27 @@
|
||||
{% if equipped_trinket or free_token or tithe_token %}
|
||||
{% if equipped_deck %}
|
||||
<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">
|
||||
{% with token=equipped_trinket %}
|
||||
<div
|
||||
class="token"
|
||||
@@ -30,12 +49,14 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="kit-bag-section">
|
||||
|
||||
{% if free_token or tithe_token %}
|
||||
<div class="kit-bag-section kit-bag-section--tokens">
|
||||
<span class="kit-bag-label">Tokens</span>
|
||||
<div class="kit-bag-row">
|
||||
<div class="kit-bag-row kit-bag-row--scroll">
|
||||
{% if free_token %}
|
||||
<div
|
||||
class="token"
|
||||
@@ -71,6 +92,4 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<p class="kit-bag-empty">Kit bag empty.</p>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user