Skip to content

Commit

Permalink
fix: T-486, T-484 (#277)
Browse files Browse the repository at this point in the history
* fix: T-486 정보수정제안의 화면에 스크롤이 끝까지 안가는 문제

* fix: T-484 닉네임 변경시 400: invalid paramter 로 내려오는 문제

* chore: app version up
  • Loading branch information
easyhooon authored Apr 23, 2024
1 parent b6e2c81 commit a32337d
Show file tree
Hide file tree
Showing 9 changed files with 107 additions and 63 deletions.
4 changes: 2 additions & 2 deletions build-logic/src/main/kotlin/internal/Constants.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ internal object ApplicationConstants {
const val MinSdk = 24
const val TargetSdk = 34
const val CompileSdk = 34
const val VersionCode = 5
const val VersionName = "0.0.4"
const val VersionCode = 6
const val VersionName = "0.0.5"
val JavaVersion = org.gradle.api.JavaVersion.VERSION_17
const val JavaVersionAsInt = 17
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ enum class TextInputError {
TOO_SHORT,
ALREADY_EXIST,
CONTAINS_WHITESPACE,
INVALID_CHARACTER,
}
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ class EditMyInfoFragment : BaseFragment<FragmentEditMyInfoBinding>() {
TextInputError.TOO_SHORT -> setTooShortTextError()
TextInputError.ALREADY_EXIST -> setAlreadyExistTextError()
TextInputError.CONTAINS_WHITESPACE -> setContainsWhitespaceError()
TextInputError.INVALID_CHARACTER -> setContainsInvalidCharacterError()
}
}

Expand Down Expand Up @@ -195,6 +196,19 @@ class EditMyInfoFragment : BaseFragment<FragmentEditMyInfoBinding>() {
}
}

private fun setContainsInvalidCharacterError() {
binding.tilEditNickname.apply {
error = getString(R.string.contains_invalid_character_error)
setEndIconDrawable(us.wedemy.eggeum.android.design.R.drawable.ic_close_filled_16)
val color = ContextCompat.getColor(requireContext(), us.wedemy.eggeum.android.design.R.color.gray_400)
setEndIconTintList(ColorStateList.valueOf(color))
setEndIconOnClickListener {
binding.tietEditNickname.text?.clear()
viewModel.setNickname("")
}
}
}

private fun setValid() {
binding.tilEditNickname.apply {
error = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@ class EditMyInfoViewModel @Inject constructor(
containsWhitespace(nickname) -> {
_nicknameState.value = EditTextState.Error(TextInputError.CONTAINS_WHITESPACE)
}
containsInvalidCharacter(nickname) -> {
_nicknameState.value = EditTextState.Error(TextInputError.INVALID_CHARACTER)
}
else -> {
viewModelScope.launch {
checkNicknameExistUseCase(nickname)
Expand Down Expand Up @@ -186,10 +189,14 @@ class EditMyInfoViewModel @Inject constructor(
//
}

fun containsWhitespace(text: String): Boolean {
private fun containsWhitespace(text: String): Boolean {
return text.matches(Regex(".*\\s.*"))
}

private fun containsInvalidCharacter(text: String): Boolean {
return !text.matches(Regex("^[a-zA-Z가-힣0-9]{2,20}$"))
}

override fun handleRefreshTokenExpired() {
viewModelScope.launch {
logoutUseCase()
Expand Down
1 change: 1 addition & 0 deletions main/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
<!-- EditMyInfo-->
<string name="already_exist_text_error">이미 있는 닉네임 입니다.</string>
<string name="contains_whitespace_error">닉네임에 띄어쓰기를 포함할 수 없습니다.</string>
<string name="contains_invalid_character_error">닉네임은 영문, 숫자, 완성된 한글의 조합만 사용할 수 있습니다.\n한글의 자음이나 모음만의 조합은 허용되지 않습니다.</string>
<string name="ic_bottom_sheet_handle">ic_bottom_sheet_handle</string>

<!-- NetworkError-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ class RegisterNicknameFragment : BaseFragment<FragmentRegisterNicknameBinding>()
TextInputError.TOO_SHORT -> setTooShortTextError()
TextInputError.ALREADY_EXIST -> setAlreadyExistTextError()
TextInputError.CONTAINS_WHITESPACE -> setContainsWhitespaceError()
TextInputError.INVALID_CHARACTER -> setContainsInvalidCharacterError()
}
}

Expand Down Expand Up @@ -158,6 +159,19 @@ class RegisterNicknameFragment : BaseFragment<FragmentRegisterNicknameBinding>()
}
}

private fun setContainsInvalidCharacterError() {
binding.tilRegisterNickname.apply {
error = getString(R.string.contains_invalid_character_error)
setEndIconDrawable(us.wedemy.eggeum.android.design.R.drawable.ic_close_filled_16)
val color = ContextCompat.getColor(requireContext(), us.wedemy.eggeum.android.design.R.color.gray_400)
setEndIconTintList(ColorStateList.valueOf(color))
setEndIconOnClickListener {
binding.tietRegisterNickname.text?.clear()
viewModel.setNickname("")
}
}
}

private fun setValid() {
binding.tilRegisterNickname.apply {
error = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ class OnBoardViewModel @Inject constructor(
containsWhitespace(nickname) -> {
_nicknameState.value = EditTextState.Error(TextInputError.CONTAINS_WHITESPACE)
}
containsInvalidCharacter(nickname) -> {
_nicknameState.value = EditTextState.Error(TextInputError.INVALID_CHARACTER)
}
else -> {
viewModelScope.launch {
checkNicknameExistUseCase(nickname)
Expand Down Expand Up @@ -204,10 +207,14 @@ class OnBoardViewModel @Inject constructor(
//
}

fun containsWhitespace(text: String): Boolean {
private fun containsWhitespace(text: String): Boolean {
return text.matches(Regex(".*\\s.*"))
}

private fun containsInvalidCharacter(text: String): Boolean {
return !text.matches(Regex("^[a-zA-Z가-힣0-9]{2,20}$"))
}

override fun handleRefreshTokenExpired() {
viewModelScope.launch {
logoutUseCase()
Expand Down
1 change: 1 addition & 0 deletions onboard/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<string name="empty_text_error">닉네임을 입력해주세요.</string>
<string name="already_exist_text_error">이미 있는 닉네임 입니다.</string>
<string name="contains_whitespace_error">닉네임에 띄어쓰기를 포함할 수 없습니다.</string>
<string name="contains_invalid_character_error">닉네임은 영문, 숫자, 완성된 한글의 조합만 사용할 수 있습니다.\n한글의 자음이나 모음만의 조합은 허용되지 않습니다.</string>
<string name="finish">완료</string>
<string name="sign_up_complete">회원가입이 완료되었습니다.</string>
</resources>
Loading

0 comments on commit a32337d

Please sign in to comment.