From c80b4389aa8164c926c3bcf5995d25e20f14a7a0 Mon Sep 17 00:00:00 2001 From: dankito Date: Thu, 12 Sep 2024 11:07:55 +0200 Subject: [PATCH] Added holdings group to LazyColumn so that they also get scrolled (and don't stick to the top) --- .../GroupedTransactionsListItems.kt | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/net/codinux/banking/ui/composables/transactions/GroupedTransactionsListItems.kt b/composeApp/src/commonMain/kotlin/net/codinux/banking/ui/composables/transactions/GroupedTransactionsListItems.kt index 1048952..773d561 100644 --- a/composeApp/src/commonMain/kotlin/net/codinux/banking/ui/composables/transactions/GroupedTransactionsListItems.kt +++ b/composeApp/src/commonMain/kotlin/net/codinux/banking/ui/composables/transactions/GroupedTransactionsListItems.kt @@ -43,34 +43,36 @@ fun GroupedTransactionsListItems( val showColoredAmounts by DI.uiSettings.showColoredAmounts.collectAsState() - if (holdingsToDisplay.isNotEmpty()) { - Column(Modifier.fillMaxWidth().padding(top = 8.dp, bottom = 16.dp)) { - Text( - text = "Depotwerte", - fontSize = 16.sp, - fontWeight = FontWeight.SemiBold, - modifier = Modifier.padding(bottom = 2.dp), - ) + LazyColumn(modifier, contentPadding = PaddingValues(bottom = 12.dp)) { // padding bottom = add the space the FAB sticks into the content area (= 26 - the 16 we add at the bottom of the expenses line) + if (holdingsToDisplay.isNotEmpty()) { + items(1) { + Column(Modifier.fillMaxWidth().padding(top = 8.dp, bottom = 16.dp)) { + Text( + text = "Depotwerte", + fontSize = 16.sp, + fontWeight = FontWeight.SemiBold, + modifier = Modifier.padding(bottom = 2.dp), + ) - Text("Bitte beachten: Der Abruf der Depotwerte ist sehr experimentell. Wir haben nur seitenweise Spezifikation und am Ende ein kleines Beispiel, " + - "welches sich selbst nicht an die Spezifikation hält, und keine realen Bankantworten, wir mussten es also 'blind' implementieren.", - color = Colors.Red600, - modifier = Modifier.padding(horizontal = 6.dp).padding(top = 2.dp, bottom = 4.dp) - ) + Text("Bitte beachten: Der Abruf der Depotwerte ist sehr experimentell. Wir haben nur seitenweise Spezifikation und am Ende ein kleines Beispiel, " + + "welches sich selbst nicht an die Spezifikation hält, und keine realen Bankantworten, wir mussten es also 'blind' implementieren.", + color = Colors.Red600, + modifier = Modifier.padding(horizontal = 6.dp).padding(top = 2.dp, bottom = 4.dp) + ) - RoundedCornersCard { - Column(Modifier.background(Color.White)) { - holdingsToDisplay.forEachIndexed { index, holding -> -// key(statementOfHoldings.id) { - HoldingListItem(holding, index % 2 == 1, index < holdingsToDisplay.size - 1) -// } + RoundedCornersCard { + Column(Modifier.background(Color.White)) { + holdingsToDisplay.forEachIndexed { index, holding -> +// key(statementOfHoldings.id) { + HoldingListItem(holding, index % 2 == 1, index < holdingsToDisplay.size - 1) +// } + } + } } } } } - } - LazyColumn(modifier, contentPadding = PaddingValues(bottom = 12.dp)) { // padding bottom = add the space the FAB sticks into the content area (= 26 - the 16 we add at the bottom of the expenses line) items(groupedByDate.keys.sortedDescending()) { groupingDate -> Column(Modifier.fillMaxWidth()) { Text(