fix: fit section grids and keep editing beside Surface - #137
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #136
On narrow phones, the text edit toggle wrapped below Surface, and font-scaled cell/handle minimum widths clipped saved section grids and the editor. The toggle is now a themed icon-only 48-point button that stays beside the selector. Saved grids and editor tracks share viewport-based sizing with 48-point targets and overflow only when those targets cannot fit.
Compact numbered handles retain full accessible row/column labels and tap/drag actions. Stacked button content wraps without truncation and uses intrinsic height; Save/Cancel use responsive sizing, and the editor measures safe areas inside its own modal. Drag borders no longer consume cell width. Existing saved layouts and action dispatch logic are unchanged.
Validation: npm run validate passed (527 tests, 64 suites, lint, TypeScript, version metadata, 21/21 Expo Doctor). Android API36 emulator: three-column/four-row fixture matches reported layout at320dp/150% and411dp/200%, all three columns fit; actual long-press drag swapped buttons; Add row/Add column/Reset remain reachable by vertical scrolling; portrait/landscape inspected. iOS26.5 simulator maximum Dynamic Type: icon beside selector, wrapping cells, readable Save/Cancel after intrinsic-height fix, and modal accessibility hierarchy inspected. Final modal SafeAreaProvider was checked natively with a four-column fixture in portrait and landscape at maximum Dynamic Type: header text wraps fully and respects modal safe areas.
The physical OPD2403 is currently unavailable for interactive verification (no app surface visible); its user data/drafts were not changed. Physical iPhone, TalkBack, VoiceOver and switch-scanning checks remain unverified. Temporary isolated fixtures are not committed.
Independent review of adfb1a0 found no actionable findings. CI is green: validation and both Android/iOS native builds passed (run 34128991094). User explicitly authorized merging after required checks and completing the next Beta20 internal release cycle.