diff --git a/src/apps/epic/static/apps/epic/combobox.js b/src/apps/epic/static/apps/epic/combobox.js index d4acd12..7fac4e8 100644 --- a/src/apps/epic/static/apps/epic/combobox.js +++ b/src/apps/epic/static/apps/epic/combobox.js @@ -55,7 +55,11 @@ var Combobox = (function () { o.setAttribute('aria-selected', idx === i ? 'true' : 'false'); }); var picked = options[i]; - if (current) current.textContent = picked.textContent.trim(); + // innerHTML (not textContent) so an option label carrying a
(the + // gameroom Sea Select 2-line spread names) keeps the line break in the + // current display. Plain-text options (sky / my_sea) are unaffected — + // their innerHTML == textContent. + if (current) current.innerHTML = picked.innerHTML.trim(); if (hidden && hidden.value !== picked.dataset.value) { hidden.value = picked.dataset.value; hidden.dispatchEvent(new Event('change', { bubbles: true })); diff --git a/src/apps/epic/tests/integrated/test_views.py b/src/apps/epic/tests/integrated/test_views.py index 6c067db..3a9f739 100644 --- a/src/apps/epic/tests/integrated/test_views.py +++ b/src/apps/epic/tests/integrated/test_views.py @@ -2618,7 +2618,8 @@ class PickSeaRenderingTest(TestCase): def test_sea_overlay_select_defaults_to_waite_smith_for_levity(self): self._confirm_sky() response = self.client.get(self.url) - self.assertContains(response, "Celtic Cross, Waite-Smith") + # 2-line spread label (split around the comma; "Rider-" prefix added). + self.assertContains(response, "Celtic Cross,
Rider-Waite-Smith") def test_sea_overlay_select_defaults_to_escape_velocity_for_gravity(self): ec_gamer = self.gamers[2] # EC — gravity @@ -2626,7 +2627,7 @@ class PickSeaRenderingTest(TestCase): ec_seat = TableSeat.objects.get(room=self.room, role="EC") self._confirm_sky(seat=ec_seat) response = self.client.get(self.url) - self.assertContains(response, "Celtic Cross, Escape Velocity") + self.assertContains(response, "Celtic Cross,
Escape Velocity") def test_user_polarity_in_context_at_sky_select(self): response = self.client.get(self.url) diff --git a/src/static_src/scss/_sky.scss b/src/static_src/scss/_sky.scss index a43c2e3..e1eaaa8 100644 --- a/src/static_src/scss/_sky.scss +++ b/src/static_src/scss/_sky.scss @@ -120,12 +120,14 @@ html.sea-open .sea-page.sea-page--room { // is its own --priUser rounded rectangle (the GAME POST .form-control look). .sea-page--room .sea-options-col .sea-form-col { background: transparent; - width: auto; - min-width: 15rem; - max-width: 22rem; + width: 19rem; // FIXED — independent of the select option text length + max-width: 90vw; padding: 0; gap: 0.6rem; } +// The selected-spread label wraps to two lines (around the comma) — let it sit +// left-aligned + tight, the
in the option label does the splitting. +.sea-page--room .sea-options-col .sea-select-current { line-height: 1.15; } .sea-page--room .sea-options-col .sea-form-main { flex: 0 0 auto; overflow: visible; @@ -162,15 +164,6 @@ html.sea-open .sea-page.sea-page--room { gap: 0.75rem; } -// A disabled btn (OK × / DEL ×) inside a --priUser chunk would BLEND into it — -// the global `.btn-disabled` bg is also --priUser → no visible circle. Drop them -// to the felt --duoUser so they read as a distinct disabled circle (like the -// deck-stack FLIP ×, user-spec 2026-06-08). The active/depress treatment is -// irrelevant here (the btns are inert). -.sea-page--room .sea-options-col .btn-disabled { - background-color: rgba(var(--duoUser), 1) !important; -} - // Pre-confirm: only the options show (the cross is hidden), filling the aperture // (mirrors `body:not(.sky-saved) .sky-wheel-col{display:none}`). .sea-page--room:not(.sea-spread-chosen) .sea-cross-col { display: none; } diff --git a/src/templates/apps/gameboard/_partials/_sea_overlay.html b/src/templates/apps/gameboard/_partials/_sea_overlay.html index 91b7dc3..0631813 100644 --- a/src/templates/apps/gameboard/_partials/_sea_overlay.html +++ b/src/templates/apps/gameboard/_partials/_sea_overlay.html @@ -41,15 +41,15 @@ via epic:sea_save. `?seat` threads the CARTE-selected seat onto the action URLs. aria-haspopup="listbox" aria-labelledby="id_sea_spread_label" tabindex="0"> - {% if sea_default_spread == "escape-velocity" %}Celtic Cross, Escape Velocity{% else %}Celtic Cross, Waite-Smith{% endif %} + {% if sea_default_spread == "escape-velocity" %}Celtic Cross,
Escape Velocity{% else %}Celtic Cross,
Rider-Waite-Smith{% endif %}