natus tooltip: fix portal placement + viewport clamping + SVG sign icon
All checks were successful
ci/woodpecker/push/pyswiss Pipeline was successful
ci/woodpecker/push/main Pipeline was successful

- Move #id_natus_tooltip out of #id_applets_container (container-type:
  inline-size breaks position:fixed) → add to home.html alongside
  #id_tooltip_portal
- Move #id_natus_tooltip out of .natus-modal-wrap (transform breaks
  position:fixed) → place as sibling of .natus-overlay in room.html
- Add _positionTooltip() helper in natus-wheel.js: flips tooltip to
  left of cursor when it would overflow right edge; clamps both axes
- Replace hardcoded 280px in dashboard.js palette tooltip with measured
  offsetWidth; add left-edge floor (Math.max margin)
- Planet tooltip format: @14.0° Capricorn (<svg-icon>) using preloaded
  _signPaths; falls back to unicode symbol if not yet loaded
- Add .tt-sign-icon SCSS: fill:currentColor, vertical-align:middle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-04-18 14:02:49 -04:00
parent f15b17f7bd
commit 09ed64080b
7 changed files with 40 additions and 17 deletions

View File

@@ -74,7 +74,6 @@
{% endif %}
</section>
<div id="id_natus_tooltip" class="tt" style="display:none;"></div>
<script src="{% static 'apps/gameboard/d3.min.js' %}"></script>
<script src="{% static 'apps/gameboard/natus-wheel.js' %}"></script>
<script>

View File

@@ -21,5 +21,6 @@
{% include "apps/applets/_partials/_gear.html" with menu_id="id_dash_applet_menu" %}
</div>
<div id="id_tooltip_portal" class="token-tooltip" style="display:none;"></div>
<div id="id_natus_tooltip" class="tt" style="display:none;"></div>
{% endif %}
{% endblock content %}

View File

@@ -99,9 +99,6 @@
</div>{# /.natus-modal-wrap #}
</div>{# /.natus-overlay #}
{# Planet hover tooltip — position:fixed so it escapes overflow:hidden on the modal #}
<div id="id_natus_tooltip" class="tt" style="display:none;"></div>
<script src="{% static 'apps/gameboard/d3.min.js' %}"></script>
<script src="{% static 'apps/gameboard/natus-wheel.js' %}"></script>
<script>

View File

@@ -71,6 +71,10 @@
{% if room.table_status == "SKY_SELECT" %}
{% include "apps/gameboard/_partials/_natus_overlay.html" %}
{% endif %}
{# Natus tooltip: sibling of .natus-overlay, not inside .natus-modal-wrap (which has transform) #}
{% if room.table_status == "SKY_SELECT" %}
<div id="id_natus_tooltip" class="tt" style="display:none;"></div>
{% endif %}
{% if room.gate_status != "RENEWAL_DUE" and room.table_status != "SIG_SELECT" %}
{% include "apps/gameboard/_partials/_table_positions.html" %}