From 021283f591994e412e914c04b66fe47977c8e344 Mon Sep 17 00:00:00 2001
From: ialokim <ialokim@mailbox.org>
Date: Sun, 17 Oct 2021 00:49:04 +0200
Subject: [PATCH] show UiPlaceholder if no contact selected

---
 .../desktop/conversation/PrivateMessageView.kt     |  5 +++--
 .../briarproject/briar/desktop/ui/MainScreen.kt    | 10 +---------
 .../briarproject/briar/desktop/ui/UiPlaceholder.kt | 14 ++++++++++++++
 3 files changed, 18 insertions(+), 11 deletions(-)
 create mode 100644 src/main/kotlin/org/briarproject/briar/desktop/ui/UiPlaceholder.kt

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/conversation/PrivateMessageView.kt b/src/main/kotlin/org/briarproject/briar/desktop/conversation/PrivateMessageView.kt
index 4b30eddff7..d82bc21fce 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/conversation/PrivateMessageView.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/conversation/PrivateMessageView.kt
@@ -11,6 +11,7 @@ import androidx.compose.ui.Modifier
 import org.briarproject.briar.desktop.contact.ContactInfoDrawerState.MakeIntro
 import org.briarproject.briar.desktop.contact.ContactList
 import org.briarproject.briar.desktop.contact.ContactsViewModel
+import org.briarproject.briar.desktop.ui.UiPlaceholder
 import org.briarproject.briar.desktop.ui.VerticalDivider
 
 @Composable
@@ -24,7 +25,7 @@ fun PrivateMessageView(
         ContactList(contacts)
         VerticalDivider()
         Column(modifier = Modifier.weight(1f).fillMaxHeight()) {
-            contacts.selectedContact.value?.let { selectedContact ->
+            contacts.selectedContact.value?.also { selectedContact ->
                 Conversation(
                     selectedContact,
                     contacts.contactList,
@@ -34,7 +35,7 @@ fun PrivateMessageView(
                     setInfoDrawer,
                     contactDrawerState
                 )
-            }
+            } ?: UiPlaceholder()
         }
     }
 }
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 f0ac067ca8..b5da952354 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/MainScreen.kt
@@ -1,15 +1,9 @@
 package org.briarproject.briar.desktop.ui
 
-import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Surface
-import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.ui.Modifier
 import org.briarproject.briar.desktop.contact.ContactsViewModel
 import org.briarproject.briar.desktop.conversation.PrivateMessageView
 import org.briarproject.briar.desktop.navigation.BriarSidebar
@@ -35,9 +29,7 @@ fun MainScreen(
         when (uiMode) {
             UiMode.CONTACTS -> PrivateMessageView(contactsViewModel)
             UiMode.SETTINGS -> PlaceHolderSettingsView(isDark, setDark)
-            else -> Surface(modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.background)) {
-                Text("TBD")
-            }
+            else -> UiPlaceholder()
         }
     }
 }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/ui/UiPlaceholder.kt b/src/main/kotlin/org/briarproject/briar/desktop/ui/UiPlaceholder.kt
new file mode 100644
index 0000000000..5b44eea156
--- /dev/null
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/UiPlaceholder.kt
@@ -0,0 +1,14 @@
+package org.briarproject.briar.desktop.ui
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.Surface
+import androidx.compose.material.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+
+@Composable
+fun UiPlaceholder() = Surface(Modifier.fillMaxSize().background(MaterialTheme.colors.background)) {
+    Text("TBD")
+}
-- 
GitLab