Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ data class SignUpState(
val signUpCode: String = "",
val signUpErrorInputTextDescription: String? = null,
val positions: List<String> = emptyList(),
private val isSignUpRequesting: Boolean = false,
) {
val showKeyboardAboveButton = currentStep != SignUpStep.Position
val showSignUpScreenButton: Boolean = showSignUpCodeBottomDialog.not()
val inputCompleteButtonEnable = signUpCode.isNotBlank()
val noSignUpCodeButtonEnable: Boolean = isSignUpRequesting.not()
val inputCompleteButtonEnable = signUpCode.isNotBlank() && isSignUpRequesting.not()
val isSignUpErrorInputTextError = signUpErrorInputTextDescription != null
val backIcon: Int? = when (currentStep) {
SignUpStep.Complete -> null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ fun SignUpScreen(
inputCompleteButtonEnable = uiState.inputCompleteButtonEnable,
isSignUpCodeInputTextError = uiState.isSignUpErrorInputTextError,
signUpCodeInputTextDescription = uiState.signUpErrorInputTextDescription,
noSignUpCodeButtonEnable = uiState.noSignUpCodeButtonEnable,
onSignUpCodeChange = { onIntent(SignUpIntent.ChangeSignUpCode(it)) },
onInputCompleteButtonClick = { onIntent(SignUpIntent.ClickInputCompleteButton) },
onNoSignUpCodeButtonClick = { onIntent(SignUpIntent.ClickNoSignUpCodeButton) },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ class SignUpViewModel @Inject constructor(
postSideEffect: (SignUpSideEffect) -> Unit,
) = viewModelScope.launch {
postSideEffect(SignUpSideEffect.ClearFocus) // FIXME: TextField가 Focus를 가진 상태로 BottomSheet가 사라지면, 시스템 뒤로가기 이벤트가 동작하지 않는 문제가 있음
reduce { copy(isSignUpRequesting = true) }

signUpUseCase(signUpInfo)
.onSuccess { result ->
Expand All @@ -236,6 +237,7 @@ class SignUpViewModel @Inject constructor(
}
}
}
reduce { copy(isSignUpRequesting = false) }
}

private fun getPrimaryButtonEnable(step: SignUpStep): Boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ fun SignUpCodeBottomDialog(
inputCompleteButtonEnable: Boolean,
isSignUpCodeInputTextError: Boolean,
signUpCodeInputTextDescription: String?,
noSignUpCodeButtonEnable: Boolean,
onDismissRequest: () -> Unit,
onSignUpCodeChange: (String) -> Unit,
onInputCompleteButtonClick: () -> Unit,
Expand Down Expand Up @@ -64,6 +65,7 @@ fun SignUpCodeBottomDialog(

YappTextPrimaryButtonSmall(
modifier = Modifier.fillMaxWidth(),
enable = noSignUpCodeButtonEnable,
text = stringResource(R.string.signup_code_bottom_dialog_no_code_button),
onClick = onNoSignUpCodeButtonClick
)
Expand Down