Skip to content

Commit

Permalink
feat/#51: SignUpCodeBottomDialog 동작 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
jinukeu committed Jan 29, 2025
1 parent f76c0b3 commit 062af97
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ data class SignUpState(
val primaryButtonEnable: Boolean = false,
val name: String = "",
val showSignUpCodeBottomDialog: Boolean = false,
val signUpCode: String = "",
) {
val showKeyboardAboveButton = currentStep != SignUpStep.Position
val showSignUpScreenButton: Boolean = showSignUpCodeBottomDialog.not()
val inputCompleteButtonEnable = signUpCode.isNotBlank()
}

sealed interface SignUpIntent {
Expand All @@ -22,6 +24,9 @@ sealed interface SignUpIntent {
data class PasswordConfirmChanged(val passwordConfirm: String) : SignUpIntent
data class ActivityUnitsChanged(val activityUnits: List<ActivityUnit>) : SignUpIntent
data object DismissSignUpCodeBottomDialog : SignUpIntent
data object ClickNoSignUpCodeButton : SignUpIntent
data object ClickInputCompleteButton : SignUpIntent
data class ChangeSighUpCode(val signUpCode: String): SignUpIntent
}

enum class SignUpStep {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,12 @@ fun SignUpScreen(

if (uiState.showSignUpCodeBottomDialog) {
SignUpCodeBottomDialog(
onDismissRequest = { onIntent(SignUpIntent.DismissSignUpCodeBottomDialog) }
onDismissRequest = { onIntent(SignUpIntent.DismissSignUpCodeBottomDialog) },
signUpCode = uiState.signUpCode,
inputCompleteButtonEnable = uiState.inputCompleteButtonEnable,
onSignUpCodeChange = { onIntent(SignUpIntent.ChangeSighUpCode(it)) },
onInputCompleteButtonClick = { onIntent(SignUpIntent.ClickInputCompleteButton) },
onNoSignUpCodeButtonClick = { onIntent(SignUpIntent.ClickNoSignUpCodeButton) },
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@ class SignUpViewModel @Inject constructor() : ViewModel() {
}

SignUpIntent.DismissSignUpCodeBottomDialog -> reduce { copy(showSignUpCodeBottomDialog = false) }

is SignUpIntent.ChangeSighUpCode -> reduce { copy(signUpCode = intent.signUpCode) }

SignUpIntent.ClickInputCompleteButton,
SignUpIntent.ClickNoSignUpCodeButton -> TODO()
}
}

Expand All @@ -106,8 +111,8 @@ class SignUpViewModel @Inject constructor() : ViewModel() {
SignUpStep.Email -> signUpInfo.email.isNotBlank() // TODO 이메일 정규식 검사
SignUpStep.Password -> signUpInfo.isAllPasswordConditionValid
SignUpStep.Position -> signUpInfo.isActivityUnitsValid
SignUpStep.Complete -> TODO()
SignUpStep.Pending -> TODO()
SignUpStep.Complete,
SignUpStep.Pending -> true
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ import com.yapp.feature.signup.R

@Composable
fun SignUpCodeBottomDialog(
signUpCode: String,
inputCompleteButtonEnable: Boolean,
onDismissRequest: () -> Unit,
onSignUpCodeChange: (String) -> Unit,
onInputCompleteButtonClick: () -> Unit,
onNoSignUpCodeButtonClick: () -> Unit
) {
BottomDialog(
onDismissRequest = onDismissRequest
Expand All @@ -37,25 +42,26 @@ fun SignUpCodeBottomDialog(

YappInputTextLarge(
label = stringResource(R.string.signup_code_bottom_dialog_input_text_label),
value = "",
value = signUpCode,
placeholder = stringResource(R.string.signup_code_bottom_dialog_input_text_placeholder),
onValueChange = {}
onValueChange = onSignUpCodeChange
)

Spacer(Modifier.height(24.dp))

YappSolidPrimaryButtonLarge(
modifier = Modifier.fillMaxWidth(),
enable = inputCompleteButtonEnable,
text = stringResource(R.string.signup_code_bottom_dialog_complete_button),
onClick = {}
onClick = onInputCompleteButtonClick
)

Spacer(Modifier.height(8.dp))

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

0 comments on commit 062af97

Please sign in to comment.