History Screen lazy items
This commit is contained in:
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!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user