/
Stalnodg
/
RandomCoffee
Обзор
Документация
Войти
/
Stalnodg
/
RandomCoffee
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
app/src/main/java/com/topit/randomcoffee/MainActivity.kt
56 строк
2 KB
Max
presentation: added darkTheme
05 май 2026, 18:21
05 май 2026, 18:21
e3f97e4
Код
Авторство
О чём код?
package com.topit.randomcoffee import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.rememberNavBackStack import androidx.navigation3.ui.NavDisplay import com.topit.randomcoffee.presentation.navigation.Screens import com.topit.randomcoffee.presentation.screens.InfoProductScreen import com.topit.randomcoffee.presentation.screens.MenuScreen import com.topit.randomcoffee.ui.theme.RandomCoffeeTheme import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { val systemDarkTheme = isSystemInDarkTheme() var isDarkTheme by rememberSaveable(systemDarkTheme) { mutableStateOf(systemDarkTheme) } RandomCoffeeTheme(darkTheme = isDarkTheme) { val backStack = rememberNavBackStack(Screens.Menu) NavDisplay( backStack = backStack, entryProvider = entryProvider { entry<Screens.Menu> { MenuScreen( isDarkTheme = isDarkTheme, onToggleTheme = { isDarkTheme = !isDarkTheme }, onProductClick = { product -> backStack.add(Screens.ProductDetail(product)) } ) } entry<Screens.ProductDetail> { entry -> InfoProductScreen( product = entry.product, onBack = { backStack.removeLastOrNull() } ) } } ) } } } }