diff --git a/app/src/main/java/org/noxylva/lbjconsole/ui/screens/HistoryScreen.kt b/app/src/main/java/org/noxylva/lbjconsole/ui/screens/HistoryScreen.kt index eeb60bc..b8438a1 100644 --- a/app/src/main/java/org/noxylva/lbjconsole/ui/screens/HistoryScreen.kt +++ b/app/src/main/java/org/noxylva/lbjconsole/ui/screens/HistoryScreen.kt @@ -771,6 +771,30 @@ fun MergedTrainRecordItem( "${recordItem.locoType}-${recordItem.loco}" } else null } + GroupBy.TRAIN_OR_LOCO -> { + val latestTrain = mergedRecord.latestRecord.train.trim() + val latestLoco = mergedRecord.latestRecord.loco.trim() + val recordTrain = recordItem.train.trim() + val recordLoco = recordItem.loco.trim() + + when { + latestTrain.isNotEmpty() && latestTrain != "" && + recordTrain.isNotEmpty() && recordTrain != "" && + latestTrain == recordTrain -> { + if (recordLoco.isNotEmpty() && recordLoco != "") { + "${recordItem.locoType}-${recordLoco}" + } else null + } + latestLoco.isNotEmpty() && latestLoco != "" && + recordLoco.isNotEmpty() && recordLoco != "" && + latestLoco == recordLoco -> { + if (recordTrain.isNotEmpty() && recordTrain != "") { + recordTrain + } else null + } + else -> null + } + } else -> null } diff --git a/app/src/main/java/org/noxylva/lbjconsole/ui/screens/SettingsScreen.kt b/app/src/main/java/org/noxylva/lbjconsole/ui/screens/SettingsScreen.kt index 8cb370a..40d4246 100644 --- a/app/src/main/java/org/noxylva/lbjconsole/ui/screens/SettingsScreen.kt +++ b/app/src/main/java/org/noxylva/lbjconsole/ui/screens/SettingsScreen.kt @@ -47,13 +47,12 @@ fun SettingsScreen( val scrollState = rememberScrollState() LaunchedEffect(scrollPosition) { - if (scrollState.value != scrollPosition) { - scrollState.scrollTo(scrollPosition) + if (scrollPosition > 0 && scrollState.value != scrollPosition) { + scrollState.animateScrollTo(scrollPosition) } } LaunchedEffect(scrollState.value) { - delay(50) onScrollPositionChange(scrollState.value) }