diff --git a/src/apps/epic/tests/integrated/test_views.py b/src/apps/epic/tests/integrated/test_views.py index aa6e617..8c80f35 100644 --- a/src/apps/epic/tests/integrated/test_views.py +++ b/src/apps/epic/tests/integrated/test_views.py @@ -4180,6 +4180,25 @@ class PickSeaUnifiedFeltTest(TestCase): content = self.client.get(self.url).content.decode() self.assertNotIn("sig-stage-card-back-img", content) + def test_center_sig_renders_image_for_image_deck_sig(self): + """The spread's CENTER significator supplies the card-face image when its + deck has one (mirrors my_sea); the tray sig stays a simple thumbnail. The + sig's deck_variant is the card's OWN deck — the Sig Select pick comes from + the Role Select contributed deck, so this is the right source (no + equipped_deck bug, unlike the FLIP back-img). User-spec 2026-06-07.""" + minch = DeckVariant.objects.get(slug="minchiate-fiorentine-1860-1890") + il_matto = TarotCard.objects.filter(deck_variant=minch).first() + self.pc_seat.significator = il_matto + self.pc_seat.save(update_fields=["significator"]) + # my_tray_sig = confirmed_char.significator OR seat.significator → keep both. + char = Character.objects.get(seat=self.pc_seat, confirmed_at__isnull=False) + char.significator = il_matto + char.save(update_fields=["significator"]) + content = self.client.get(self.url).content.decode() + # Image-mode marker is unique to the felt cross center (the tray + preview + # sigs stay text-only). + self.assertIn("sea-sig-card sig-stage-card--image", content) + def test_always_two_deck_stacks_gravity_and_levity(self): """Unlike my_sea / Sig Select, the room Sea Select ALWAYS shows BOTH the Gravity + Levity stacks — the gamer draws from either populated half diff --git a/src/static_src/scss/_card-deck.scss b/src/static_src/scss/_card-deck.scss index 89152e4..30e910a 100644 --- a/src/static_src/scss/_card-deck.scss +++ b/src/static_src/scss/_card-deck.scss @@ -2348,10 +2348,10 @@ $_sea-title-els: '.fan-card-name, .sig-qualifier-above, .sig-qualifier-below, .f } } .sea-stage--gravity .sea-stage-card.is-flipped-to-back { - &::after { background: rgba(var(--quiUser), 0.6); } + &::after { background: rgba(var(--quiUser), 0.3); } } .sea-stage--levity .sea-stage-card.is-flipped-to-back { - &::after { background: rgba(var(--terUser), 0.6); } + &::after { background: rgba(var(--terUser), 0.3); } } // Sea stat block — reuses sig-select stat-block sizing, scoped to sea-stage. diff --git a/src/templates/apps/gameboard/_partials/_sea_overlay.html b/src/templates/apps/gameboard/_partials/_sea_overlay.html index ab95987..e06b80b 100644 --- a/src/templates/apps/gameboard/_partials/_sea_overlay.html +++ b/src/templates/apps/gameboard/_partials/_sea_overlay.html @@ -33,10 +33,20 @@ Each draw persists onto the seat's Character.celtic_cross via epic:sea_save. {% include "apps/gameboard/_partials/_my_sea_slot.html" with position="leave" saved=saved_by_position.leave crossing=False %}