|
|
@ -8,7 +8,15 @@ import androidx.compose.runtime.mutableStateOf
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
|
import androidx.compose.runtime.setValue
|
|
|
|
import androidx.compose.runtime.setValue
|
|
|
|
|
|
|
|
|
|
|
|
fun LazyListState.isScrolledToEnd() = layoutInfo.visibleItemsInfo.lastOrNull()?.index == layoutInfo.totalItemsCount - 1
|
|
|
|
@Composable
|
|
|
|
|
|
|
|
fun LazyListState.isScrolledToEnd(): Boolean {
|
|
|
|
|
|
|
|
return remember {
|
|
|
|
|
|
|
|
derivedStateOf {
|
|
|
|
|
|
|
|
val lastItem = layoutInfo.visibleItemsInfo.lastOrNull()
|
|
|
|
|
|
|
|
lastItem == null || lastItem.size + lastItem.offset <= layoutInfo.viewportEndOffset
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}.value
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
@Composable
|
|
|
|
fun LazyListState.isScrollingUp(): Boolean {
|
|
|
|
fun LazyListState.isScrollingUp(): Boolean {
|
|
|
|