@@ -19,12 +19,16 @@ import androidx.compose.ui.Alignment
1919import androidx.compose.ui.Modifier
2020import androidx.compose.ui.draw.clip
2121import androidx.compose.ui.draw.scale
22+ import androidx.compose.ui.graphics.Color
23+ import androidx.compose.ui.graphics.ColorFilter
2224import androidx.compose.ui.layout.ContentScale
2325import androidx.compose.ui.platform.LocalUriHandler
24- import androidx.compose.ui.res.colorResource
2526import androidx.compose.ui.unit.dp
27+ import app.LocalAppChromeState
2628import app.R
2729import app.ProjectInfo
30+ import app.modes.ColorModeThemeDark
31+ import app.modes.ColorModeThemeSystem
2832import androidx.compose.ui.res.painterResource
2933import androidx.compose.ui.res.stringResource
3034import top.yukonga.miuix.kmp.basic.BasicComponent
@@ -67,24 +71,49 @@ internal fun AboutHeader(
6771private fun AboutAppIcon (
6872 modifier : Modifier = Modifier ,
6973) {
74+ val iconStyle = aboutIconStyle()
75+
7076 Box (
7177 modifier = modifier
7278 .size(88 .dp)
7379 .clip(RoundedCornerShape (22 .dp))
74- .background(colorResource( R .color.ic_launcher_background) ),
80+ .background(MiuixTheme .colorScheme.surface ),
7581 contentAlignment = Alignment .Center ,
7682 ) {
7783 Image (
78- painter = painterResource(R .mipmap.ic_launcher_foreground ),
84+ painter = painterResource(iconStyle.foregroundResId ),
7985 contentDescription = ProjectInfo .PROJECT_NAME ,
8086 contentScale = ContentScale .Fit ,
87+ colorFilter = iconStyle.foregroundTint?.let { tint -> ColorFilter .tint(tint) },
8188 modifier = Modifier
8289 .fillMaxSize()
8390 .scale(AboutIconForegroundScale ),
8491 )
8592 }
8693}
8794
95+ @Composable
96+ private fun aboutIconStyle (): AboutIconStyle {
97+ val chromeState = LocalAppChromeState .current
98+ val isMonetMode = chromeState.colorMode in ColorModeThemeSystem .. ColorModeThemeDark
99+ if (! isMonetMode) {
100+ return AboutIconStyle (
101+ foregroundResId = R .mipmap.ic_launcher_foreground,
102+ foregroundTint = null ,
103+ )
104+ }
105+
106+ return AboutIconStyle (
107+ foregroundResId = R .mipmap.ic_launcher_monet_monochrome,
108+ foregroundTint = MiuixTheme .colorScheme.primary,
109+ )
110+ }
111+
112+ private data class AboutIconStyle (
113+ val foregroundResId : Int ,
114+ val foregroundTint : Color ? ,
115+ )
116+
88117@Composable
89118internal fun AboutRuntimeCard (
90119 modifier : Modifier = Modifier ,
0 commit comments