diff --git a/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt b/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt index e0431256..23d024cb 100644 --- a/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt +++ b/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt @@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.annotation.DrawableRes import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController @@ -62,6 +63,9 @@ class SearchRestaurantLocationInfoFragment : Fragment() { setSearchEditTextDebounceWatcher { if (binding.restaurantNameEditText.text.isNotEmpty()) { + + setVisibleStatusContainer(false) + viewLifecycleOwner.lifecycleScope.launch { val currentLocation = viewModel.getCurrentLocation() @@ -70,19 +74,37 @@ class SearchRestaurantLocationInfoFragment : Fragment() { val response = viewModel.getRestaurantLocationInfo( binding.restaurantNameEditText.text, - currentLocation.latitude.toString(), currentLocation.longitude.toString(), 1 + currentLocation.latitude.toString(), + currentLocation.longitude.toString(), + 1 ) - // TODO: Error Handling - adapter.setTargetString(binding.restaurantNameEditText.text) - adapter.submitList(response) + if (response.isNotEmpty()) { + // TODO: Error Handling + adapter.setTargetString(binding.restaurantNameEditText.text) + adapter.submitList(response) + } else { + setVisibleStatusContainer(true) + setStatusImage(R.drawable.jmt_normal_character) + setStatusContainerText(getString(R.string.no_searched_result)) + adapter.submitList(emptyList()) + } + + } else { - JmtSnackbar.make(binding.root, getString(R.string.get_location_error), Snackbar.LENGTH_SHORT) + JmtSnackbar.make( + binding.root, + getString(R.string.get_location_error), + Snackbar.LENGTH_SHORT + ) .setTextColor(R.color.unable_nickname_color).show() } } } else { + setVisibleStatusContainer(true) + setStatusImage(R.drawable.jmt_wink_character) + setStatusContainerText(getString(R.string.search_for_recommendable_restaurant)) adapter.submitList(emptyList()) } @@ -113,4 +135,16 @@ class SearchRestaurantLocationInfoFragment : Fragment() { private fun setToolbarTitle() { (requireActivity() as MainActivity).changeToolbarTitle("맛집등록") } + + private fun setVisibleStatusContainer(isVisible: Boolean) { + binding.statusContainer.visibility = if (isVisible) View.VISIBLE else View.GONE + } + + private fun setStatusImage(@DrawableRes imageResId: Int) { + binding.statusImage.setImageResource(imageResId) + } + + private fun setStatusContainerText(text: String) { + binding.statusText.text = text + } } \ No newline at end of file diff --git a/presentation/src/main/res/drawable/jmt_normal_character.png b/presentation/src/main/res/drawable/jmt_normal_character.png new file mode 100644 index 00000000..6f60df6e Binary files /dev/null and b/presentation/src/main/res/drawable/jmt_normal_character.png differ diff --git a/presentation/src/main/res/drawable/jmt_wink_character.png b/presentation/src/main/res/drawable/jmt_wink_character.png new file mode 100644 index 00000000..0bf34107 Binary files /dev/null and b/presentation/src/main/res/drawable/jmt_wink_character.png differ diff --git a/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml b/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml index 4c5f3250..7815b707 100644 --- a/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml +++ b/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml @@ -1,27 +1,64 @@ + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + \ No newline at end of file diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index cbe5767e..7e62e567 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -70,5 +70,7 @@ 앗, 서비스 준비 중이에요!\n   조금만 기다려주세요. 존마탱 캐릭터 이미지 + 추천 해주고 싶은\n 맛집을 검색해주세요! + 검색 결과가 없어요.\n올바른 식당명인지 확인해주세요. \ No newline at end of file