fix(desk): a row's keep, release and wipe take no room of their own
Operator, on the live Desk: "release and x take up space whether or not they're visible." They sat in a side column at opacity 0, which hides a control and still reserves its box, and hover-only never worked on touch. Each control now sits on the facts line beside the state it changes: release after "kept", keep after a countdown or hold, wipe last. They are always visible and quiet, and wipe turns danger only under the pointer or focus. The side column renders only when the row carries a badge. The row is flex, so an absent column costs no gap. Forms, POST targets and data-confirm wording are unchanged. The flex row exposed a latent sizing bug: the stacked Desk column was a bare 1fr, whose minimum is its content's, so a long nowrap provenance line scrolled the page sideways at phone width (1029px at 390). It is now minmax(0,1fr). Both behaviours have browser tests, mutation-proved (r2_flow.toml: 21/21). Contract C4 amended.
This commit is contained in:
@@ -158,3 +158,32 @@ new = '''
|
||||
continue
|
||||
except FileNotFoundError:
|
||||
continue'''
|
||||
|
||||
[[mutation]]
|
||||
label = "Desk row controls hidden until hover again (opacity 0 keeps their box)"
|
||||
file = "booth/templates/base.html"
|
||||
test = "tests/test_flow_browser.py::test_a_rows_keep_release_and_wipe_take_no_room_of_their_own"
|
||||
old = '''
|
||||
.desk-facts form{display:inline;margin:0}'''
|
||||
new = '''
|
||||
.desk-facts form{display:inline;margin:0;opacity:0}'''
|
||||
|
||||
[[mutation]]
|
||||
label = "Desk row renders its side column with no badge in it (a reserved gap)"
|
||||
file = "booth/templates/index.html"
|
||||
test = "tests/test_flow_browser.py::test_a_rows_keep_release_and_wipe_take_no_room_of_their_own"
|
||||
old = '''
|
||||
{% if b.marks_open or b.hold == "unreadable" or section == 'new' or b.uploaded %}
|
||||
<div class="desk-side">'''
|
||||
new = '''
|
||||
{% if true %}
|
||||
<div class="desk-side">'''
|
||||
|
||||
[[mutation]]
|
||||
label = "the stacked Desk column is a bare 1fr (content sets its minimum)"
|
||||
file = "booth/templates/base.html"
|
||||
test = "tests/test_flow_browser.py::test_the_desk_never_scrolls_sideways_on_a_phone"
|
||||
old = '''
|
||||
@media (max-width:1000px){.desk{grid-template-columns:minmax(0,1fr)}}'''
|
||||
new = '''
|
||||
@media (max-width:1000px){.desk{grid-template-columns:1fr}}'''
|
||||
|
||||
Reference in New Issue
Block a user