gioser

sergio/humanoid

HTML 37Markdown 1TOML 10 Sutichaykuna

⎇ e9d35ce8dd82f89a1fa32a0f72d69942766f80ca consola/src/main/java/com/rizoma/consola/ui/ConsolaApp.kt 49 siq'ikuna · 1.4 KB Ñawpa willay ch'uya

Consola: diagnóstico en pantalla — bitácora en vivo del handshake WS/RPC e9d35ce8d · Sergio ·

1package com.rizoma.consola.ui
2
3import androidx.activity.compose.BackHandler
4import androidx.compose.runtime.Composable
5import androidx.compose.runtime.getValue
6import androidx.lifecycle.viewmodel.compose.viewModel
7import com.rizoma.consola.ConsolaViewModel
8import com.rizoma.consola.Screen
9
10@Composable
11fun ConsolaApp(vm: ConsolaViewModel = viewModel()) {
12    when (vm.screen) {
13        Screen.List -> SessionListScreen(
14            sessions = vm.sessions,
15            loading = vm.listLoading,
16            error = vm.listError,
17            onRefresh = vm::refresh,
18            onAttach = vm::attach,
19            onKill = vm::kill,
20            onSpawn = vm::spawn,
21            onSettings = vm::goSettings,
22        )
23
24        Screen.Terminal -> {
25            BackHandler { vm.goList() }
26            TerminalScreen(
27                title = vm.termTitle,
28                status = vm.termStatus,
29                message = vm.termMessage,
30                frame = vm.frame,
31                debug = vm.debug,
32                onClearDebug = vm::clearDebug,
33                onSized = vm::onTerminalSized,
34                onText = vm::sendText,
35                onBytes = vm::sendBytes,
36                onBack = vm::goList,
37            )
38        }
39
40        Screen.Settings -> {
41            BackHandler { vm.goList() }
42            SettingsScreen(
43                config = vm.config,
44                onSave = vm::saveSettings,
45                onBack = vm::goList,
46            )
47        }
48    }
49}