From 44a39b83e9ac57903f6784d1611b04ab8cc49937 Mon Sep 17 00:00:00 2001 From: Jeena Date: Wed, 14 Oct 2026 00:02:40 +0000 Subject: [PATCH] drawer: open focused on the current destination Opening the menu landed focus on Home regardless of where the user was; the sensible start is the item that already carries the selected state. From there all other destinations are a D-pad step or two away. --- .../main/java/net/jeena/jtubetv/ui/screens/HomeScreen.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/jeena/jtubetv/ui/screens/HomeScreen.kt b/app/src/main/java/net/jeena/jtubetv/ui/screens/HomeScreen.kt index 6ceff14..b589e53 100644 --- a/app/src/main/java/net/jeena/jtubetv/ui/screens/HomeScreen.kt +++ b/app/src/main/java/net/jeena/jtubetv/ui/screens/HomeScreen.kt @@ -382,6 +382,8 @@ private fun MenuDrawer( onDismiss: () -> Unit, modifier: Modifier = Modifier, ) { + // Focus the destination we are on (issue #16); its item carries the red + // selected background. The first drawer item (Home) was the wrong target. val drawerFocus = remember { FocusRequester() } LaunchedEffect(Unit) { runCatching { drawerFocus.requestFocus() } } val signOutContext = androidx.compose.ui.platform.LocalContext.current @@ -405,13 +407,13 @@ private fun MenuDrawer( } else false }, ) { - Destination.entries.forEachIndexed { index, dest -> + Destination.entries.forEach { dest -> MenuDrawerItem( icon = dest.icon(), label = dest.title, selected = dest == selected, onClick = { onSelect(dest) }, - modifier = if (index == 0) Modifier.focusRequester(drawerFocus) else Modifier, + modifier = if (dest == selected) Modifier.focusRequester(drawerFocus) else Modifier, ) } Spacer(modifier = Modifier.weight(1f))