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 09ed15d..e2c72ee 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 @@ -2527,8 +2527,10 @@ fun ManageColumnsDialog( val reorderState = rememberReorderableLazyListState( onMove = { from, to -> - // Use the same semantics as on the Lists screen for consistency - reorderedFields.move(from.index, to.index) + // Map from Lazy positions (including dividers) to data indices + val fromData = from.index / 2 + val toData = to.index / 2 + reorderedFields.move(fromData, toData) }, ) @@ -2539,7 +2541,7 @@ fun ManageColumnsDialog( .fillMaxWidth() .reorderable(reorderState), state = reorderState.listState, - contentPadding = PaddingValues(horizontal = 8.dp, vertical = 16.dp), + contentPadding = PaddingValues(vertical = 16.dp), verticalArrangement = Arrangement.spacedBy(0.dp), ) { // Interleave dividers as separate Lazy items so dividers don't move with dragged rows 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 a91e7ae..7a6e054 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 @@ -179,7 +179,10 @@ fun ListsScreen( onMove = { from, to -> dragging = true val newList = working.toMutableList() - newList.move(from.index, to.index) + // Map from Lazy positions (including dividers) to data indices + val fromData = from.index / 2 + val toData = to.index / 2 + newList.move(fromData, toData) working = newList }, onDragEnd = { _, _ -> @@ -194,7 +197,7 @@ fun ListsScreen( .fillMaxSize() .reorderable(reorderState), state = reorderState.listState, - contentPadding = PaddingValues(horizontal = 8.dp, vertical = 8.dp), + contentPadding = PaddingValues(vertical = 8.dp), verticalArrangement = Arrangement.spacedBy(0.dp), ) { // Interleave dividers as separate list items so they don't move with dragged rows