From 74208a00b69f29b6f21a5800f22715c871409b82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Wed, 19 Jan 2022 15:02:45 +0100
Subject: [PATCH] Move AboutDialog to BriarUi

---
 .../org/briarproject/briar/desktop/ui/BriarUi.kt    |  7 ++++++-
 .../org/briarproject/briar/desktop/ui/MainScreen.kt | 13 ++-----------
 2 files changed, 8 insertions(+), 12 deletions(-)

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 cbd5c1f1af..fb0066b873 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/BriarUi.kt
@@ -24,6 +24,7 @@ import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.runtime.staticCompositionLocalOf
 import androidx.compose.ui.Modifier
@@ -119,16 +120,20 @@ constructor(
                 LocalCoreFeatureFlags provides featureFlags,
                 LocalDesktopFeatureFlags provides desktopFeatureFlags
             ) {
+                var showAbout by remember { mutableStateOf(false) }
                 val settingsViewModel: SettingsViewModel = viewModel()
                 BriarTheme(isDarkTheme = settingsViewModel.isDarkMode.value) {
                     Column(Modifier.fillMaxSize()) {
                         ExpirationBanner { screenState = EXPIRED; stop() }
                         when (screenState) {
                             STARTUP -> StartupScreen()
-                            MAIN -> MainScreen(settingsViewModel)
+                            MAIN -> MainScreen(settingsViewModel, showAbout = { showAbout = true })
                             EXPIRED -> ErrorScreen(i18n("startup.failed.expired"))
                         }
                     }
+                    if (showAbout) {
+                        AboutDialog(onClose = { showAbout = false })
+                    }
                 }
             }
         }
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 5dcf2d2121..a6ba5762ba 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt
@@ -20,10 +20,6 @@ package org.briarproject.briar.desktop.ui
 
 import androidx.compose.foundation.layout.Row
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
 import org.briarproject.briar.desktop.conversation.PrivateMessageScreen
 import org.briarproject.briar.desktop.navigation.BriarSidebar
 import org.briarproject.briar.desktop.navigation.SidebarViewModel
@@ -41,15 +37,14 @@ import org.briarproject.briar.desktop.viewmodel.viewModel
 fun MainScreen(
     settingsViewModel: SettingsViewModel,
     viewModel: SidebarViewModel = viewModel(),
+    showAbout: () -> Unit,
 ) {
-    var showAbout by remember { mutableStateOf(false) }
-
     Row {
         BriarSidebar(
             viewModel.account.value,
             viewModel.uiMode.value,
             viewModel::setUiMode,
-            { showAbout = true },
+            showAbout = showAbout,
         )
         VerticalDivider()
         when (viewModel.uiMode.value) {
@@ -59,8 +54,4 @@ fun MainScreen(
             else -> UiPlaceholder()
         }
     }
-
-    if (showAbout) {
-        AboutDialog(onClose = { showAbout = false })
-    }
 }
-- 
GitLab