@@ -8,10 +8,12 @@ import androidx.compose.foundation.layout.Spacer
88import androidx.compose.foundation.layout.fillMaxSize
99import androidx.compose.foundation.layout.fillMaxWidth
1010import androidx.compose.foundation.layout.height
11+ import androidx.compose.foundation.layout.statusBarsPadding
1112import androidx.compose.foundation.lazy.items
1213import androidx.compose.material3.CircularProgressIndicator
1314import androidx.compose.material3.Text
1415import androidx.compose.runtime.Composable
16+ import androidx.compose.runtime.DisposableEffect
1517import androidx.compose.ui.Alignment
1618import androidx.compose.ui.Modifier
1719import androidx.compose.ui.res.stringResource
@@ -20,7 +22,9 @@ import com.ninecraft.booket.core.designsystem.DevicePreview
2022import com.ninecraft.booket.core.designsystem.component.button.ReedButton
2123import com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle
2224import com.ninecraft.booket.core.designsystem.component.button.largeButtonStyle
25+ import com.ninecraft.booket.core.designsystem.theme.HomeBg
2326import com.ninecraft.booket.core.designsystem.theme.ReedTheme
27+ import com.ninecraft.booket.core.designsystem.theme.White
2428import com.ninecraft.booket.core.model.LibraryBookSummaryModel
2529import com.ninecraft.booket.core.ui.component.InfinityLazyColumn
2630import com.ninecraft.booket.core.ui.component.LoadStateFooter
@@ -31,21 +35,44 @@ import com.ninecraft.booket.feature.screens.LibraryScreen
3135import com.slack.circuit.codegen.annotations.CircuitInject
3236import dagger.hilt.android.components.ActivityRetainedComponent
3337import kotlinx.collections.immutable.persistentListOf
38+ import tech.thdev.compose.exteions.system.ui.controller.rememberSystemUiController
3439
3540@CircuitInject(LibraryScreen ::class , ActivityRetainedComponent ::class )
3641@Composable
3742internal fun LibraryUi (
3843 state : LibraryUiState ,
3944 modifier : Modifier = Modifier ,
4045) {
46+ // TODO: Android 15에서 statusBar 색상 적용 안되는 문제 있음. 해결 예정.
47+ val systemUiController = rememberSystemUiController()
48+
49+ DisposableEffect (systemUiController) {
50+ systemUiController.setStatusBarColor(
51+ color = White ,
52+ darkIcons = true ,
53+ )
54+ onDispose {}
55+ }
56+
4157 HandleLibrarySideEffects (
4258 state = state,
4359 eventSink = state.eventSink,
4460 )
4561
4662 Column (
47- modifier = modifier.fillMaxSize(),
63+ modifier = modifier
64+ .fillMaxSize()
65+ .statusBarsPadding(),
4866 ) {
67+ LibraryHeader (
68+ onSearchClick = {
69+ state.eventSink(LibraryUiEvent .OnLibrarySearchClick )
70+ },
71+ onSettingClick = {
72+ state.eventSink(LibraryUiEvent .OnSettingsClick )
73+ },
74+ )
75+
4976 LibraryContent (
5077 state = state,
5178 modifier = modifier,
@@ -63,14 +90,6 @@ internal fun LibraryContent(
6390 horizontalAlignment = Alignment .CenterHorizontally ,
6491 verticalArrangement = Arrangement .Center ,
6592 ) {
66- LibraryHeader (
67- onSearchClick = {
68- state.eventSink(LibraryUiEvent .OnLibrarySearchClick )
69- },
70- onSettingClick = {
71- state.eventSink(LibraryUiEvent .OnSettingsClick )
72- },
73- )
7493 FilterChipGroup (
7594 filterList = state.filterChips,
7695 selectedChipOption = state.currentFilter,
0 commit comments