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). #} {% if not request.user.significator_id %} {# Sprint 4b applet-gate — DRYly rendered as a project-wide Brief #} {# banner (`note-banner` Gaussian-glass shell, portaled to the #} {# page h2). Inline body falls through to the empty-state "No #} {# draws yet" since no sig → no draws is the only possible state.#} {% include "apps/gameboard/_partials/_my_sea_sign_gate_brief.html" %}

No draws yet.

{% elif 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. Sized to fill the applet height via #} {# container queries in `_gameboard.scss`. #}
{{ slot.card.corner_rank }} {% if slot.card.suit_icon %}{% endif %}

{{ slot.card.name_title }}

{{ slot.card.get_arcana_display }}

{{ slot.card.corner_rank }} {% if slot.card.suit_icon %}{% endif %}
{{ slot.label }}
{% else %}
{{ slot.label }}
{% endif %} {% endfor %}
{% else %}

No draws yet.

{% endif %}