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 @@ + + +