feat: clickable buttons
This commit is contained in:
parent
e8d3a4be68
commit
1a18dade51
4 changed files with 23 additions and 21 deletions
|
@ -3,12 +3,10 @@ package xyz.atnrch.wrench
|
|||
import androidx.compose.desktop.ui.tooling.preview.Preview
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.window.Window
|
||||
import androidx.compose.ui.window.application
|
||||
import xyz.atnrch.wrench.logger.Logger
|
||||
import xyz.atnrch.wrench.scaffold.WrenchScaffold
|
||||
import xyz.atnrch.wrench.watcher.Watcher
|
||||
import javax.swing.UIManager
|
||||
|
||||
class WrenchApp {
|
||||
|
@ -34,14 +32,7 @@ class WrenchApp {
|
|||
@JvmStatic
|
||||
fun App() {
|
||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
|
||||
MaterialTheme {
|
||||
val watcher = remember { Watcher() }
|
||||
WrenchScaffold(
|
||||
onStartButtonClick = watcher::start,
|
||||
onStopButtonClick = watcher::stop,
|
||||
onAddButtonClick = {}
|
||||
)
|
||||
}
|
||||
MaterialTheme { WrenchScaffold() }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@ fun WrenchFileManagerInput() {
|
|||
modifier = Modifier.fillMaxSize(),
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(15.dp)
|
||||
modifier = Modifier.padding(96.dp)
|
||||
) {
|
||||
Text("Test")
|
||||
Text("Test2")
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
package xyz.atnrch.wrench.components
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
@Composable
|
||||
|
@ -17,9 +21,18 @@ fun WrenchFileManagerOutput() {
|
|||
modifier = Modifier.fillMaxSize(),
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(15.dp)
|
||||
modifier = Modifier.padding(96.dp)
|
||||
) {
|
||||
Text("Test")
|
||||
val backgroundColor = remember { mutableStateOf(Color.Black) }
|
||||
|
||||
Text(
|
||||
text = "Test",
|
||||
color = backgroundColor.value,
|
||||
modifier = Modifier.clickable {
|
||||
println("Click!")
|
||||
backgroundColor.value = Color.Red
|
||||
}
|
||||
)
|
||||
Text("Test2")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,13 +22,11 @@ import xyz.atnrch.wrench.components.FilePicker
|
|||
import xyz.atnrch.wrench.components.WrenchFileManagerInput
|
||||
import xyz.atnrch.wrench.components.WrenchFileManagerOutput
|
||||
import xyz.atnrch.wrench.logger.Logger
|
||||
import xyz.atnrch.wrench.watcher.Watcher
|
||||
|
||||
@Composable
|
||||
fun WrenchScaffold(
|
||||
onStartButtonClick: () -> Unit,
|
||||
onStopButtonClick: () -> Unit,
|
||||
onAddButtonClick: () -> Unit
|
||||
) {
|
||||
fun WrenchScaffold() {
|
||||
val watcher = remember { Watcher() }
|
||||
var status by remember { mutableStateOf(false) }
|
||||
|
||||
Scaffold(
|
||||
|
@ -62,7 +60,7 @@ fun WrenchScaffold(
|
|||
// ADD BUTTON (FLOATING)
|
||||
//.............
|
||||
FloatingActionButton(
|
||||
onClick = {
|
||||
{
|
||||
FilePicker({
|
||||
Logger.info("Path: ${it.absolutePath}")
|
||||
}, {
|
||||
|
@ -94,10 +92,10 @@ fun WrenchScaffold(
|
|||
Button(
|
||||
{
|
||||
status = if (status) {
|
||||
onStopButtonClick.invoke()
|
||||
run { watcher.stop() }
|
||||
false
|
||||
} else {
|
||||
onStartButtonClick.invoke()
|
||||
run { watcher.start() }
|
||||
true
|
||||
}
|
||||
},
|
||||
|
|
Reference in a new issue