⎇ e9d35ce8dd82f89a1fa32a0f72d69942766f80ca
consola/src/main/java/com/rizoma/consola/ui/ConsolaApp.kt
Ñawpa willay
ch'uya
Consola: diagnóstico en pantalla — bitácora en vivo del handshake WS/RPC
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}