Skip to content

Commit

Permalink
feat: 받은 봉투 -> 해당 봉투 상세 화면 이동
Browse files Browse the repository at this point in the history
  • Loading branch information
jinukeu committed May 15, 2024
1 parent 3c433a9 commit a265cbd
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.susu.feature.received.ledgeradd

import com.susu.core.model.Ledger
import com.susu.core.ui.base.SideEffect
import com.susu.core.ui.base.UiState

Expand All @@ -18,6 +19,6 @@ enum class LedgerAddStep {
sealed interface LedgerAddSideEffect : SideEffect {
data object HideKeyboard : LedgerAddSideEffect
data object PopBackStack : LedgerAddSideEffect
data class PopBackStackWithLedger(val ledger: String) : LedgerAddSideEffect
data class NavigateLedgerDetail(val ledger: Ledger) : LedgerAddSideEffect
data class HandleException(val throwable: Throwable, val retry: () -> Unit) : LedgerAddSideEffect
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import com.susu.core.designsystem.component.button.SusuFilledButton
import com.susu.core.designsystem.component.screen.LoadingScreen
import com.susu.core.designsystem.theme.SusuTheme
import com.susu.core.model.Category
import com.susu.core.model.Ledger
import com.susu.core.ui.R
import com.susu.core.ui.SnackbarToken
import com.susu.core.ui.extension.collectWithLifecycle
Expand All @@ -40,7 +41,7 @@ import java.time.LocalDateTime
fun LedgerAddRoute(
viewModel: LedgerAddViewModel = hiltViewModel(),
popBackStack: () -> Unit,
popBackStackWithLedger: (String) -> Unit,
navigateLedgerDetail: (Ledger) -> Unit,
onShowSnackbar: (SnackbarToken) -> Unit,
handleException: (Throwable, () -> Unit) -> Unit,
) {
Expand All @@ -50,7 +51,7 @@ fun LedgerAddRoute(
when (sideEffect) {
LedgerAddSideEffect.PopBackStack -> popBackStack()
is LedgerAddSideEffect.HandleException -> handleException(sideEffect.throwable, sideEffect.retry)
is LedgerAddSideEffect.PopBackStackWithLedger -> popBackStackWithLedger(sideEffect.ledger)
is LedgerAddSideEffect.NavigateLedgerDetail -> navigateLedgerDetail(sideEffect.ledger)
LedgerAddSideEffect.HideKeyboard -> keyboardController?.hide()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class LedgerAddViewModel @Inject constructor(
category = selectedCategory!!,
),
).onSuccess { ledger ->
postSideEffect(LedgerAddSideEffect.PopBackStackWithLedger(Json.encodeToUri(ledger)))
postSideEffect(LedgerAddSideEffect.NavigateLedgerDetail(ledger))
}.onFailure {
postSideEffect(LedgerAddSideEffect.HandleException(it, ::createLedger))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,10 @@ fun NavGraphBuilder.receivedNavGraph(
) {
LedgerAddRoute(
popBackStack = popBackStack,
popBackStackWithLedger = popBackStackWithLedger,
navigateLedgerDetail = { ledger ->
popBackStackWithLedger(Json.encodeToUri(ledger))
navigateLedgerDetail(ledger)
},
handleException = handleException,
onShowSnackbar = onShowSnackbar,
)
Expand Down

0 comments on commit a265cbd

Please sign in to comment.