Skip to content

Commit

Permalink
[PC-256] 불필요한 Intent 제거
Browse files Browse the repository at this point in the history
tgyuuAn committed Jan 7, 2025
1 parent f14ff20 commit 2d236cc
Showing 3 changed files with 7 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ import androidx.compose.ui.unit.dp
import com.airbnb.mvrx.compose.collectAsState
import com.airbnb.mvrx.compose.mavericksViewModel
import com.puzzle.auth.graph.registration.contract.RegistrationIntent
import com.puzzle.auth.graph.registration.contract.RegistrationSideEffect
import com.puzzle.auth.graph.registration.contract.RegistrationState
import com.puzzle.designsystem.component.PieceCheckList
import com.puzzle.designsystem.component.PieceSolidButton
@@ -34,7 +35,7 @@ internal fun RegistrationRoute(
state = state,
checkAllTerms = { viewModel.onIntent(RegistrationIntent.CheckAllTerms) },
checkTerm = { viewModel.onIntent(RegistrationIntent.CheckTerm(it)) },
navigate = { event -> viewModel.onIntent(RegistrationIntent.Navigate(event)) }
navigate = { event -> viewModel.onSideEffect(RegistrationSideEffect.Navigate(event)) }
)
}

Original file line number Diff line number Diff line change
@@ -47,18 +47,17 @@ class RegistrationViewModel @AssistedInject constructor(
intents.send(intent)
}

private suspend fun processIntent(intent: RegistrationIntent) {
internal fun onSideEffect(sideEffect: RegistrationSideEffect) = viewModelScope.launch {
sideEffects.send(sideEffect)
}

private fun processIntent(intent: RegistrationIntent) {
when (intent) {
is RegistrationIntent.Navigate -> onSideEffect(Navigate(intent.navigationEvent))
is RegistrationIntent.CheckTerm -> checkTerm(intent.termId)
is RegistrationIntent.CheckAllTerms -> checkAllTerms()
}
}

private suspend fun onSideEffect(sideEffect: RegistrationSideEffect) {
sideEffects.send(sideEffect)
}

private fun handleSideEffect(sideEffect: RegistrationSideEffect) {
when (sideEffect) {
is Navigate -> navigationHelper.navigate(sideEffect.navigationEvent)
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.puzzle.auth.graph.registration.contract

import com.puzzle.navigation.NavigationEvent

sealed class RegistrationIntent {
data object CheckAllTerms : RegistrationIntent()
data class CheckTerm(val termId: Int) : RegistrationIntent()
data class Navigate(val navigationEvent: NavigationEvent) : RegistrationIntent()
}

0 comments on commit 2d236cc

Please sign in to comment.