package net.kentonc.si
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Surface
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import net.kentonc.si.ui.ChatScreen
import net.kentonc.si.ui.SettingsScreen
import net.kentonc.si.ui.SiTheme
class MainActivity : ComponentActivity() {
private val vm: AgentViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
SiTheme {
// One silent update check per process: sets the top-bar badge
// if the hub has a newer release.
LaunchedEffect(Unit) { vm.checkForUpdates() }
Surface(Modifier.fillMaxSize()) {
val showSettings by vm.showSettings.collectAsState()
if (showSettings) SettingsScreen(vm) else ChatScreen(vm)
}
}
}
}
}