why is kotlin desktop compose so hard?

This commit is contained in:
aro 2022-11-20 22:14:06 +01:00
parent 95ae63260d
commit 8d796b75d7
2 changed files with 28 additions and 13 deletions

View file

@ -11,6 +11,7 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.PlayArrow import androidx.compose.material.icons.filled.PlayArrow
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
@ -24,6 +25,8 @@ fun BottomRow(
state: Boolean, state: Boolean,
onStateChange: (state: Boolean) -> Unit onStateChange: (state: Boolean) -> Unit
) { ) {
val buttonColors = remember { arrayOf(UIColors.WATCHER_START_BG) }
//............. //.............
// START BUTTON // START BUTTON
//............. //.............
@ -38,21 +41,27 @@ fun BottomRow(
onStateChange(true) onStateChange(true)
} }
}, },
colors = ButtonDefaults.buttonColors(UIColors.LIGHT, Color.White), colors = ButtonDefaults.buttonColors(buttonColors[0], Color.White),
contentPadding = ButtonDefaults.ContentPadding, contentPadding = ButtonDefaults.ContentPadding,
shape = RoundedCornerShape(100), shape = RoundedCornerShape(100),
modifier = Modifier.shadow(15.dp, RoundedCornerShape(100), false) modifier = Modifier.shadow(15.dp, RoundedCornerShape(100), false)
) { ) {
if (state) Icon( if (state) {
buttonColors[0] = UIColors.WATCHER_STOP_BG
Icon(
Icons.Filled.Close, Icons.Filled.Close,
tint = UIColors.STRESS, tint = UIColors.WATCHER_STOP_FG,
contentDescription = "Stop", contentDescription = "Stop",
modifier = Modifier.size(28.dp) modifier = Modifier.size(28.dp)
) else Icon( )
} else {
buttonColors[0] = UIColors.WATCHER_START_BG
Icon(
Icons.Filled.PlayArrow, Icons.Filled.PlayArrow,
tint = UIColors.GREEN, tint = UIColors.WATCHER_START_FG,
contentDescription = "Start", contentDescription = "Start",
modifier = Modifier.size(28.dp) modifier = Modifier.size(28.dp)
) )
} }
}
} }

View file

@ -7,6 +7,12 @@ class UIColors {
val PRIMARY = Color(0xFF424242) val PRIMARY = Color(0xFF424242)
val LIGHT = Color(0xFF6D6D6D) val LIGHT = Color(0xFF6D6D6D)
val STRESS = Color(0xFFF44336) val STRESS = Color(0xFFF44336)
val GREEN = Color(0xFF388E3C) val GREEN = Color(0xFF64BA59)
val ORANGE = Color(0xFFFFB300)
val WATCHER_START_BG = Color(0xFF31893D)
val WATCHER_START_FG = Color(0xFF64BA69)
val WATCHER_STOP_BG = Color(0xFFBA000D)
val WATCHER_STOP_FG = STRESS
} }
} }