diff --git a/CollabTableAndroid/app/src/main/java/com/collabtable/app/data/preferences/PreferencesManager.kt b/CollabTableAndroid/app/src/main/java/com/collabtable/app/data/preferences/PreferencesManager.kt index 9da4139..725f455 100644 --- a/CollabTableAndroid/app/src/main/java/com/collabtable/app/data/preferences/PreferencesManager.kt +++ b/CollabTableAndroid/app/src/main/java/com/collabtable/app/data/preferences/PreferencesManager.kt @@ -16,6 +16,9 @@ class PreferencesManager( private val _serverUrl = MutableStateFlow(getServerUrl()) val serverUrl: StateFlow = _serverUrl.asStateFlow() + private val _isFirstRun = MutableStateFlow(isFirstRun()) + val isFirstRunFlow: StateFlow = _isFirstRun.asStateFlow() + private val _themeMode = MutableStateFlow(getThemeMode()) val themeMode: StateFlow = _themeMode.asStateFlow() @@ -64,6 +67,7 @@ class PreferencesManager( fun setIsFirstRun(isFirstRun: Boolean) { prefs.edit().putBoolean(KEY_FIRST_RUN, isFirstRun).apply() + _isFirstRun.value = isFirstRun } fun getServerPassword(): String? = prefs.getString(KEY_SERVER_PASSWORD, null) diff --git a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/navigation/MainApp.kt b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/navigation/MainApp.kt index 27025db..980ffb2 100644 --- a/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/navigation/MainApp.kt +++ b/CollabTableAndroid/app/src/main/java/com/collabtable/app/ui/navigation/MainApp.kt @@ -16,6 +16,7 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -47,9 +48,10 @@ private object Routes { fun MainApp() { val context = LocalContext.current val prefs = remember { PreferencesManager.getInstance(context) } + val isFirstRun by prefs.isFirstRunFlow.collectAsState() // Show setup flow until completed; then show main app with bottom nav - if (prefs.isFirstRun()) { + if (isFirstRun) { val navController = rememberNavController() NavHost(navController, startDestination = Routes.SETUP) { composable(Routes.SETUP) {