2026-03-24 22:57:12 -04:00
|
|
|
{% extends "core/base.html" %}
|
|
|
|
|
{% load static %}
|
|
|
|
|
|
|
|
|
|
{% block title_text %}Game Kit{% endblock title_text %}
|
|
|
|
|
{% block header_text %}<span>Game</span>Kit{% endblock header_text %}
|
|
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
|
<div class="gameboard-page">
|
2026-04-04 13:49:48 -04:00
|
|
|
{% include "apps/applets/_partials/_gear.html" with menu_id="id_game_kit_menu" %}
|
|
|
|
|
{% include "apps/gameboard/_partials/_game_kit_applet_menu.html" %}
|
2026-03-24 22:57:12 -04:00
|
|
|
<div id="id_game_kit_applets_container">
|
2026-04-04 13:49:48 -04:00
|
|
|
{% include "apps/gameboard/_partials/_game_kit_sections.html" %}
|
2026-03-24 22:57:12 -04:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<dialog id="id_tarot_fan_dialog">
|
|
|
|
|
<div class="tarot-fan-wrap">
|
|
|
|
|
<button id="id_fan_prev" class="fan-nav fan-nav--prev" aria-label="Previous card">‹</button>
|
|
|
|
|
<div id="id_fan_content" class="tarot-fan"></div>
|
2026-04-30 21:01:52 -04:00
|
|
|
<button id="id_fan_flip" class="btn btn-reveal fan-flip-btn" type="button">FLIP</button>
|
|
|
|
|
<div class="fan-stage-block sig-stat-block" id="id_fan_stage_block">
|
|
|
|
|
<button class="btn btn-reverse spin-btn" type="button">SPIN</button>
|
|
|
|
|
<button class="btn btn-info fyi-btn" type="button">FYI</button>
|
|
|
|
|
<div class="stat-face stat-face--upright">
|
|
|
|
|
<p class="stat-face-label">Emanation</p>
|
|
|
|
|
<ul class="stat-keywords" id="id_fan_stat_upright"></ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="stat-face stat-face--reversed">
|
|
|
|
|
<p class="stat-face-label">Reversal</p>
|
|
|
|
|
<ul class="stat-keywords" id="id_fan_stat_reversed"></ul>
|
|
|
|
|
</div>
|
tray sig-card tooltip: portal w. PRV|NXT pager — TDD
Phase 2 of the apps.tooltips integration on the tray. Hovering
.tray-sig-card > .sig-stage-card opens #id_tooltip_portal w. an FYI panel
that mirrors #id_fan_fyi_panel (Energy / Operation entries cycled via
PRV|NXT), but w.o. the stage block, w.o. Reversal entries, & w.o. the fan
stage's click-to-dismiss handler — the panel-body click is reserved for
future drag-and-drop on .tray-sig-card:active.
- _partials/_sig_fyi_panel.html — new partial, the .sig-info + PRV|NXT
block extracted out of game_kit.html, _sig_select_overlay.html, &
_sea_overlay.html. {% include %}d back from those 3 callers; pure
copy-paste extraction (no behavioural change to fan stage, sig select,
or sea select).
- room.html: .tray-sig-card > .sig-stage-card gains data-energies +
data-operations (the only attrs StageCard.buildInfoData reads), keyed
off my_tray_sig.energies_json / .operations_json (existing TarotCard
properties).
- tray-tooltip.js: new sig branch — _showSig() builds the panel inline,
paints via StageCard.renderFyi, & wires PRV|NXT cycle handlers; the
mousemove union now covers the .fyi-prev / .fyi-next btn rects (the
btns hang past the portal's left & right edges) so mouse-over them
keeps the panel alive. Click stopPropagation on the btns prevents the
panel-body click from reaching anything else.
- TrayTooltipSpec: 6 new sig-branch specs (panel structure; first energy
entry rendered; PRV|NXT cycling; body click no-dismiss; pointer over
btn rects keeps panel alive; pointer outside full union clears).
- test_component_tray_tooltip.py: 4 sig FTs (hover populates portal w.
Energy/TESTLIBIDO/effect/1-of-2; PRV|NXT cycle; body click does NOT
dismiss; mouseleave clears).
FT helper note — the sig FT's _hover dispatches a synthetic mouseenter
via JS rather than ActionChains.move_to_element, because the role-card
& sig-card cells sit side-by-side in the tray grid: the pointer's
animated path crosses the role-card on its way to the sig-card &
opens the role tooltip mid-flight, which then occludes the sig stage
by the time the move lands. Direct dispatch lands the event on the
intended trigger w.o. the cross-cell drag-by.
313 epic ITs + 335 Jasmine specs (incl. 6 new) + 6 tray-tooltip FTs all
green.
Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 21:07:33 -04:00
|
|
|
{% include "apps/gameboard/_partials/_sig_fyi_panel.html" with panel_id="id_fan_fyi_panel" panel_extra_attrs='style="display:none"' %}
|
2026-04-30 21:01:52 -04:00
|
|
|
</div>
|
2026-03-24 22:57:12 -04:00
|
|
|
<button id="id_fan_next" class="fan-nav fan-nav--next" aria-label="Next card">›</button>
|
|
|
|
|
</div>
|
|
|
|
|
</dialog>
|
|
|
|
|
{% endblock content %}
|
|
|
|
|
|
|
|
|
|
{% block scripts %}
|
2026-04-30 21:01:52 -04:00
|
|
|
<script src="{% static 'apps/epic/stage-card.js' %}"></script>
|
2026-03-24 22:57:12 -04:00
|
|
|
<script src="{% static 'apps/gameboard/game-kit.js' %}"></script>
|
|
|
|
|
{% endblock scripts %}
|