diff --git a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt index 5d14f06d..d3df7f06 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsScreen.kt @@ -158,7 +158,13 @@ fun ChannelsScreen( Button( onClick = { - viewModel.configurePlatform(platform.id, inputValues.toMap()) + viewModel.configurePlatform( + platform.id, + MessagingPlatformUpdate( + enabled = platform.enabled, + env = inputValues.toMap(), + ), + ) showConfigureForm = false }, modifier = Modifier.align(Alignment.End), diff --git a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsViewModel.kt b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsViewModel.kt index 0dd68eed..18bb9938 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsViewModel.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/channels/ChannelsViewModel.kt @@ -54,6 +54,7 @@ class ChannelsViewModel : ViewModel() { platformId: String, update: MessagingPlatformUpdate, ) { + _uiState.update { it.copy(isLoading = true, errorMessage = null) } viewModelScope.launch { val result = withContext(Dispatchers.IO) { @@ -61,12 +62,18 @@ class ChannelsViewModel : ViewModel() { } when (result) { is NetworkResult.Success -> { - _uiState.update { it.copy(toastMessage = "$platformId configured successfully") } + _uiState.update { it.copy(isLoading = false, toastMessage = "$platformId configured successfully") } loadPlatforms() } is NetworkResult.Failure -> { - _uiState.update { it.copy(toastMessage = "Failed to configure platform: ${result.error.message}") } + _uiState.update { + it.copy( + isLoading = false, + errorMessage = "Failed to configure platform: ${result.error.message}", + toastMessage = "Failed to configure platform: ${result.error.message}", + ) + } } } }