Skip to content

Commit e1a5b95

Browse files
committed
chore: dep updates and misc compose desktop changes
1 parent 99a911a commit e1a5b95

File tree

5 files changed

+117
-24
lines changed

5 files changed

+117
-24
lines changed

compose/desktop/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ kotlin {
1919
implementation(compose.runtime)
2020
implementation(compose.foundation)
2121
implementation(compose.material3)
22-
implementation(compose.materialIconsExtended)
2322
implementation(compose.components.resources)
2423
implementation(compose.components.uiToolingPreview)
24+
implementation(libs.compose.navigation)
25+
// implementation(compose.materialIconsExtended)
2526
// project.dependencies.detektPlugins(libs.detekt.compose.rules)
2627
}
2728

compose/desktop/src/jvmMain/kotlin/DragDrop.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
1010
import androidx.compose.material.OutlinedButton
1111
import androidx.compose.material.Text
1212
import androidx.compose.material.icons.Icons
13-
import androidx.compose.material.icons.filled.FileUpload
13+
import androidx.compose.material.icons.filled.KeyboardArrowUp
1414
import androidx.compose.material3.Icon
1515
import androidx.compose.runtime.*
1616
import androidx.compose.ui.*
@@ -61,7 +61,7 @@ fun DragDropBox(modifier: Modifier = Modifier, onDrop: (DragData) -> Unit) {
6161
enabled = isDragging.not(),
6262
shape = RoundedCornerShape(10.dp),
6363
onClick = { fdOpen = !fdOpen }) {
64-
Icon(Icons.Filled.FileUpload, "Upload")
64+
Icon(Icons.Default.KeyboardArrowUp, "Upload")
6565
Text("Select")
6666
}
6767

compose/desktop/src/jvmMain/kotlin/Main.kt

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.material.Button
1111
import androidx.compose.material.MaterialTheme
1212
import androidx.compose.material.Text
1313
import androidx.compose.runtime.*
14+
import androidx.compose.runtime.saveable.rememberSaveable
1415
import androidx.compose.ui.Alignment
1516
import androidx.compose.ui.ExperimentalComposeUiApi
1617
import androidx.compose.ui.Modifier
@@ -26,6 +27,10 @@ import androidx.compose.ui.window.Window
2627
import androidx.compose.ui.window.WindowPosition
2728
import androidx.compose.ui.window.application
2829
import androidx.compose.ui.window.rememberWindowState
30+
import androidx.navigation.NavController
31+
import androidx.navigation.compose.NavHost
32+
import androidx.navigation.compose.composable
33+
import androidx.navigation.compose.rememberNavController
2934
import java.awt.Dimension
3035
import java.io.File
3136
import kotlinx.coroutines.MainScope
@@ -39,10 +44,10 @@ val resourcesDir = File(System.getProperty("compose.application.resources.dir",
3944
@OptIn(ExperimentalFoundationApi::class)
4045
@Composable
4146
@Preview
42-
fun App() {
47+
fun Home(navController: NavController) {
4348
val coroutineScope = rememberCoroutineScope()
44-
var text by remember { mutableStateOf(AnnotatedString("Hello, Compose!")) }
45-
var showImage by remember { mutableStateOf(false) }
49+
var text by rememberSaveable { mutableStateOf(AnnotatedString("Hello, Compose!")) }
50+
var showImage by rememberSaveable { mutableStateOf(false) }
4651
val resource = resourcesDir.resolve("resource.txt")
4752

4853
Column(
@@ -95,10 +100,32 @@ fun App() {
95100
AnimatedVisibility(visible = showImage) {
96101
Image(painter = painterResource("svg/idea-logo.svg"), contentDescription = "Logo")
97102
}
103+
104+
Button(onClick = { navController.navigate("FileBrowser") }) { Text("File Browser!") }
105+
}
106+
}
107+
108+
@Composable
109+
fun FileBrowser(modifier: Modifier = Modifier, navController: NavController) {
110+
Column(
111+
modifier = modifier.fillMaxSize().padding(10.dp).debug(color = Color.Magenta),
112+
horizontalAlignment = Alignment.CenterHorizontally,
113+
verticalArrangement = Arrangement.SpaceEvenly) {
98114
DragDropListView()
115+
116+
Button(onClick = { navController.popBackStack() }) { Text("Back") }
99117
}
100118
}
101119

120+
@Composable
121+
fun App() {
122+
val navController = rememberNavController()
123+
NavHost(navController = navController, startDestination = "Home") {
124+
composable("Home") { Home(navController) }
125+
composable("FileBrowser") { FileBrowser(navController = navController) }
126+
}
127+
}
128+
102129
fun main() = application {
103130
Window(
104131
title = "App",

gradle/kotlin-js-store/package-lock.json

Lines changed: 74 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradle/libs.versions.toml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ junit = "5.11.0-M2"
6969
koin = "3.5.6"
7070
kotest = "5.9.0"
7171
mockk = "1.13.11"
72-
mokkery = "2.0.0-RC1"
72+
mokkery = "2.0.0"
7373
slf4j = "2.1.0-alpha1"
7474
logback = "1.5.6"
7575
logback-tyler = "0.7"
@@ -157,7 +157,7 @@ npm-jsjoda-tz = "2.21.0"
157157
benmanes = "0.51.0"
158158
foojay-resolver = "0.8.0"
159159
gradle-develocity = "3.17.4"
160-
nmcp = "0.0.7"
160+
nmcp = "0.0.8"
161161
nexus-publish = "2.0.0"
162162
shadow = "8.1.1"
163163
spotless = "6.25.0"
@@ -183,6 +183,7 @@ jib-nativeimage-extn = "0.1.0"
183183
includegit-plugin = "0.1.6"
184184
kmp-hierarchy = "1.1"
185185
jetbrains-compose = "1.6.10"
186+
jetbrains-compose-nav = "2.8.0-alpha02"
186187
kobweb = "0.18.0"
187188
detekt = "1.23.6"
188189
detekt-compose-rules = "0.4.2"
@@ -503,11 +504,12 @@ otel-instr-micrometer = { module = "io.opentelemetry.instrumentat
503504
elastic-otel-javaagent = { module = "co.elastic.otel:elastic-otel-javaagent" , version.ref = "elastic-otel"}
504505

505506
# Compose
506-
compose-html-core = { module = "org.jetbrains.compose.html:html-core" , version.ref = "jetbrains-compose" }
507-
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime" , version.ref = "jetbrains-compose" }
508-
compose-routing = { module = "app.softwork:routing-compose" , version.ref = "compose-routing" }
509-
compose-icons-fontAwesome = { module = "br.com.devsrsouza.compose.icons:font-awesome" , version.ref = "compose-icons" }
510-
detekt-compose-rules = { module = "io.nlopez.compose.rules:detekt" , version.ref = "detekt-compose-rules" }
507+
compose-html-core = { module = "org.jetbrains.compose.html:html-core" , version.ref = "jetbrains-compose" }
508+
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime" , version.ref = "jetbrains-compose" }
509+
compose-navigation = { module = "org.jetbrains.androidx.navigation:navigation-compose" , version.ref = "jetbrains-compose-nav" }
510+
compose-routing = { module = "app.softwork:routing-compose" , version.ref = "compose-routing" }
511+
compose-icons-fontAwesome = { module = "br.com.devsrsouza.compose.icons:font-awesome" , version.ref = "compose-icons" }
512+
detekt-compose-rules = { module = "io.nlopez.compose.rules:detekt" , version.ref = "detekt-compose-rules" }
511513

512514
# Wasm
513515

0 commit comments

Comments
 (0)