From 2d2aff1bf68e0a0f649d91ea79b883b668b30a53 Mon Sep 17 00:00:00 2001 From: rafalzajfert Date: Mon, 2 Mar 2026 15:14:54 +0100 Subject: [PATCH] Improved isScrollable logic for lists containing items of different sizes. --- .../com/mudita/mmd/components/lazy/LazyMMD.kt | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/mmd-core/src/androidMain/kotlin/com/mudita/mmd/components/lazy/LazyMMD.kt b/mmd-core/src/androidMain/kotlin/com/mudita/mmd/components/lazy/LazyMMD.kt index 0edb384..e6fb65e 100644 --- a/mmd-core/src/androidMain/kotlin/com/mudita/mmd/components/lazy/LazyMMD.kt +++ b/mmd-core/src/androidMain/kotlin/com/mudita/mmd/components/lazy/LazyMMD.kt @@ -147,12 +147,7 @@ fun LazyColumnMMD( val layoutInfo by remember { derivedStateOf { state.layoutInfo } } var isDragging by remember { mutableStateOf(false) } val isScrollable by remember { - derivedStateOf { - val totalHeight = - layoutInfo.totalItemsCount * (layoutInfo.visibleItemsInfo.firstOrNull()?.size ?: 0) - val viewportHeight = layoutInfo.viewportEndOffset - layoutInfo.viewportStartOffset - totalHeight > viewportHeight - } + derivedStateOf { state.canScrollBackward || state.canScrollForward } } Row( @@ -274,12 +269,7 @@ fun LazyRowMMD( val layoutInfo by remember { derivedStateOf { state.layoutInfo } } var isDragging by remember { mutableStateOf(false) } val isScrollable by remember { - derivedStateOf { - val totalWidth = - layoutInfo.totalItemsCount * (layoutInfo.visibleItemsInfo.firstOrNull()?.size ?: 0) - val viewportWidth = layoutInfo.viewportEndOffset - layoutInfo.viewportStartOffset - totalWidth > viewportWidth - } + derivedStateOf { state.canScrollBackward || state.canScrollForward } } Column(