Keep the Leveled Reader control block visible while the stats scroll (BL-16585) - #8160
Keep the Leveled Reader control block visible while the stats scroll (BL-16585)#8160StephenMcConnel wants to merge 2 commits into
Conversation
…(BL-16585) The Decodable Reader tool pins its stage nav at the top and its "Book is Decodable" / "Set Up Stages" control block at the bottom, and lets only the word lists scroll. The Leveled Reader had no internal scrolling region, so a tall stats panel made the whole tool overflow: the accordion panel scrolled, and the "Book is Leveled" toggle and the "Set Up Levels" button scrolled out of sight. Give the Leveled Reader the same three-band layout: the "Level x of y" nav pinned above, the stats / "For this Level" / "Keep in mind" content in a flex region that scrolls internally, and the control block pinned below. The scrolling region carries a min-height floor (as the Decodable Reader's sections do) rather than min-height: 0. Without a floor it is the only shrinkable item in the column, so in a short panel it collapsed to zero height, leaving the stats both invisible and unscrollable. With the floor, a panel too short even for that overflows and scrolls as a whole -- what it did before this change, and what the Decodable Reader does today. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
When the toolbox panel is too short for the nav, the stats region's min-height floor and the control block, the tool as a whole has to scroll so nothing becomes unreachable. That fallback was already working, but only as a side effect: "overflow-x: hidden" with no overflow-y makes the browser compute overflow-y as auto, because a non-visible axis forces the other one to auto. Declare the overflow-y: auto explicitly instead of relying on that, so a later edit to the horizontal overflow can't silently take the fallback away. No behavior change -- it is the value the panel already computed. Noticed by Devin (informational finding on PR #8160). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
[Claude Opus 5, during preflight] Consulted Devin on 2026-08-05 17:34 MDT, up to commit No bugs. One Investigate flag — that the 120px floor on the scrolling region is a magic number — which is now its own thread on the diff, assessed as not an issue and resolved there with the reasoning. Five informational items, not mirrored as threads. Two of them simply confirmed the layout reasoning (that dropping CI ( |
The Decodable Reader tool keeps its stage nav pinned at the top and its "Book is Decodable" / "Set Up Stages" control block pinned at the bottom, letting only the word lists scroll. The Leveled Reader had no internal scrolling region, so a tall stats panel made the whole tool overflow: the accordion panel scrolled and the "Book is Leveled" toggle and "Set Up Levels" button scrolled out of sight.
This gives the Leveled Reader the same three-band layout:
The scrolling region carries a
min-heightfloor (as the Decodable Reader's sections do) rather thanmin-height: 0. Without a floor it is the only shrinkable item in the column, so in a short panel it collapsed to zero height, leaving the stats both invisible and unscrollable. With the floor, a panel too short even for that overflows and scrolls as a whole — what it did before this change, and what the Decodable Reader does today.CSS only; no behavior or API changes.
Verified in a running Bloom
Measured over CDP in the Edit tab with a leveled book, at several forced panel heights:
Ref: https://issues.bloomlibrary.org/youtrack/issue/BL-16585
Devin review
This change is