SIG SELECT: read qualifiers from model fields; drop hardcoded Leavened/Graven
- _sig_select_overlay.html: add data-levity-qualifier + data-gravity-qualifier to sig card elements so JS can read per-card values - sig-select.js: derive qualifier from cardEl.dataset instead of hardcoded string - _sea_overlay.html: use my_tray_sig.levity_qualifier / gravity_qualifier; collapse MIDDLE/MAJOR/else branches → MAJOR vs rest (all non-major show qualifier above name; empty qualifier renders empty <p>) - views.py: SIG READY event display uses card qualifier fields directly; removes separate MIDDLE / MAJOR / else branches Earthman courts now show Elevated/Graven; pips show Relieving/Grieving; Nomad and Popes show Enlightened/Engraven. Code architected by Disco DeDisco <discodedisco@outlook.com> Git commit message Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -118,7 +118,9 @@ var SigSelect = (function () {
|
||||
stageCard.querySelector('.fan-card-arcana').textContent = arcana;
|
||||
stageCard.querySelector('.fan-card-correspondence').textContent = ''; // shown in game-kit only
|
||||
|
||||
var qualifier = userPolarity === 'levity' ? 'Leavened' : 'Graven';
|
||||
var qualifier = userPolarity === 'levity'
|
||||
? (cardEl.dataset.levityQualifier || '')
|
||||
: (cardEl.dataset.gravityQualifier || '');
|
||||
var isMajor = arcana.toLowerCase().indexOf('major') !== -1;
|
||||
// Major arcana: qualifier sits below the title — append comma so it reads as a subtitle.
|
||||
stageCard.querySelector('.fan-card-name').textContent = isMajor ? title + ',' : title;
|
||||
|
||||
@@ -756,15 +756,11 @@ def sig_ready(request, room_id):
|
||||
reservation.ready = True
|
||||
reservation.save(update_fields=["ready"])
|
||||
card = reservation.card
|
||||
if card and card.arcana == TarotCard.MIDDLE:
|
||||
_pol_prefix = "Leavened" if reservation.polarity == SigReservation.LEVITY else "Graven"
|
||||
_card_display = f"{_pol_prefix} {card.name_title}"
|
||||
elif card and card.arcana == TarotCard.MAJOR:
|
||||
_base = card.name_title.removeprefix("The ")
|
||||
_pol_suffix = "of Light" if reservation.polarity == SigReservation.LEVITY else "from the Grave"
|
||||
_card_display = f"{_base} {_pol_suffix}"
|
||||
if card:
|
||||
_qual = card.levity_qualifier if reservation.polarity == SigReservation.LEVITY else card.gravity_qualifier
|
||||
_card_display = f"{_qual} {card.name_title}" if _qual else card.name_title
|
||||
else:
|
||||
_card_display = card.name_title if card else "a card"
|
||||
_card_display = "a card"
|
||||
record(room, GameEvent.SIG_READY, actor=request.user,
|
||||
card_name=_card_display,
|
||||
corner_rank=card.corner_rank if card else "",
|
||||
|
||||
@@ -32,13 +32,11 @@
|
||||
<div class="sig-stage-card" style="--sig-card-w: 4rem">
|
||||
{% if my_tray_sig %}
|
||||
<div class="fan-card-face">
|
||||
{% if my_tray_sig.arcana == "MIDDLE" %}
|
||||
<p class="sig-qualifier-above">{% if user_polarity == "levity" %}Leavened{% else %}Graven{% endif %}</p>
|
||||
{% if my_tray_sig.arcana == "MAJOR" %}
|
||||
<p class="fan-card-name">{{ my_tray_sig.name_title }}</p>
|
||||
{% elif my_tray_sig.arcana == "MAJOR" %}
|
||||
<p class="fan-card-name">{{ my_tray_sig.name_title }}</p>
|
||||
<p class="sig-qualifier-below">{% if user_polarity == "levity" %}Leavened{% else %}Graven{% endif %}</p>
|
||||
<p class="sig-qualifier-below">{% if user_polarity == "levity" %}{{ my_tray_sig.levity_qualifier }}{% else %}{{ my_tray_sig.gravity_qualifier }}{% endif %}</p>
|
||||
{% else %}
|
||||
<p class="sig-qualifier-above">{% if user_polarity == "levity" %}{{ my_tray_sig.levity_qualifier }}{% else %}{{ my_tray_sig.gravity_qualifier }}{% endif %}</p>
|
||||
<p class="fan-card-name">{{ my_tray_sig.name_title }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -72,7 +72,9 @@ Context: sig_cards, user_polarity, user_seat, sig_reserve_url, sig_reservations_
|
||||
data-correspondence="{{ card.correspondence|default:'' }}"
|
||||
data-keywords-upright="{{ card.keywords_upright|join:',' }}"
|
||||
data-keywords-reversed="{{ card.keywords_reversed|join:',' }}"
|
||||
data-cautions="{{ card.cautions_json }}">
|
||||
data-cautions="{{ card.cautions_json }}"
|
||||
data-levity-qualifier="{{ card.levity_qualifier }}"
|
||||
data-gravity-qualifier="{{ card.gravity_qualifier }}">
|
||||
<div class="fan-card-corner fan-card-corner--tl">
|
||||
<span class="fan-corner-rank">{{ card.corner_rank }}</span>
|
||||
{% if card.suit_icon %}<i class="fa-solid {{ card.suit_icon }}"></i>{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user