feat: check fill profile on startup app

This commit is contained in:
MaximOksiuta
2025-11-21 18:54:38 +03:00
parent 44d7860883
commit aa16f6f63d
3 changed files with 34 additions and 19 deletions
@@ -8,22 +8,15 @@ import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.material3.Text
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.core.content.ContextCompat
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowCompat
import com.google.firebase.messaging.FirebaseMessaging
import com.prodhack.moscow2025.domain.usecase.auth.CheckSessionUseCase
import com.prodhack.moscow2025.domain.usecase.auth.SessionState
import com.prodhack.moscow2025.presentation.navigation.AppDestination
import com.prodhack.moscow2025.presentation.navigation.TTasksApp
import kotlinx.coroutines.flow.MutableStateFlow
@@ -48,13 +41,17 @@ class MainActivity : ComponentActivity() {
WindowCompat.setDecorFitsSystemWindows(window, false)
runBlocking {
val isAuthorized = try {
val sessionState = try {
checkSessionUseCase()
} catch (e: Exception) {
false
SessionState.NotAuthorized
}
sessionDestinationState.value =
if (isAuthorized) AppDestination.Main else AppDestination.Login
when (sessionState) {
SessionState.NotAuthorized -> AppDestination.Login
SessionState.NotFilledProfile -> AppDestination.FillProfile
SessionState.FilledAndAuthorized -> AppDestination.Main
}
stateLoaded = true
}