From 9b1cbccd03256536648e43add218fea59359e518 Mon Sep 17 00:00:00 2001 From: gabriel20xx Date: Sun, 26 Oct 2025 15:29:33 +0100 Subject: [PATCH] fix: simplify drag-and-drop logic in ListsScreen and ManageColumnsDialog for reordering items --- .../java/com/collabtable/app/ui/screens/ListDetailScreen.kt | 4 +--- .../main/java/com/collabtable/app/ui/screens/ListsScreen.kt | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListDetailScreen.kt b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListDetailScreen.kt index 18beeeb..9f3c04a 100644 --- a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListDetailScreen.kt +++ b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListDetailScreen.kt @@ -2515,9 +2515,7 @@ fun ManageColumnsDialog( ) { if (from == to) return if (isEmpty() || from !in indices) return - val item = removeAt(from) - val insertIndex = (if (to > from) to - 1 else to).coerceIn(0, size) - add(insertIndex, item) + add(to.coerceIn(0, size), removeAt(from)) } val reorderState = diff --git a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListsScreen.kt b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListsScreen.kt index 13b0cf7..0cb90f4 100644 --- a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListsScreen.kt +++ b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/screens/ListsScreen.kt @@ -161,10 +161,7 @@ fun ListsScreen( ) { if (from == to) return if (isEmpty() || from !in indices) return - val item = removeAt(from) - // When moving downwards, the target index shifts left by one after removal - val insertIndex = (if (to > from) to - 1 else to).coerceIn(0, size) - add(insertIndex, item) + add(to.coerceIn(0, size), removeAt(from)) } val reorderState =