From 66b2947e8c74e7963b77cf2dcfdbac0c8c6dc23e Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Mon, 18 May 2026 22:49:49 -0400 Subject: [PATCH] =?UTF-8?q?My=20Sign:=20Brief=20banner=20+=20Earthman=20[S?= =?UTF-8?q?habby=20Cardstock]=20backup=20deck=20when=20no=20equipped=20?= =?UTF-8?q?=E2=80=94=20TDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User-reported gap on /billboard/my-sign/ — admin user's only deck was in-use as `TableSeat.deck_variant` in another room (Wonderbeard) → `equipped_deck` cleared → previous my-sign template showed "Equip a card deck first…" w. no actionable next step. User scoped fix: don't force equip, just nudge via a Brief banner "Look!—no deck is equipped. Navigate to the Game Kit to equip one (FYI) or (NVM) proceed with the Earthman [Shabby Cardstock] deck.", title "Default deck warning". NVM dismisses + picker proceeds against an Earthman card pile labeled in-copy as the temporary backup; FYI links to /gameboard/ (Game Kit equip). User-modified line text in template: "Paperboard" → "Cardstock" mid-session ; **helper fallback** (epic/models.py): `personal_sig_cards(user)` now falls back to `DeckVariant.objects.filter(slug='earthman').first()` when `user.equipped_deck` is None — same 16-or-18 card pile, just sourced from the canonical Earthman deck rather than the empty FK. No new DeckVariant row needed; "Shabby Cardstock" is purely UX framing (cards are the same TarotCard records the room sig-select uses). Preserves the existing helper signature so no callers had to change ; **view + template** (billboard/views.py + my_sign.html): view passes `no_equipped_deck` + `show_backup_intro_banner` flags. Template removes the old `{% if not equipped_deck %}` forced-equip branch — picker now renders unconditionally w. cards from the backup helper when no deck is equipped. Brief banner fires via `Brief.showBanner({...})` on DOMContentLoaded when `show_backup_intro_banner` is true — gets h2-overlay positioning + NVM behavior + portal styling for free (per [[sprint-baltimorean-note-unlock-may18]] portrait h2 measurement in note.js's `_alignToH2`). Added ` - {% endif %} + + {# No equipped deck + no saved sig — fire a Brief banner via the #} + {# shared note.js API so positioning + NVM behavior + h2-overlay #} + {# styling matches every other Brief on the site (per #} + {# [[sprint-baltimorean-note-unlock-may18]] portrait h2 measurement). #} + {# FYI links to /gameboard/ (Game Kit equip); NVM dismisses + the #} + {# picker proceeds against the Earthman [Shabby Paperboard] fallback. #} + + {% if show_backup_intro_banner %} + + {% endif %} {% endblock content %}