diff --git a/src/main/kotlin/org/briarproject/briar/compose/UI.kt b/src/main/kotlin/org/briarproject/briar/compose/UI.kt index 5671b447697528d20137047eaa2b1a4d579bcc7c..791e128bb66d6b5dc8a1220fde2fd3ed5c9f2cb5 100644 --- a/src/main/kotlin/org/briarproject/briar/compose/UI.kt +++ b/src/main/kotlin/org/briarproject/briar/compose/UI.kt @@ -1,5 +1,16 @@ package org.briarproject.briar.compose +import androidx.compose.desktop.Window +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Button +import androidx.compose.material.Text +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.res.svgResource +import androidx.compose.ui.unit.dp import org.briarproject.bramble.api.account.AccountManager import org.briarproject.bramble.api.contact.ContactManager import org.briarproject.bramble.api.crypto.PasswordStrengthEstimator @@ -8,15 +19,10 @@ import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.api.introduction.IntroductionManager import org.briarproject.briar.api.messaging.MessagingManager import org.briarproject.briar.api.messaging.PrivateMessageFactory -import org.briarproject.briar.compose.config.Configuration import java.util.logging.Logger.getLogger import javax.annotation.concurrent.Immutable import javax.inject.Inject import javax.inject.Singleton -import javax.swing.JFrame - -private const val VERSION = "v1" -private const val WS = "/$VERSION/ws" @Immutable @Singleton @@ -42,22 +48,16 @@ constructor( } internal fun startUI() { - val mainUI = MainUI( - briarService, - accountManager, - contactManager, - conversationManager, - messagingManager, - introductionManager, - privateMessageFactory, - eventBus, - passwordStrengthEstimator, -// configuration - ); - - mainUI.defaultCloseOperation = JFrame.EXIT_ON_CLOSE; - mainUI.setSize(800, 600); - mainUI.setVisible(true); + Window { + Column( + modifier = Modifier.padding(16.dp) + ) { + TheImage() + Spacer(Modifier.height(32.dp)) + TheText() + TheButton() + } + } } internal fun getContactManager(): ContactManager { @@ -66,3 +66,29 @@ constructor( } + +@Composable +private fun TheButton() { + var text by remember { mutableStateOf("Start chatting") } + Button(onClick = { + text = "Sorry, not yet available" + }) { + Text(text) + } +} + +@Composable +private fun TheImage() { + Image( + painter = svgResource("images/logo_circle.svg"), + contentDescription = "Briar logo", + modifier = Modifier + .fillMaxWidth() + .clip(shape = RoundedCornerShape(400.dp)) + ) +} + +@Composable +private fun TheText() { + Text("Welcome to Briar") +} diff --git a/src/main/kotlin/org/briarproject/briar/compose/main.kt b/src/main/kotlin/org/briarproject/briar/compose/main.kt index 0278c0e628fd37a1cac83bdd1b8383315f4511d5..773691a753453ab72b8a99805e8379e7fc00873a 100644 --- a/src/main/kotlin/org/briarproject/briar/compose/main.kt +++ b/src/main/kotlin/org/briarproject/briar/compose/main.kt @@ -1,16 +1,5 @@ package org.briarproject.briar.compose -import androidx.compose.desktop.Window -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text -import androidx.compose.material.Button -import androidx.compose.runtime.* -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.res.svgResource -import androidx.compose.ui.unit.dp import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.briar.BriarCoreEagerSingletons import java.io.File @@ -22,7 +11,7 @@ import java.nio.file.attribute.PosixFilePermission import java.util.logging.Level import java.util.logging.LogManager -fun main() = Window { +fun main() { LogManager.getLogManager().getLogger("").level = Level.INFO val dataDir = getDataDir() @@ -39,15 +28,6 @@ fun main() = Window { app.getUI().startBriar() app.getUI().startUI() - - Column( - modifier = Modifier.padding(16.dp) - ) { - TheImage() - Spacer(Modifier.height(32.dp)) - TheText() - TheButton() - } } private fun getDataDir(): File { @@ -63,30 +43,4 @@ private fun getDataDir(): File { perms.add(PosixFilePermission.OWNER_EXECUTE) setPosixFilePermissions(file.toPath(), perms) return file -} - -@Composable -private fun TheButton() { - var text by remember { mutableStateOf("Start chatting") } - Button(onClick = { - text = "Sorry, not yet available" - }) { - Text(text) - } -} - -@Composable -private fun TheImage() { - Image( - painter = svgResource("images/logo_circle.svg"), - contentDescription = "Briar logo", - modifier = Modifier - .fillMaxWidth() - .clip(shape = RoundedCornerShape(400.dp)) - ) -} - -@Composable -private fun TheText() { - Text("Welcome to Briar") } \ No newline at end of file