in hot-reload-devtools/src/main/kotlin/org/jetbrains/compose/devtools/sidecar/DtMainConsole.kt [25:57]
fun DtMainConsole(
header: String = "Console",
modifier: Modifier = Modifier,
scrollToBottom: Boolean = true,
animateBorder: Boolean = true,
) {
val logState = ConsoleLogUIState.composeValue()
val scroll = rememberScrollState(0)
LaunchedEffect(scroll.maxValue) {
if (logState.logs.isEmpty()) return@LaunchedEffect
scroll.scrollTo(scroll.maxValue)
}
Column(
modifier = modifier,
verticalArrangement = Arrangement.spacedBy(DtPadding.smallElementPadding)
) {
Row(
verticalAlignment = Alignment.Bottom,
) {
DtHeader2(header)
Spacer(Modifier.weight(1f))
DtCopyToClipboardButton { logState.logs.joinToString("\n") }
}
DtConsole(
logs = logState.logs,
modifier = Modifier.fillMaxSize(),
scrollToBottom = scrollToBottom,
animateBorder = animateBorder,
)
}
}