What
resources/components/Bench/BenchHeader.stx puts hidden lg:flex on all three of its regions — the nav links, the search box and the auth buttons — and offers no hamburger or any other mobile affordance. Below the lg breakpoint the header is the logo and nothing else.
Verified on the built /judges at 375×812: logo, then straight into the hero. No way to reach Judges, Court Houses, Write a Review, Reviews, search, sign in or sign up from the header.
Why it blocks the mobile track
The iOS app (#79) is a native shell over this same site, so whatever the site does at phone width is what the app does. Shipping it in this state means an app whose only navigation is in-page links.
Starting point
resources/components/Bench/MobileMenu.stx already exists — 67 lines, a slide-over with search, the four main links, an authed section and register/login — but nothing includes it and it does not work as written. It is annotated in-file now rather than deleted, because it records the intended menu.
What has to be fixed before it can be included:
isOpenandisAuthenticatedare not defined in its own scope and no parent passes them. A component const plus auseStore('auth')reference has to supply both.:if="isOpen"is the wrong binder for a toggle that is false on first render — bindIf drops it and never re-renders. Use:showwith a staticstyle="display:none"(stx-standards §7.3, gate check 19).isAuthenticatedis read both with and without parens in the same file.<StxLink to="/logout">points at a route that does not exist. Logout is a store action; BenchHeader callsauth.logout().$dispatch('close')is unverified against this stx version.
Plus the header side: a hamburger button below lg, the open/close state, and a focus trap consistent with ConfirmHost's.
Found while
Auditing stx-standards §10.13 (delete unreferenced components) — the audit surfaced MobileMenu as dead, and checking whether it was safe to delete turned up the gap it was meant to fill.