From aa9ba12258e64699c5b3eb4d7610ebd9d6bd2183 Mon Sep 17 00:00:00 2001 From: Pascal Friedrichsen Date: Fri, 24 Jun 2022 14:37:45 +0200 Subject: [PATCH] Fix Loading showing even when it's not loading, add ShowSuccess to EntryViewModels create edit and delete --- .../viewmodel/entry/EntryViewModel.kt | 15 ++++++++++++--- .../src/jsMain/kotlin/main.kt | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/budget-binder-multiplatform-app/src/commonMain/kotlin/de/hsfl/budgetBinder/presentation/viewmodel/entry/EntryViewModel.kt b/budget-binder-multiplatform-app/src/commonMain/kotlin/de/hsfl/budgetBinder/presentation/viewmodel/entry/EntryViewModel.kt index 9c81ccca..82ca8bdb 100644 --- a/budget-binder-multiplatform-app/src/commonMain/kotlin/de/hsfl/budgetBinder/presentation/viewmodel/entry/EntryViewModel.kt +++ b/budget-binder-multiplatform-app/src/commonMain/kotlin/de/hsfl/budgetBinder/presentation/viewmodel/entry/EntryViewModel.kt @@ -131,21 +131,30 @@ class EntryViewModel( private fun create(entry: Entry.In) = scope.launch { entryUseCases.createNewEntryUseCase(entry).collect { it.handleDataResponse( - routerFlow = routerFlow, onSuccess = { routerFlow.navigateTo(Screen.Dashboard) }) + routerFlow = routerFlow, onSuccess = { + routerFlow.navigateTo(Screen.Dashboard) + eventFlow.emit(UiEvent.ShowSuccess("Entry successfully created")) + }) } } private fun update(entry: Entry.Patch, id: Int) = scope.launch { entryUseCases.changeEntryByIdUseCase(entry, id).collect { it.handleDataResponse( - routerFlow = routerFlow, onSuccess = { routerFlow.navigateTo(Screen.Dashboard) }) + routerFlow = routerFlow, onSuccess = { + routerFlow.navigateTo(Screen.Dashboard) + eventFlow.emit(UiEvent.ShowSuccess("Entry successfully updated")) + }) } } private fun delete(id: Int) = scope.launch { entryUseCases.deleteEntryByIdUseCase(id).collect { it.handleDataResponse( - routerFlow = routerFlow, onSuccess = { routerFlow.navigateTo(Screen.Dashboard) }) + routerFlow = routerFlow, onSuccess = { + routerFlow.navigateTo(Screen.Dashboard) + eventFlow.emit(UiEvent.ShowSuccess("Entry successfully deleted")) + }) } } diff --git a/budget-binder-multiplatform-app/src/jsMain/kotlin/main.kt b/budget-binder-multiplatform-app/src/jsMain/kotlin/main.kt index 6f034c21..bd2a4a9b 100644 --- a/budget-binder-multiplatform-app/src/jsMain/kotlin/main.kt +++ b/budget-binder-multiplatform-app/src/jsMain/kotlin/main.kt @@ -26,7 +26,7 @@ val di = kodein(ktorEngine = Js.create()) @Composable fun App() = withDI(di) { val uiEventFlow: UiEventSharedFlow by di.instance() - val loadingState = remember { mutableStateOf(false) } + val loadingState = remember { mutableStateOf(true) } val snackBarText = remember { mutableStateOf("") } val snackBarHidden = remember { mutableStateOf(true) } LaunchedEffect(key1 = true) {