feat: kotlin shinanigans to make it run inside intellij
This commit is contained in:
parent
f26f113a63
commit
5ff2319f37
2 changed files with 65 additions and 16 deletions
|
@ -1,7 +1,46 @@
|
|||
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.ui.window.Window
|
||||
import androidx.compose.ui.window.application
|
||||
import xyz.atnrch.wrench.logger.Logger
|
||||
import xyz.atnrch.wrench.scaffold.WrenchScaffold
|
||||
|
||||
class WrenchApp {
|
||||
companion object {
|
||||
const val PREFIX: String = "(Wrench)"
|
||||
|
||||
@JvmStatic
|
||||
fun main(args: Array<String>) {
|
||||
application {
|
||||
Window(onCloseRequest = {
|
||||
Logger.info("Stopping Wrench...")
|
||||
Logger.info("bye!")
|
||||
::exitApplication.invoke()
|
||||
}, title = "Wrench") {
|
||||
Logger.info("Starting Wrench...")
|
||||
App()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@Preview
|
||||
@JvmStatic
|
||||
fun App() {
|
||||
MaterialTheme {
|
||||
WrenchScaffold()
|
||||
/*
|
||||
val watcher = remember { Watcher() }
|
||||
WrenchDisplay(
|
||||
onStartButtonClick = watcher::start,
|
||||
onStopButtonClick = watcher::stop,
|
||||
onAddButtonClick = {}
|
||||
)
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,9 +1,6 @@
|
|||
package xyz.atnrch.wrench.display.status
|
||||
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.Button
|
||||
import androidx.compose.material.ButtonDefaults
|
||||
import androidx.compose.material.Icon
|
||||
|
@ -14,6 +11,7 @@ import androidx.compose.material.icons.filled.Close
|
|||
import androidx.compose.material.icons.filled.PlayArrow
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
@Composable
|
||||
|
@ -22,34 +20,46 @@ fun WrenchStatus(
|
|||
onStopButtonClick: () -> Unit,
|
||||
onAddButtonClick: () -> Unit
|
||||
) {
|
||||
val padding = PaddingValues(
|
||||
start = 13.dp,
|
||||
top = 10.dp,
|
||||
end = 13.dp,
|
||||
bottom = 10.dp
|
||||
)
|
||||
var status by remember { mutableStateOf(false) }
|
||||
var startStopButtonText by remember { mutableStateOf("Start") }
|
||||
|
||||
Row {
|
||||
Button({
|
||||
status = if (status) {
|
||||
onStopButtonClick.invoke()
|
||||
false
|
||||
} else {
|
||||
onStartButtonClick.invoke()
|
||||
true
|
||||
}
|
||||
startStopButtonText = if (status) "Stop" else "Start"
|
||||
}) {
|
||||
Button(
|
||||
{
|
||||
status = if (status) {
|
||||
onStopButtonClick.invoke()
|
||||
false
|
||||
} else {
|
||||
onStartButtonClick.invoke()
|
||||
true
|
||||
}
|
||||
startStopButtonText = if (status) "Stop" else "Start"
|
||||
}, contentPadding = padding
|
||||
) {
|
||||
if (status) Icon(
|
||||
Icons.Filled.Close,
|
||||
contentDescription = "Start",
|
||||
modifier = Modifier.size(ButtonDefaults.IconSize)
|
||||
) else Icon(
|
||||
Icons.Filled.PlayArrow,
|
||||
tint = Color.White,
|
||||
contentDescription = "Start",
|
||||
modifier = Modifier.size(ButtonDefaults.IconSize)
|
||||
modifier = Modifier.size(24.dp)
|
||||
)
|
||||
Spacer(Modifier.size(ButtonDefaults.IconSpacing))
|
||||
Text(startStopButtonText)
|
||||
}
|
||||
Spacer(Modifier.width(10.dp))
|
||||
Button(onAddButtonClick) {
|
||||
Button(
|
||||
onAddButtonClick,
|
||||
contentPadding = padding
|
||||
) {
|
||||
Icon(
|
||||
Icons.Filled.Add,
|
||||
contentDescription = "Add",
|
||||
|
|
Reference in a new issue