Skip to content

Pull to refresh

Wraps scrollable content so a downward pull reloads it.

Pull to refresh Pull to refresh

var refreshing by remember {
    mutableStateOf(
        value = false,
    )
}
LaunchedEffect(
    key1 = refreshing,
) {
    if (refreshing) {
        delay(
            timeMillis = 1500,
        )
        refreshing = false
    }
}
JengaPullToRefresh(
    isRefreshing = refreshing,
    onRefresh = { refreshing = true },
    modifier = Modifier.height(
        height = 200.dp,
    ),
    content = {
        LazyColumn(
            content = {
                items(
                    items = listOf(
                        "Gate A",
                        "Gate B",
                        "Gate C",
                    ),
                ) { gate ->
                    JengaListItem(
                        headline = gate,
                        supporting = "Pull down to refresh",
                    )
                }
            },
        )
    },
)