Sea Select: refactor to scroll-snap options→cross (mirror Sky Select), drop the modal — TDD
The Gaussian spread modal couldn't hang off the burger #id_sea_btn anymore (that button now also opens the felt). Mirror Sky Select's form→wheel scroll-snap instead: the felt starts with the spread OPTIONS on the --duoUser felt; clicking OK confirms the spread → the options shunt DOWN and the spread CROSS takes page 1 (scroll down to find the options again). No modal, no corner NVM. - `_sea_overlay.html` restructured into `.sea-options-col` (the .sea-select combobox + mini preview + OK .btn-confirm + AUTO DRAW + DEL — NO deck stacks) and `.sea-cross-col` (the real .my-sea-cross + the Gravity/Levity deck stacks + the portaled stage). `#id_sea_overlay` is a `display:contents` passthrough so the two cols are the scroll-snap sections. - OK (`#id_sea_confirm_spread`) → `_chooseSpread()`: adds `sea-spread-chosen` to the felt → SCSS engages `scroll-snap-type:y mandatory`, the cross-col gets `order:-1` (page 1), options shunt to page 2; locks the combobox; eases the scroller to the cross. AUTO DRAW also confirms first. A reload of an in-progress sea renders `sea-spread-chosen` (cross revealed) server-side. - SCSS (`_sky.scss`): the sea felt is now a column scroller; `.sea-cross-col` `display:none` pre-confirm; the `sea-spread-chosen` scroll-snap block mirrors `body.sky-saved`. The options `.sea-form-col` goes transparent/content-sized (blends onto the felt, not the modal's --priUser card). - Sea sub-btn: no longer activated by openSea; it's the POST-COMPLETION reopen affordance (cascade activates it + `sea_btn_active = hand_complete` ctx flag), an active click → `window.openSeaFelt()` (review the saved spread), like the sky btn. Removed the sea_btn open-modal IIFE + the corner NVM. - IT: options-on-felt (combobox + OK + AUTO DRAW + DEL + preview) w. NO modal / NVM. 952 epic+gameboard ITs + Jasmine + PickSeaAsyncTransitionTest(3) green. my_sea.html keeps its modal (untouched) — the gameroom intentionally diverges. [[project-character-creation-spec]] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -687,6 +687,11 @@ def _role_select_context(room, user, seat_param=None):
|
||||
)
|
||||
# 6-card Celtic Cross is complete at 6 placed cards.
|
||||
ctx["hand_complete"] = len(_sea_hand) >= 6
|
||||
# Burger Sea sub-btn = the post-completion REOPEN affordance (active
|
||||
# only once the spread is complete, like the Sky sub-btn after a save
|
||||
# — NOT during drawing). So a reload of a complete sea renders it
|
||||
# active; the live cascade activates it client-side otherwise.
|
||||
ctx["sea_btn_active"] = ctx["hand_complete"]
|
||||
# Sea-stage FLIP card-back — sourced from the SEAT's contributed deck,
|
||||
# NOT request.user.equipped_deck (which `select_role` nulls out once
|
||||
# the deck is contributed to the room → the back-img silently never
|
||||
|
||||
Reference in New Issue
Block a user