@@ -35,6 +35,7 @@ import com.ninecraft.booket.feature.search.component.BookRegisterBottomSheet
3535import com.ninecraft.booket.feature.search.component.BookRegisterSuccessBottomSheet
3636import com.ninecraft.booket.feature.search.component.InfinityLazyColumn
3737import com.ninecraft.booket.feature.search.component.LoadStateFooter
38+ import com.ninecraft.booket.feature.search.component.RecentSearchTitle
3839import com.ninecraft.booket.feature.search.component.SearchItem
3940import com.slack.circuit.codegen.annotations.CircuitInject
4041import dagger.hilt.android.components.ActivityRetainedComponent
@@ -124,48 +125,52 @@ internal fun SearchContent(
124125 }
125126
126127 is UiState .Idle -> {
127- LazyColumn {
128- item {
129- Column (
130- modifier = Modifier
131- .fillMaxWidth()
132- .padding(horizontal = ReedTheme .spacing.spacing5, vertical = ReedTheme .spacing.spacing2),
133- ) {
134- Text (
135- text = stringResource(R .string.recent_search),
136- color = ReedTheme .colors.contentPrimary,
137- style = ReedTheme .typography.body1SemiBold,
138- )
139- Spacer (modifier = Modifier .height(ReedTheme .spacing.spacing1))
140- }
128+ if (state.recentSearches.isEmpty()) {
129+ Box (
130+ modifier = Modifier .fillMaxSize(),
131+ contentAlignment = Alignment .Center ,
132+ ) {
133+ RecentSearchTitle (modifier = Modifier .align(Alignment .TopCenter ))
134+ Text (
135+ text = stringResource(R .string.empty_recent_searches),
136+ modifier = Modifier .align(Alignment .Center ),
137+ color = ReedTheme .colors.contentSecondary,
138+ style = ReedTheme .typography.body1Medium,
139+ )
141140 }
141+ } else {
142+ LazyColumn {
143+ item {
144+ RecentSearchTitle ()
145+ }
142146
143- items(
144- count = state.recentSearches.size,
145- key = { index -> state.recentSearches[index] },
146- ) { index ->
147- Column {
148- SearchItem (
149- query = state.recentSearches[index],
150- onQueryClick = { keyword ->
151- state.eventSink(SearchUiEvent .OnRecentSearchClick (keyword))
152- },
153- onRemoveIconClick = { keyword ->
154- state.eventSink(SearchUiEvent .OnRemoveSearchRemoveClick (keyword))
155- },
156- )
157- HorizontalDivider (
158- modifier = Modifier .fillMaxWidth(),
159- thickness = 1 .dp,
160- color = ReedTheme .colors.borderPrimary,
161- )
147+ items(
148+ count = state.recentSearches.size,
149+ key = { index -> state.recentSearches[index] },
150+ ) { index ->
151+ Column {
152+ SearchItem (
153+ query = state.recentSearches[index],
154+ onQueryClick = { keyword ->
155+ state.eventSink(SearchUiEvent .OnRecentSearchClick (keyword))
156+ },
157+ onRemoveIconClick = { keyword ->
158+ state.eventSink(SearchUiEvent .OnRemoveSearchRemoveClick (keyword))
159+ },
160+ )
161+ HorizontalDivider (
162+ modifier = Modifier .fillMaxWidth(),
163+ thickness = 1 .dp,
164+ color = ReedTheme .colors.borderPrimary,
165+ )
166+ }
162167 }
163168 }
164169 }
165170 }
166171
167172 is UiState .Success -> {
168- if (state.isEmptyResult ) {
173+ if (state.isEmptySearchResult ) {
169174 Box (
170175 modifier = Modifier .fillMaxSize(),
171176 contentAlignment = Alignment .Center ,
0 commit comments