fix(nav): give the question pack library a way back

The pack library was a navigation dead end: it is not a bottom-nav tab and it
draws no header of its own, and it was missing from shellBackRoutes — so the
shell rendered neither an app bar nor a bottom bar. Once there, the system Back
gesture was the only way off the screen.

It is reached by drilling in from four places (Home "All packs", the Play hub,
the question composer's empty state, and the weekly recap), so it needs the same
shell back affordance its own detail page (QUESTION_CATEGORY) already had.

Audited the whole route table for the same hole rather than patching just this
one. Every other non-tab route either sits in shellBackRoutes or draws its own
back; the two remaining are PAIR_PROMPT and RECOVERY, which are self-contained
entry flows with their own CTAs, so they are intentionally left alone.

Verified live on both fixtures: Home -> Question Packs -> a pack -> back ->
Question Packs -> back -> Home, in dark and light. Unit tests green, 0 FATAL.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
null 2026-07-14 21:31:13 -05:00
parent 66d38251ea
commit 089437e415
1 changed files with 4 additions and 0 deletions

View File

@ -686,6 +686,10 @@ private val shellBackRoutes = setOf(
// NB: PARTNER_HOME, WHEEL_HISTORY, GAME_HISTORY are intentionally NOT here — those screens // NB: PARTNER_HOME, WHEEL_HISTORY, GAME_HISTORY are intentionally NOT here — those screens
// render their OWN Scaffold+TopAppBar (with back). Adding them drew a SECOND app bar + back // render their OWN Scaffold+TopAppBar (with back). Adding them drew a SECOND app bar + back
// arrow on top of the screen's own (C-NAV-003 duplicate header, same class as C-CC-001). // arrow on top of the screen's own (C-NAV-003 duplicate header, same class as C-CC-001).
// The pack library is drilled into from Home, the Play hub, the composer and the weekly recap,
// but is not a bottom-nav tab and draws no header of its own — without this it rendered no app
// bar and no bottom bar, leaving the system Back gesture as the only way off the screen.
AppRoute.QUESTION_PACKS,
AppRoute.QUESTION_CATEGORY, AppRoute.QUESTION_CATEGORY,
AppRoute.QUESTION_COMPOSER, AppRoute.QUESTION_COMPOSER,
AppRoute.QUESTION_THREAD, AppRoute.QUESTION_THREAD,