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