tooltips app TDD spike + kit bag refactor to .tt

- New apps.tooltips: TooltipContent model, {% tooltip data %} inclusion
  tag, _tooltip.html partial with .tt/.tt-title/.tt-description etc.
  class contract; 34 tests green
- Kit bag panel (_kit_bag_panel.html): .token-tooltip → .tt + child
  class renames (tt-title, tt-description, tt-shoptalk, tt-expiry)
- game-kit.js attachTooltip: .token-tooltip → .tt selector
- SCSS: .tt added alongside .token-tooltip for display:none default +
  hover rules in _wallet-tokens.scss and _game-kit.scss

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-04-15 22:16:50 -04:00
parent 71ef3dcb7f
commit de4ac60aec
20 changed files with 520 additions and 29 deletions

View File

@@ -105,7 +105,7 @@ class GameKitTest(FunctionalTest):
"arguments[0].dispatchEvent(new Event('mouseenter'))", deck_el
)
tooltip = self.browser.find_element(
By.CSS_SELECTOR, "#id_kit_bag_dialog .kit-bag-deck .token-tooltip"
By.CSS_SELECTOR, "#id_kit_bag_dialog .kit-bag-deck .tt"
)
self.wait_for(lambda: self.assertTrue(tooltip.is_displayed()))
text = tooltip.text

View File

@@ -235,7 +235,7 @@ class CarteBlancheTest(FunctionalTest):
# relying on hover visibility in headless Firefox.
self.assertIn(
"The Long Room",
carte_in_bag.find_element(By.CSS_SELECTOR, ".token-tooltip").get_attribute("textContent"),
carte_in_bag.find_element(By.CSS_SELECTOR, ".tt").get_attribute("textContent"),
)
# Close kit bag
self.browser.find_element(By.ID, "id_kit_btn").click()
@@ -265,7 +265,7 @@ class CarteBlancheTest(FunctionalTest):
)
self.assertNotIn(
"The Long Room",
carte_in_bag.find_element(By.CSS_SELECTOR, ".token-tooltip").get_attribute("textContent"),
carte_in_bag.find_element(By.CSS_SELECTOR, ".tt").get_attribute("textContent"),
)
self.browser.find_element(By.ID, "id_kit_btn").click()