History Screen lazy items

This commit is contained in:
tarsin committed 2023-01-23 10:27:02 +08:00
1 parent 6aa5b06619
commit 091705b3f2
2 files changed
+27 -3

No files matched your search

@@ -11,14 +11,30 @@ import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.cachedIn
import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.items
import com.hippo.ehviewer.EhDB
import com.hippo.ehviewer.R
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun HistoryScreen(toggleDrawer: () -> Unit) {
val coroutineScope = rememberCoroutineScope()
val historyData = remember {
Pager(
PagingConfig(20)
) {
EhDB.getHistoryLazyList()
}.flow.cachedIn(coroutineScope)
}.collectAsLazyPagingItems()
Scaffold(
topBar = {
TopAppBar(
@@ -40,11 +56,18 @@ fun HistoryScreen(toggleDrawer: () -> Unit) {
}
)
}
) {
) { paddingValues ->
LazyColumn(
Modifier.padding(it)
Modifier.padding(paddingValues)
) {
items(
items = historyData,
key = { item -> item.gid }
) {
it?.let {
Text(text = it.title!!)
}
}
}
}
}