package ru.dobryanka.practice
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.runtime.*
import ru.dobryanka.practice.screens.FirstScreen
import ru.dobryanka.practice.screens.SecondScreen
import ru.dobryanka.practice.screens.ThirdScreen
import ru.dobryanka.practice.ui.theme.InternshipPracticeAppTheme
/**
* Перечисление экранов приложения для навигации
*/
enum class AppScreen {
FIRST,
SECOND,
THIRD
}
/**
* Главная Activity приложения, управляющая навигацией между экранами
*/
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
InternshipPracticeAppTheme {
// Храним текущий экран и текст, введенный на первом экране
var currentScreen by remember { mutableStateOf(AppScreen.FIRST) }
var userInputText by remember { mutableStateOf("") }
when (currentScreen) {
AppScreen.FIRST -> FirstScreen(
onNavigateToSecond = { text ->
userInputText = text
currentScreen = AppScreen.SECOND
},
onNavigateToThird = {
currentScreen = AppScreen.THIRD
}
)
AppScreen.SECOND -> SecondScreen(
receivedText = userInputText,
onBackToFirst = {
currentScreen = AppScreen.FIRST
}
)
AppScreen.THIRD -> ThirdScreen(
onBackToFirst = {
currentScreen = AppScreen.FIRST
}
)
}
}
}
}
}