From 3d19c7d00b0ffe0e2a9ecb2966f06aa8afc908b7 Mon Sep 17 00:00:00 2001 From: ialokim <ialokim@mailbox.org> Date: Tue, 3 May 2022 18:34:43 +0200 Subject: [PATCH] instantiate settingsViewModel in SettingsScreen instead of in BriarUi --- .../briarproject/briar/desktop/settings/SettingsScreen.kt | 3 ++- .../kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt | 5 +---- .../org/briarproject/briar/desktop/ui/MainScreen.kt | 8 +++----- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/org/briarproject/briar/desktop/settings/SettingsScreen.kt b/src/main/kotlin/org/briarproject/briar/desktop/settings/SettingsScreen.kt index cbaf493895..a132c74bd9 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/settings/SettingsScreen.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/settings/SettingsScreen.kt @@ -22,9 +22,10 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import org.briarproject.briar.desktop.viewmodel.viewModel @Composable -fun SettingsScreen(viewModel: SettingsViewModel) { +fun SettingsScreen(viewModel: SettingsViewModel = viewModel()) { ChangePasswordDialog( viewModel.changePasswordDialogVisible.value, close = viewModel::dismissChangePasswordDialog, diff --git a/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt b/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt index 1394a1af52..5f0f7eb729 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt @@ -51,7 +51,6 @@ import org.briarproject.briar.desktop.DesktopFeatureFlags import org.briarproject.briar.desktop.expiration.ExpirationBanner import org.briarproject.briar.desktop.login.ErrorScreen import org.briarproject.briar.desktop.login.StartupScreen -import org.briarproject.briar.desktop.settings.SettingsViewModel import org.briarproject.briar.desktop.settings.UnencryptedSettings import org.briarproject.briar.desktop.settings.UnencryptedSettings.Theme.AUTO import org.briarproject.briar.desktop.settings.UnencryptedSettings.Theme.DARK @@ -61,7 +60,6 @@ import org.briarproject.briar.desktop.ui.Screen.MAIN import org.briarproject.briar.desktop.ui.Screen.STARTUP import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n import org.briarproject.briar.desktop.viewmodel.ViewModelProvider -import org.briarproject.briar.desktop.viewmodel.viewModel import java.awt.Dimension import java.awt.event.WindowEvent import java.awt.event.WindowFocusListener @@ -181,7 +179,6 @@ constructor( } var showAbout by remember { mutableStateOf(false) } - val settingsViewModel: SettingsViewModel = viewModel() val isDarkTheme = unencryptedSettings.theme == DARK || (unencryptedSettings.theme == AUTO && isSystemInDarkTheme()) BriarTheme(isDarkTheme) { @@ -189,7 +186,7 @@ constructor( ExpirationBanner { screenState = EXPIRED; stop() } when (screenState) { STARTUP -> StartupScreen(onShowAbout = { showAbout = true }) - MAIN -> MainScreen(settingsViewModel, showAbout = { showAbout = true }) + MAIN -> MainScreen(onShowAbout = { showAbout = true }) EXPIRED -> ErrorScreen(i18n("startup.failed.expired"), onShowAbout = { showAbout = true }) } } diff --git a/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt b/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt index a6ba5762ba..48581bd321 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt @@ -25,7 +25,6 @@ import org.briarproject.briar.desktop.navigation.BriarSidebar import org.briarproject.briar.desktop.navigation.SidebarViewModel import org.briarproject.briar.desktop.privategroups.PrivateGroupScreen import org.briarproject.briar.desktop.settings.SettingsScreen -import org.briarproject.briar.desktop.settings.SettingsViewModel import org.briarproject.briar.desktop.viewmodel.viewModel /* @@ -35,22 +34,21 @@ import org.briarproject.briar.desktop.viewmodel.viewModel */ @Composable fun MainScreen( - settingsViewModel: SettingsViewModel, viewModel: SidebarViewModel = viewModel(), - showAbout: () -> Unit, + onShowAbout: () -> Unit, ) { Row { BriarSidebar( viewModel.account.value, viewModel.uiMode.value, viewModel::setUiMode, - showAbout = showAbout, + showAbout = onShowAbout, ) VerticalDivider() when (viewModel.uiMode.value) { UiMode.CONTACTS -> PrivateMessageScreen() UiMode.GROUPS -> PrivateGroupScreen() - UiMode.SETTINGS -> SettingsScreen(settingsViewModel) + UiMode.SETTINGS -> SettingsScreen() else -> UiPlaceholder() } } -- GitLab