From 8d7dd9611078c7a1d7baa1ad5111fce55b06e64a Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Wed, 2 Aug 2023 21:01:14 +0200 Subject: [PATCH] feat: Add GlobalSwitch --- .../ui/components/GlobalSwitch.kt | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 app/src/main/java/app/myzel394/locationtest/ui/components/GlobalSwitch.kt diff --git a/app/src/main/java/app/myzel394/locationtest/ui/components/GlobalSwitch.kt b/app/src/main/java/app/myzel394/locationtest/ui/components/GlobalSwitch.kt new file mode 100644 index 0000000..8aad670 --- /dev/null +++ b/app/src/main/java/app/myzel394/locationtest/ui/components/GlobalSwitch.kt @@ -0,0 +1,59 @@ +package app.myzel394.locationtest.ui.components + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Switch +import androidx.compose.material3.SwitchDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun GlobalSwitch( + label: String, + checked: Boolean, + onCheckedChange: (Boolean) -> Unit, +) { + Row( + modifier = Modifier + .padding(16.dp) + .fillMaxWidth() + .clip(MaterialTheme.shapes.extraLarge) + .background(MaterialTheme.colorScheme.secondary) + .padding(16.dp), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + label, + fontSize = 18.sp, + fontWeight = FontWeight.W500, + color = MaterialTheme.colorScheme.onSecondary, + ) + Switch( + colors = SwitchDefaults.colors( + uncheckedTrackColor = MaterialTheme.colorScheme.background, + checkedTrackColor = MaterialTheme.colorScheme.surfaceVariant, + checkedThumbColor = MaterialTheme.colorScheme.secondary, + uncheckedBorderColor = Color.Transparent, + checkedBorderColor = Color.Transparent, + disabledCheckedBorderColor = Color.Transparent, + disabledUncheckedBorderColor = Color.Transparent, + ), + checked = checked, + onCheckedChange = { + onCheckedChange(it) + } + ) + } +} \ No newline at end of file