File tree Expand file tree Collapse file tree 5 files changed +31
-8
lines changed
core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component
home/src/main/kotlin/com/ninecraft/booket/feature/home
search/src/main/kotlin/com/ninecraft/booket/feature/search Expand file tree Collapse file tree 5 files changed +31
-8
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.systemBarsPadding
88import androidx.compose.runtime.Composable
99import androidx.compose.ui.Modifier
1010import androidx.compose.ui.graphics.Color
11+ import com.ninecraft.booket.core.designsystem.theme.White
1112
1213/* *
1314 * systemBarsPadding() 이 자동으로 적용되는 전체 화면 컨테이너
@@ -18,7 +19,7 @@ import androidx.compose.ui.graphics.Color
1819@Composable
1920fun ReedFullScreen (
2021 modifier : Modifier = Modifier ,
21- backgroundColor : Color = Color . White ,
22+ backgroundColor : Color = White ,
2223 content : @Composable ColumnScope .() -> Unit ,
2324) {
2425 Column (
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package com.ninecraft.booket.feature.home
33import androidx.compose.runtime.Composable
44import androidx.compose.runtime.rememberCoroutineScope
55import com.ninecraft.booket.screens.HomeScreen
6+ import com.ninecraft.booket.screens.SearchScreen
67import com.slack.circuit.codegen.annotations.CircuitInject
78import com.slack.circuit.runtime.Navigator
89import com.slack.circuit.runtime.presenter.Presenter
@@ -20,7 +21,17 @@ class HomePresenter @AssistedInject constructor(
2021 override fun present (): HomeUiState {
2122 val scope = rememberCoroutineScope()
2223
23- return HomeUiState {}
24+ fun handleEvent (event : HomeUiEvent ) {
25+ when (event) {
26+ is HomeUiEvent .OnButtonClick -> {
27+ navigator.goTo(SearchScreen )
28+ }
29+ }
30+ }
31+
32+ return HomeUiState (
33+ eventSink = ::handleEvent,
34+ )
2435 }
2536
2637 @CircuitInject(HomeScreen ::class , ActivityRetainedComponent ::class )
Original file line number Diff line number Diff line change @@ -2,11 +2,15 @@ package com.ninecraft.booket.feature.home
22
33import androidx.compose.foundation.layout.Arrangement
44import androidx.compose.foundation.layout.Column
5+ import androidx.compose.foundation.layout.Spacer
56import androidx.compose.foundation.layout.fillMaxSize
7+ import androidx.compose.foundation.layout.height
8+ import androidx.compose.material3.Button
69import androidx.compose.material3.Text
710import androidx.compose.runtime.Composable
811import androidx.compose.ui.Alignment
912import androidx.compose.ui.Modifier
13+ import androidx.compose.ui.unit.dp
1014import com.ninecraft.booket.core.designsystem.DevicePreview
1115import com.ninecraft.booket.core.designsystem.theme.ReedTheme
1216import com.ninecraft.booket.screens.HomeScreen
@@ -38,6 +42,14 @@ internal fun HomeContent(
3842 modifier : Modifier = Modifier ,
3943) {
4044 Text (text = " 홈" )
45+ Spacer (modifier = Modifier .height(16 .dp))
46+ Button (
47+ onClick = {
48+ state.eventSink(HomeUiEvent .OnButtonClick )
49+ },
50+ ) {
51+ Text (text = " Navigate To Search" )
52+ }
4153}
4254
4355@DevicePreview
Original file line number Diff line number Diff line change @@ -7,4 +7,6 @@ data class HomeUiState(
77 val eventSink : (HomeUiEvent ) -> Unit ,
88) : CircuitUiState
99
10- sealed interface HomeUiEvent : CircuitUiEvent
10+ sealed interface HomeUiEvent : CircuitUiEvent {
11+ data object OnButtonClick : HomeUiEvent
12+ }
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ import com.ninecraft.booket.core.designsystem.component.ReedTextField
2424import com.ninecraft.booket.core.designsystem.component.appbar.ReedBackTopAppBar
2525import com.ninecraft.booket.core.designsystem.theme.ReedTheme
2626import com.ninecraft.booket.core.designsystem.theme.White
27+ import com.ninecraft.booket.core.ui.component.ReedFullScreen
2728import com.ninecraft.booket.feature.search.component.BookItem
2829import com.ninecraft.booket.feature.search.component.InfinityLazyColumn
2930import com.ninecraft.booket.feature.search.component.LoadStateFooter
@@ -38,11 +39,7 @@ internal fun Search(
3839 state : SearchUiState ,
3940 modifier : Modifier = Modifier ,
4041) {
41- Column (
42- modifier = modifier.fillMaxSize(),
43- horizontalAlignment = Alignment .CenterHorizontally ,
44- verticalArrangement = Arrangement .Center ,
45- ) {
42+ ReedFullScreen (modifier = modifier) {
4643 ReedBackTopAppBar (
4744 title = stringResource(R .string.search_title),
4845 onBackClick = {
You can’t perform that action at this time.
0 commit comments