From 6a042edeeced8962555a871f07e617b81643fc40 Mon Sep 17 00:00:00 2001 From: Nahyun Kim Date: Sat, 8 Feb 2025 11:29:55 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Feat:=20=EC=83=89=EC=83=81=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=EC=98=88=EC=99=B8=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 토스트 메시지 표시 Related to: #346 --- .../home/category/CategoryDetailFragment.kt | 8 ++++- .../ui/home/category/CategoryViewModel.kt | 33 ++++++++++++------- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryDetailFragment.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryDetailFragment.kt index e1624034..e86ba075 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryDetailFragment.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryDetailFragment.kt @@ -52,10 +52,16 @@ class CategoryDetailFragment // 저장하기 binding.categoryDetailSaveTv.setOnClickListener { - if (!this@CategoryDetailFragment.viewModel.isValidInput()) { + if (!viewModel.isValidName()) { Toast.makeText(requireContext(), "카테고리를 입력해주세요", Toast.LENGTH_SHORT).show() return@setOnClickListener } + + if (!viewModel.isColorSelected()) { + Toast.makeText(requireContext(), "색상을 설정 후 저장해주세요.", Toast.LENGTH_SHORT).show() + return@setOnClickListener + } + // 수정 모드 -> 카테고리 편집 if (viewModel.isEditMode) { viewModel.editCategory() diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryViewModel.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryViewModel.kt index ab76a1a4..9d9eccb7 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryViewModel.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/home/category/CategoryViewModel.kt @@ -7,7 +7,6 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.mongmong.namo.domain.model.CategoryModel import com.mongmong.namo.domain.repositories.CategoryRepository -import com.mongmong.namo.domain.usecases.category.GetCategoriesUseCase import com.mongmong.namo.presentation.enums.CategoryColor import com.mongmong.namo.presentation.enums.SuccessType import dagger.hilt.android.lifecycle.HiltViewModel @@ -39,9 +38,11 @@ class CategoryViewModel @Inject constructor( fun addCategory() { viewModelScope.launch { Log.d("CategoryViewModel", "addCategory ${_category.value}") - _isComplete.postValue(repository.addCategory( - category = _category.value!! - )) + _isComplete.postValue( + repository.addCategory( + category = _category.value!! + ) + ) _completeState.value = SuccessType.ADD } } @@ -50,9 +51,11 @@ class CategoryViewModel @Inject constructor( fun editCategory() { viewModelScope.launch { Log.d("CategoryViewModel", "editCategory ${_category.value}") - _isComplete.postValue(repository.editCategory( - category = _category.value!! - )) + _isComplete.postValue( + repository.editCategory( + category = _category.value!! + ) + ) _completeState.value = SuccessType.EDIT } } @@ -61,9 +64,11 @@ class CategoryViewModel @Inject constructor( fun deleteCategory() { viewModelScope.launch { Log.d("CategoryViewModel", "deleteCategory ${_category.value}") - _isComplete.postValue(repository.deleteCategory( - category = _category.value!! - )) + _isComplete.postValue( + repository.deleteCategory( + category = _category.value!! + ) + ) _completeState.value = SuccessType.DELETE } } @@ -84,7 +89,11 @@ class CategoryViewModel @Inject constructor( _category.value!!.isShare = isShare } - fun isValidInput(): Boolean { - return (!_category.value?.name.isNullOrEmpty()) && (_color.value != null) + fun isValidName(): Boolean { + return _category.value?.name!!.isNotEmpty() + } + + fun isColorSelected(): Boolean { + return _color.value != null } } \ No newline at end of file