From ada2b6a3f62e38a7aa18bfea6a7b38bfd717d66a Mon Sep 17 00:00:00 2001 From: stylianosgakis Date: Fri, 30 Jan 2026 14:33:18 +0100 Subject: [PATCH] Fix the todo for the failed to start case --- .../android/design/system/hedvig/HedvigErrorSection.kt | 2 +- .../com/hedvig/feature/claim/chat/ClaimChatViewModel.kt | 7 +++++++ .../hedvig/feature/claim/chat/ui/ClaimChatDestination.kt | 8 +++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/design-system/design-system-hedvig/src/commonMain/kotlin/com/hedvig/android/design/system/hedvig/HedvigErrorSection.kt b/app/design-system/design-system-hedvig/src/commonMain/kotlin/com/hedvig/android/design/system/hedvig/HedvigErrorSection.kt index 8969c54f6e..c1e851c0cc 100644 --- a/app/design-system/design-system-hedvig/src/commonMain/kotlin/com/hedvig/android/design/system/hedvig/HedvigErrorSection.kt +++ b/app/design-system/design-system-hedvig/src/commonMain/kotlin/com/hedvig/android/design/system/hedvig/HedvigErrorSection.kt @@ -51,7 +51,7 @@ fun HedvigErrorSection( @HedvigShortMultiScreenPreview @Composable -fun HedvigErrorSectionPreview() { +private fun HedvigErrorSectionPreview() { HedvigTheme { Surface( color = HedvigTheme.colorScheme.backgroundPrimary, diff --git a/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ClaimChatViewModel.kt b/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ClaimChatViewModel.kt index 79aef520ae..000444ed9e 100644 --- a/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ClaimChatViewModel.kt +++ b/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ClaimChatViewModel.kt @@ -69,6 +69,8 @@ internal sealed interface ClaimChatEvent { data class SwitchToAudioRecording(override val id: StepId) : AudioRecording } + data object RetryInitializing : ClaimChatEvent + data class UpdateFreeText(val text: String?) : ClaimChatEvent data class Select(val id: StepId, val selectedId: String) : ClaimChatEvent @@ -555,6 +557,11 @@ internal class ClaimChatPresenter( } } + ClaimChatEvent.RetryInitializing -> { + failedToStart = false + initializing = true + } + is ClaimChatEvent.UpdateFreeText -> { Snapshot.withMutableSnapshot { val currentContent = currentStep?.stepContent as? StepContent.AudioRecording diff --git a/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ui/ClaimChatDestination.kt b/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ui/ClaimChatDestination.kt index d3f718c991..bb48c3bb74 100644 --- a/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ui/ClaimChatDestination.kt +++ b/app/feature/feature-claim-chat/src/commonMain/kotlin/com/hedvig/feature/claim/chat/ui/ClaimChatDestination.kt @@ -63,6 +63,7 @@ import com.hedvig.android.compose.ui.withoutPlacement import com.hedvig.android.core.uidata.UiFile import com.hedvig.android.design.system.hedvig.ErrorDialog import com.hedvig.android.design.system.hedvig.HedvigAlertDialog +import com.hedvig.android.design.system.hedvig.HedvigErrorSection import com.hedvig.android.design.system.hedvig.HedvigFullScreenCenterAlignedProgress import com.hedvig.android.design.system.hedvig.HedvigText import com.hedvig.android.design.system.hedvig.HedvigTheme @@ -167,7 +168,12 @@ internal fun ClaimChatScreenContent( Box(Modifier.fillMaxSize(), Alignment.Center) { when (uiState) { - ClaimChatUiState.FailedToStart -> BasicText("FailedToStart") // todo + ClaimChatUiState.FailedToStart -> { + HedvigErrorSection( + { claimChatViewModel.emit(ClaimChatEvent.RetryInitializing) }, + ) + } + ClaimChatUiState.Initializing -> HedvigFullScreenCenterAlignedProgress() is ClaimChatUiState.ClaimChat -> { if (uiState.outcome != null) {