My Sea

{# `my_sea_slots` (built by `latest_draw_slots()` in `gameboard.models`) #} {# carries one entry per spread position in DRAW_ORDER — filled slots #} {# render the drawn card, empty slots render as labelled placeholders. #} {# Spread lock-in: the row is created at first card draw, so the moment #} {# 1+ cards exist all the spread's positions show in the applet. The #} {# scroll container handles overflow (mirrors the Palettes applet). #} {# Slot display is INDEPENDENT of `request.user.significator_id` — the #} {# MySeaDraw row snapshots the sig at first-draw time (see #} {# `gameboard.models.MySeaDraw` doc lines 130-132), so a subsequent #} {# my-sign DEL doesn't invalidate the saved draw. The sig-gate Brief #} {# banner only shows when the user has NO draws AND no sig — once draws #} {# exist, they render regardless of current sig state (user spec #} {# 2026-05-25 PM bug-report). #} {% if my_sea_slots %}
{% for slot in my_sea_slots %} {% if slot.card %}
{# Mirrors the my_sign.html `.sig-stage-card` layout — #} {# corner top-left, face w. name + arcana, mirror corner #} {# bottom-right. Label is a SIBLING of the slot inside #} {# the wrap so it sits BELOW the slot box (user-spec #} {# 2026-05-23: same position as the my_sea.html picker's #} {# `.sea-pos-label`). #}
{{ slot.card.corner_rank }} {% if slot.card.suit_icon %}{% endif %}
{# `slot.face` is the rendering payload from `TarotCard. #} {# applet_face()` — mirrors `populateCard` in #} {# `stage-card.js`: #} {# • Polarity-split (cards 19-21, 48-49): single-line #} {# title, qualifier blank. #} {# • Pattern B Major (2-5, 10-15, 22-35, 41): swapped #} {# reversal name + polarity qualifier carried. #} {# • Pattern B' Major (16-18): swapped reversal name, #} {# no qualifier on reversal. #} {# • Non-Major: qualifier ABOVE the title. #} {# Empty `.fan-card-qualifier` is hidden by `:empty` CSS. #} {% if slot.face.qualifier_first %}

{{ slot.face.qualifier }}

{{ slot.face.title }}

{% else %}

{{ slot.face.title }}

{{ slot.face.qualifier }}

{% endif %}

{{ slot.card.get_arcana_display }}

{{ slot.card.corner_rank }} {% if slot.card.suit_icon %}{% endif %}
{{ slot.label }}
{% else %}
{{ slot.label }}
{% endif %} {% endfor %}
{% else %} {% if not request.user.significator_id %} {% include "apps/gameboard/_partials/_my_sea_sign_gate_brief.html" %} {% endif %}

No draws yet.

{% endif %}