Загрузка данных


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