From 089437e415daa9b89893931f3b39ae46f4203370 Mon Sep 17 00:00:00 2001 From: null Date: Tue, 14 Jul 2026 21:31:13 -0500 Subject: [PATCH] fix(nav): give the question pack library a way back MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- app/src/main/java/app/closer/core/navigation/AppNavigation.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/app/closer/core/navigation/AppNavigation.kt b/app/src/main/java/app/closer/core/navigation/AppNavigation.kt index 371e8f85..ecb4865c 100644 --- a/app/src/main/java/app/closer/core/navigation/AppNavigation.kt +++ b/app/src/main/java/app/closer/core/navigation/AppNavigation.kt @@ -686,6 +686,10 @@ private val shellBackRoutes = setOf( // 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 // 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_COMPOSER, AppRoute.QUESTION_THREAD,