Impl base app theme, change statusbar color
This commit is contained in:
@@ -3,7 +3,12 @@ package ru.fincode.tsudesk
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.core.view.WindowCompat
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import ru.fincode.tsudesk.core.ui.components.ConfigureSystemBars
|
||||
import ru.fincode.tsudesk.core.ui.theme.TSUDeskTheme
|
||||
import ru.fincode.tsudesk.core.ui.theme.TSUDeskThemeExt
|
||||
import ru.fincode.tsudesk.presentation.TSUDeskApp
|
||||
|
||||
@AndroidEntryPoint
|
||||
@@ -11,9 +16,16 @@ class MainActivity : ComponentActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
setContent {
|
||||
TSUDeskApp()
|
||||
TSUDeskTheme {
|
||||
ConfigureSystemBars(
|
||||
statusBarColor = Color.Transparent,
|
||||
navigationBarColor = TSUDeskThemeExt.colors.brand,
|
||||
darkIcons = false
|
||||
)
|
||||
TSUDeskApp()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package ru.fincode.tsudesk.presentation.main
|
||||
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -9,11 +10,11 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||
import ru.fincode.core.ui.components.BottomBarItem
|
||||
import ru.fincode.core.ui.components.TsudeskBottomBar
|
||||
import ru.fincode.tsudesk.R
|
||||
import ru.fincode.tsudesk.core.navigation.TopLevelDestination
|
||||
import ru.fincode.tsudesk.core.navigation.navigateToTopLevel
|
||||
import ru.fincode.tsudesk.core.ui.components.BottomBarItem
|
||||
import ru.fincode.tsudesk.core.ui.components.TsudeskBottomBar
|
||||
|
||||
@Composable
|
||||
fun MainScaffold(
|
||||
@@ -40,6 +41,10 @@ fun MainScaffold(
|
||||
val selected = selectedTopLevel(backStackEntry)
|
||||
|
||||
Scaffold(
|
||||
// ВАЖНО: при edge-to-edge отключаем автоматические systemBars insets у Scaffold,
|
||||
// иначе получаем двойные отступы (Scaffold + windowInsetsPadding в Header'е)
|
||||
contentWindowInsets = WindowInsets(0),
|
||||
|
||||
bottomBar = {
|
||||
if (shouldShowBottomBar(backStackEntry)) {
|
||||
val uiItems = items.map { item ->
|
||||
@@ -63,6 +68,8 @@ fun MainScaffold(
|
||||
}
|
||||
}
|
||||
) { innerPadding ->
|
||||
// innerPadding учитывает bottomBar и системные элементы Scaffold (если будут),
|
||||
// но НЕ добавляет statusBars (мы делаем это вручную в нужных местах, например в Header)
|
||||
content(Modifier.padding(innerPadding))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user