From 35dfa119c374477ba875f6b34af33ed2a1db0dcc Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 14 May 2026 18:41:18 +0000 Subject: [PATCH] fix: restrict video player button reordering drag to the drag handle Move the detectDragGestures pointerInput from the whole button card to the six-dot drag handle icon so drag-and-drop reordering activates only when the user grabs the handle. https://claude.ai/code/session_01Jyu8dLYN7MXVNaVZE3u2M9 --- .../settings/VideoPlayerSettingsScreen.kt | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/VideoPlayerSettingsScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/VideoPlayerSettingsScreen.kt index e6e6dada1..704575d6e 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/VideoPlayerSettingsScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/VideoPlayerSettingsScreen.kt @@ -261,18 +261,7 @@ private fun VideoPlayerButtonItemCard( scaleX = 1.02f scaleY = 1.02f } - }.padding(vertical = 8.dp, horizontal = Size20dp) - .pointerInput(Unit) { - detectDragGestures( - onDragStart = { onDragStart() }, - onDrag = { change, dragAmount -> - change.consume() - onDrag(dragAmount.y) - }, - onDragEnd = { onDragEnd() }, - onDragCancel = { onDragCancel() }, - ) - }, + }.padding(vertical = 8.dp, horizontal = Size20dp), ) { Row( modifier = Modifier.fillMaxWidth(), @@ -296,7 +285,20 @@ private fun VideoPlayerButtonItemCard( } Box( - modifier = Modifier.size(32.dp), + modifier = + Modifier + .size(32.dp) + .pointerInput(Unit) { + detectDragGestures( + onDragStart = { onDragStart() }, + onDrag = { change, dragAmount -> + change.consume() + onDrag(dragAmount.y) + }, + onDragEnd = { onDragEnd() }, + onDragCancel = { onDragCancel() }, + ) + }, contentAlignment = Alignment.CenterEnd, ) { Icon(