Repository navigation
Deck pages at phone width: row menus clear of the tab bar, zone columns aligned, previews true (#326) - #334
Merged
Merged
Conversation
Row menus scroll clear of the phone tab bar, the missing tab bar in spec 071's shots is the narrow frame's, and the DeckPage previews match the page. Two Opus review rounds taken (v0.3.0). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds AC-1.11 (the room box adds no height and sits in no scrolling container) and AC-1.12 (an untabbed shell gets no margin or room box); AC-3.2 notes the export's stale comment. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Found while writing the plan: a mid-page row passes 'scrolled to its end' trivially, and a click can't be aimed at the room box inside a frame without risking a link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nine tasks in three batches: the system spec first, the CSS block and menu controller method, previews and documents, then mutation checks, shots and the record. Two Opus plan review rounds taken. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… caches the page From the coordinator at Gate B: a details restored with open fires toggle again, so Back to a cached page with a menu open would scroll on restore. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A Back example in the system spec, a turbo:before-cache handler in the controller, the Menu.md sentence and a mutation check in Task 7. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ins and a room box (spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ons, TabBar, DeckPage and the README (spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…(spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Making the preview true showed the real deck page misaligns its zones' columns at 360px (46px against 16px menu column): spec 068's empty cell broke spec 060 AC-3.11. AC-1.14 and AC-1.15, Decision 6 and the Supersedes entry; ruled in by the coordinator. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
From the review of 0.6.0 and the coordinator's ruling (Option A): the worst-case row spills 19px past its container, the page does not scroll sideways; AC-1.15 becomes a committed example; own heading for the floor; Out of Scope notes wrapping the proxy tag. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…x so every zone's columns align (spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n rows with no proxy (spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…d TableActions (spec 074) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
24 JPEGs and a GIF at a 360px viewport, light and dark: menus near the bottom, the last row's eight items, the zone columns, the worst case, the previews. Factory data, placeholder card images; before is emulated. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Red run, mutation checks, runs, the measured costs and the screenshots list. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… and the current tab (spec 074) From the implementation review (F1, F2): both examples could pass without proving what they claim. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…-key claim, add the README's App additions entry From the implementation review (F3 to F6). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…D WITH MINOR FINDINGS) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
No docs/architecture area doc covers menus or the deck zone tables' column widths (the implementation review found none owed); the rules are in the design system's README and components, which this branch already updated. The index row is Frozen by the design system with the plan's retirement owed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…pec 027 D4) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…t note Three lessons (a corrected fixture can expose the page's bug, scroll range at the page end, a column floor measured at both pointers and on the worst row) and one reference memory, approved by the coordinator. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…width Kept both sides of docs/specs/README.md: the retired-plan rows of 070 and 071 from main, this branch's 074 row, and main's 076 row. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
plainprogrammer
marked this pull request as ready for review
November 12, 2026 04:56
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 #326
Spec 074 (spec, v0.6.1; verification). Factory data, placeholder card images; all phone shots are a 360px viewport in the narrow frame, light and dark.
What changed
Menu, fixed once in the component). Below 640px, on a page with a tab bar, opening a menu scrolls the page just far enough that the list ends 8px above the bar (the controller'sreveal;scroll-margin-top/-bottomon.c-menu__list). An empty::afterroom box under the open list lets the page scroll that far at its end (a prototype showed the last rows need it); a list taller than the room starts under the app bar. Nothing moves when the list is already clear, at 640px and wider, or with no tab bar; instant scroll underprefers-reduced-motion. A menu is closed before Turbo caches the page, so Back restores with every menu closed (AC-1.13).DeckPage.htmlandDeckPagePhone.htmldrew "Move copies" on 12 rows each that have no proxy; they now draw the empty menu cell the page builds.menu_cellin the design-system fixture too.Owed to the maintainer
ProxyTagruling, listed under Out of Scope.components.css:127still says the menu controller adds "arrow keys" (it never did); it is the design export's file, left alone;Menu.mdcorrects the claim and says so, so the next export fixes it.Verification
spec/system/menu_tab_bar_clearance_spec.rb: 29 examples, written first; the red run is inverification.md(menus 50 to 137px behind the bar, margins0px, list top 465 vs 65, menu column 16px vs 64px, the Back case restoring an open menu). Eight hand mutation checks each fail the example that guards them. After mergingmain: the file withdesign_system_files_spec,design_system_deck_components_specandselect_touch_floor_spec, 99 examples, 0 failures. The wider neighbours (deck page, proxies, shape panel, the examples that open menus in a narrow frame): 144 and 45 examples, 0 failures. RuboCop, YARD and Brakeman clean; the fullbin/ciran at the push (see the CI run below).Screenshots (360px viewport; "before" is emulated by switching the new margins, room box and scroll off, not built from
main)Menu opened with its trigger 40px above the bar. Before (the last three items are behind the bar) and after (all four items end 8px above it):
The last row of the page with proxies of two finishes (eight items), before and after (dark):
The zones' columns (Main with a proxy row, Sideboard with an owned card), before and after (light):
The worst case after the floor (its table spills 19px; the page does not scroll sideways) and the phone preview (dark):
The workflow, a menu opening near the bottom (the first frames after the click show the list behind the bar before the page scrolls it clear):
All 24 images and the GIF:
docs/specs/074-deck-pages-phone-width/screenshots/(also the card page's and the collection table's menus, the deck page at 1280px with a menu open, unchanged, and the desktop preview), listed inverification.md.🤖 Generated with Claude Code