fun DtMainConsole()

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,
        )
    }
}