From 0e8c1921fd101b78ad40fff79d93b89ce81db28f Mon Sep 17 00:00:00 2001 From: Syer10 Date: Fri, 6 May 2022 22:21:13 -0400 Subject: [PATCH] Improve performance of extensions menu --- .../extensions/components/ExtensionsScreenContent.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/extensions/components/ExtensionsScreenContent.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/extensions/components/ExtensionsScreenContent.kt index c4b3db87..d38194fc 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/extensions/components/ExtensionsScreenContent.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/extensions/components/ExtensionsScreenContent.kt @@ -89,23 +89,26 @@ fun ExtensionsScreenContent( languageDialogState::show ) } - ) { + ) { padding -> if (isLoading) { LoadingScreen() } else { val state = rememberLazyListState() - Box(Modifier.fillMaxSize().padding(it)) { + Box(Modifier.fillMaxSize().padding(padding)) { LazyColumn(Modifier.fillMaxSize(), state) { extensions.forEach { (header, items) -> - item { + item(key = header) { Text( header, style = MaterialTheme.typography.h6, modifier = Modifier.padding(16.dp, 16.dp, 16.dp, 4.dp) ) } - items(items) { extension -> + items( + items, + key = { it.pkgName } + ) { extension -> ExtensionItem( extension, onInstallClicked = installExtension,