From 5554e1dd314b26209aee200925ffb3f04455848f Mon Sep 17 00:00:00 2001
From: rushiiMachine <33725716+rushiiMachine@users.noreply.github.com>
Date: Sun, 9 Feb 2025 18:27:40 -0800
Subject: [PATCH] feat(ThemeDialog): add option icons
---
.../com/aliucord/manager/ui/components/Theme.kt | 8 ++++++++
.../ui/screens/settings/components/ThemeDialog.kt | 12 +++++++++++-
app/src/main/res/drawable/ic_light.xml | 9 +++++++++
app/src/main/res/drawable/ic_night.xml | 9 +++++++++
app/src/main/res/drawable/ic_sync.xml | 9 +++++++++
5 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/res/drawable/ic_light.xml
create mode 100644 app/src/main/res/drawable/ic_night.xml
create mode 100644 app/src/main/res/drawable/ic_sync.xml
diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/components/Theme.kt b/app/src/main/kotlin/com/aliucord/manager/ui/components/Theme.kt
index 0a69fb2..14f68c7 100644
--- a/app/src/main/kotlin/com/aliucord/manager/ui/components/Theme.kt
+++ b/app/src/main/kotlin/com/aliucord/manager/ui/components/Theme.kt
@@ -11,6 +11,7 @@ import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import com.aliucord.manager.R
import com.google.accompanist.systemuicontroller.rememberSystemUiController
@@ -67,4 +68,11 @@ enum class Theme {
LIGHT -> stringResource(R.string.theme_light)
DARK -> stringResource(R.string.theme_dark)
}
+
+ @Composable
+ fun toPainter() = when (this) {
+ SYSTEM -> painterResource(R.drawable.ic_sync)
+ LIGHT -> painterResource(R.drawable.ic_light)
+ DARK -> painterResource(R.drawable.ic_night)
+ }
}
diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/screens/settings/components/ThemeDialog.kt b/app/src/main/kotlin/com/aliucord/manager/ui/screens/settings/components/ThemeDialog.kt
index 7f13e95..f24b41e 100644
--- a/app/src/main/kotlin/com/aliucord/manager/ui/screens/settings/components/ThemeDialog.kt
+++ b/app/src/main/kotlin/com/aliucord/manager/ui/screens/settings/components/ThemeDialog.kt
@@ -12,6 +12,7 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
import com.aliucord.manager.R
import com.aliucord.manager.ui.components.Theme
@@ -49,9 +50,18 @@ fun ThemeDialog(
.clip(MaterialTheme.shapes.medium)
.padding(horizontal = 6.dp, vertical = 8.dp),
) {
+ Icon(
+ painter = theme.toPainter(),
+ contentDescription = null,
+ modifier = Modifier
+ .padding(end = 14.dp)
+ .size(26.dp),
+ )
+
Text(
text = theme.toDisplayName(),
- style = MaterialTheme.typography.labelLarge,
+ style = MaterialTheme.typography.labelLarge
+ .copy(fontSize = 14.sp)
)
Spacer(Modifier.Companion.weight(1f, true))
diff --git a/app/src/main/res/drawable/ic_light.xml b/app/src/main/res/drawable/ic_light.xml
new file mode 100644
index 0000000..ddef03b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_light.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_night.xml b/app/src/main/res/drawable/ic_night.xml
new file mode 100644
index 0000000..0cb32d0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_night.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_sync.xml b/app/src/main/res/drawable/ic_sync.xml
new file mode 100644
index 0000000..81641ea
--- /dev/null
+++ b/app/src/main/res/drawable/ic_sync.xml
@@ -0,0 +1,9 @@
+
+
+