From 80a30fab76de9cf8b05b0f7c8030f65189d23c2e Mon Sep 17 00:00:00 2001 From: Avently <7953703+avently@users.noreply.github.com> Date: Fri, 22 Nov 2024 14:09:50 +0700 Subject: [PATCH] fix whatsnew --- .../common/views/onboarding/WhatsNewView.kt | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt index 57b8c15ad7..24545c905f 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt @@ -8,7 +8,6 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.platform.LocalUriHandler import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource @@ -27,19 +26,18 @@ import dev.icerock.moko.resources.ImageResource import dev.icerock.moko.resources.StringResource @Composable -fun WhatsNewView(showWhatsNew: MutableState = mutableStateOf(true), showOperatorsNotice: Boolean = false, viaSettings: Boolean = false, close: () -> Unit) { +fun ModalData.WhatsNewView(showWhatsNew: MutableState = mutableStateOf(true), showOperatorsNotice: Boolean = false, viaSettings: Boolean = false, close: () -> Unit) { val currentVersion = remember { mutableStateOf(versionDescriptions.lastIndex) } - - if (showOperatorsNotice) { + val showOperatorsNoticeModal = remember { stateGetOrPut("showOperatorsNoticeModal") { showOperatorsNotice } } + if (showOperatorsNoticeModal.value) { LaunchedEffect(Unit) { - val conditionsId = chatModel.conditions.value?.currentConditions?.conditionsId - if (conditionsId != null) { - try { - setConditionsNotified(rh = chatModel.remoteHostId(), conditionsId = conditionsId) - } catch (e: Exception) { - Log.d(TAG, "WhatsNewView setConditionsNotified error: ${e.message}") - } + val conditionsId = chatModel.conditions.value.currentConditions.conditionsId + try { + setConditionsNotified(rh = chatModel.remoteHostId(), conditionsId = conditionsId) + } catch (e: Exception) { + Log.d(TAG, "WhatsNewView setConditionsNotified error: ${e.message}") } + showOperatorsNoticeModal.value = false ModalManager.fullscreen.showModalCloseable(showClose = false) { close -> ChooseServerOperators(onboarding = false, close) } @@ -723,7 +721,8 @@ fun shouldShowWhatsNew(m: ChatModel): Boolean { @Composable fun PreviewWhatsNewView() { SimpleXTheme { - WhatsNewView( + val data = remember { ModalData() } + data.WhatsNewView( viaSettings = true, close = {} )