manager: auto scroll for module installation. #815

This commit is contained in:
weishu
2023-07-31 15:06:00 +08:00
parent d75678fca0
commit 76decba8d9

View File

@@ -46,6 +46,7 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
val snackBarHost = LocalSnackbarHost.current val snackBarHost = LocalSnackbarHost.current
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
val scrollState = rememberScrollState()
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
if (text.isNotEmpty()) { if (text.isNotEmpty()) {
@@ -58,6 +59,9 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
} }
}, onStdout = { }, onStdout = {
text += "$it\n" text += "$it\n"
scope.launch {
scrollState.animateScrollTo(scrollState.maxValue)
}
logContent.append(it).append("\n") logContent.append(it).append("\n")
}, onStderr = { }, onStderr = {
logContent.append(it).append("\n") logContent.append(it).append("\n")
@@ -107,7 +111,7 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
modifier = Modifier modifier = Modifier
.fillMaxSize(1f) .fillMaxSize(1f)
.padding(innerPadding) .padding(innerPadding)
.verticalScroll(rememberScrollState()), .verticalScroll(scrollState),
) { ) {
Text( Text(
modifier = Modifier.padding(8.dp), modifier = Modifier.padding(8.dp),