File tree Expand file tree Collapse file tree
presentation/src/main/java/com/threegap/bitnagil/presentation/withdrawal/model Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com.threegap.bitnagil.presentation.withdrawal.model
2+
3+ import com.threegap.bitnagil.presentation.common.mviviewmodel.MviIntent
4+
5+ sealed class WithdrawalIntent : MviIntent {
6+ data object OnTermsToggle : WithdrawalIntent ()
7+ data object OnBackClick : WithdrawalIntent ()
8+ data object ShowSuccessDialog : WithdrawalIntent ()
9+ data object OnSuccessDialogConfirm : WithdrawalIntent ()
10+ data class UpdateLoading (val isLoading : Boolean ) : WithdrawalIntent()
11+ data class OnReasonSelected (val reason : WithdrawalReason ? ) : WithdrawalIntent()
12+ data class OnCustomReasonChanged (val text : String ) : WithdrawalIntent()
13+ }
Original file line number Diff line number Diff line change 1+ package com.threegap.bitnagil.presentation.withdrawal.model
2+
3+ import com.threegap.bitnagil.presentation.common.mviviewmodel.MviSideEffect
4+
5+ sealed interface WithdrawalSideEffect : MviSideEffect {
6+ data object NavigateToBack : WithdrawalSideEffect
7+ data object NavigateToLogin : WithdrawalSideEffect
8+ }
Original file line number Diff line number Diff line change 1+ package com.threegap.bitnagil.presentation.withdrawal.model
2+
3+ import com.threegap.bitnagil.presentation.common.mviviewmodel.MviState
4+ import kotlinx.parcelize.Parcelize
5+
6+ @Parcelize
7+ data class WithdrawalState (
8+ val isLoading : Boolean = false ,
9+ val isTermsChecked : Boolean = false ,
10+ val selectedReason : WithdrawalReason ? = null ,
11+ val customReasonText : String = " " ,
12+ val showSuccessDialog : Boolean = false ,
13+ ) : MviState {
14+ val isWithdrawalEnabled: Boolean
15+ get() = isTermsChecked && (selectedReason != null || customReasonText.isNotBlank())
16+
17+ val finalWithdrawalReason: String
18+ get() = selectedReason?.displayText ? : customReasonText
19+ }
You can’t perform that action at this time.
0 commit comments