Skip to content

Commit 825510d

Browse files
committed
Feat: 루틴 삭제 성공 시 토스트 메시지 추가
1 parent 243987e commit 825510d

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

presentation/src/main/java/com/threegap/bitnagil/presentation/routinelist/RoutineListScreen.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
2222
import com.threegap.bitnagil.designsystem.BitnagilTheme
2323
import com.threegap.bitnagil.designsystem.component.block.BitnagilTopBar
2424
import com.threegap.bitnagil.presentation.common.flow.collectAsEffect
25+
import com.threegap.bitnagil.presentation.common.toast.GlobalBitnagilToast
2526
import com.threegap.bitnagil.presentation.routinelist.component.template.DeleteConfirmBottomSheet
2627
import com.threegap.bitnagil.presentation.routinelist.component.template.EditConfirmBottomSheet
2728
import com.threegap.bitnagil.presentation.routinelist.component.template.EmptyRoutineListView
@@ -44,10 +45,9 @@ fun RoutineListScreenContainer(
4445

4546
viewModel.sideEffectFlow.collectAsEffect { sideEffect ->
4647
when (sideEffect) {
48+
is RoutineListSideEffect.ShowToast -> GlobalBitnagilToast.showCheck(sideEffect.message)
4749
is RoutineListSideEffect.NavigateToBack -> navigateToBack()
48-
is RoutineListSideEffect.NavigateToAddRoutine -> {
49-
navigateToAddRoutine()
50-
}
50+
is RoutineListSideEffect.NavigateToAddRoutine -> navigateToAddRoutine()
5151
is RoutineListSideEffect.NavigateToEditRoutine -> {
5252
navigateToEditRoutine(sideEffect.routineId, sideEffect.updateRoutineFromNowDate)
5353
}

presentation/src/main/java/com/threegap/bitnagil/presentation/routinelist/RoutineListViewModel.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ class RoutineListViewModel @Inject constructor(
103103
}
104104
null
105105
}
106+
107+
is RoutineListIntent.OnSuccessDeletedRoutine -> {
108+
sendSideEffect(RoutineListSideEffect.ShowToast("삭제가 완료되었습니다."))
109+
state.copy(
110+
isLoading = false,
111+
deleteConfirmBottomSheetVisible = false,
112+
)
113+
}
106114
}
107115

108116
return newState
@@ -133,8 +141,7 @@ class RoutineListViewModel @Inject constructor(
133141
viewModelScope.launch {
134142
deleteRoutineUseCase(selectedRoutine.routineId).fold(
135143
onSuccess = {
136-
sendIntent(RoutineListIntent.HideDeleteConfirmBottomSheet)
137-
sendIntent(RoutineListIntent.UpdateLoading(false))
144+
sendIntent(RoutineListIntent.OnSuccessDeletedRoutine)
138145
},
139146
onFailure = {
140147
Log.e("RoutineListViewModel", "루틴 삭제 실패: ${it.message}")
@@ -150,8 +157,7 @@ class RoutineListViewModel @Inject constructor(
150157
viewModelScope.launch {
151158
deleteRoutineForDayUseCase(selectedRoutine.routineId).fold(
152159
onSuccess = {
153-
sendIntent(RoutineListIntent.HideDeleteConfirmBottomSheet)
154-
sendIntent(RoutineListIntent.UpdateLoading(false))
160+
sendIntent(RoutineListIntent.OnSuccessDeletedRoutine)
155161
},
156162
onFailure = {
157163
Log.e("RoutineListViewModel", "루틴 삭제 실패: ${it.message}")

presentation/src/main/java/com/threegap/bitnagil/presentation/routinelist/model/RoutineListIntent.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ sealed class RoutineListIntent : MviIntent {
1515
data object OnRegisterRoutineClick : RoutineListIntent()
1616
data object OnApplyTodayClick : RoutineListIntent()
1717
data object OnApplyTomorrowClick : RoutineListIntent()
18+
data object OnSuccessDeletedRoutine : RoutineListIntent()
1819
}

presentation/src/main/java/com/threegap/bitnagil/presentation/routinelist/model/RoutineListSideEffect.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ sealed interface RoutineListSideEffect : MviSideEffect {
66
data object NavigateToBack : RoutineListSideEffect
77
data object NavigateToAddRoutine : RoutineListSideEffect
88
data class NavigateToEditRoutine(val routineId: String, val updateRoutineFromNowDate: Boolean) : RoutineListSideEffect
9+
data class ShowToast(val message: String) : RoutineListSideEffect
910
}

0 commit comments

Comments
 (0)