From 44d039d2a0138ddc0545d9569022ce9fa0164476 Mon Sep 17 00:00:00 2001 From: wtclaude Date: Tue, 21 Jul 2026 15:18:53 -0500 Subject: [PATCH] fix(nav): make the navigation drawer scrollable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ModalDrawerSheet stacked all items in a non-scrolling column. A signed-in session adds My account, Notifications, and the three player groups (11 nav items + sign-out + change-server), which overflows the drawer height on shorter screens or larger display-size / font-scale settings — clipping the lower entries (Notifications among them) so they can't be reached. Wrap the drawer content in a verticalScroll column so every entry is reachable regardless of screen height. Verified on-device: a signed-in player sees Home…My houses + Sign out + Change server, with Notifications present and its screen reachable. Co-Authored-By: Claude --- app/src/main/java/com/runicgateway/app/ui/RunicApp.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/com/runicgateway/app/ui/RunicApp.kt b/app/src/main/java/com/runicgateway/app/ui/RunicApp.kt index 63769ad..7538240 100644 --- a/app/src/main/java/com/runicgateway/app/ui/RunicApp.kt +++ b/app/src/main/java/com/runicgateway/app/ui/RunicApp.kt @@ -3,9 +3,12 @@ */ package com.runicgateway.app.ui +import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Menu @@ -134,6 +137,11 @@ fun RunicApp( selectedTextColor = MaterialTheme.colorScheme.onSecondaryContainer, unselectedTextColor = MaterialTheme.colorScheme.onSurface, ) + // Scroll the drawer: a signed-in session adds Account, Notifications, and + // the player groups, and the full list overflows a phone's drawer height — + // without this the lower entries (Notifications included) are clipped and + // unreachable. See RunicGateway M10. + Column(Modifier.verticalScroll(rememberScrollState())) { Spacer(Modifier.height(12.dp)) Text( text = brand?.name?.takeIf { it.isNotBlank() } ?: stringResource(R.string.app_name), @@ -189,6 +197,7 @@ fun RunicApp( colors = drawerItemColors, modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding), ) + } } }, ) {