manager: fix dark theme color

This commit is contained in:
YuKongA
2025-11-27 08:49:19 +08:00
committed by shirkneko
parent 314fbe8cf7
commit 228b6b1273
4 changed files with 18 additions and 9 deletions

View File

@@ -9,7 +9,6 @@ import androidx.compose.animation.expandVertically
import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut import androidx.compose.animation.fadeOut
import androidx.compose.animation.shrinkVertically import androidx.compose.animation.shrinkVertically
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -44,7 +43,6 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
@@ -74,6 +72,7 @@ import com.sukisu.ultra.getKernelVersion
import com.sukisu.ultra.ui.component.DropdownItem import com.sukisu.ultra.ui.component.DropdownItem
import com.sukisu.ultra.ui.component.RebootListPopup import com.sukisu.ultra.ui.component.RebootListPopup
import com.sukisu.ultra.ui.component.rememberConfirmDialog import com.sukisu.ultra.ui.component.rememberConfirmDialog
import com.sukisu.ultra.ui.theme.isInDarkTheme
import com.sukisu.ultra.ui.util.* import com.sukisu.ultra.ui.util.*
import com.sukisu.ultra.ui.util.module.LatestVersionInfo import com.sukisu.ultra.ui.util.module.LatestVersionInfo
import com.sukisu.ultra.ui.util.reboot import com.sukisu.ultra.ui.util.reboot
@@ -347,7 +346,7 @@ private fun StatusCard(
colors = CardDefaults.defaultColors( colors = CardDefaults.defaultColors(
color = when { color = when {
isDynamicColor -> colorScheme.secondaryContainer isDynamicColor -> colorScheme.secondaryContainer
isSystemInDarkTheme() || themeMode == 2 -> Color(0xFF1A3825) isInDarkTheme(themeMode) -> Color(0xFF1A3825)
else -> Color(0xFFDFFAE4) else -> Color(0xFFDFFAE4)
} }
), ),
@@ -531,7 +530,7 @@ fun WarningCard(
colors = CardDefaults.defaultColors( colors = CardDefaults.defaultColors(
color = color ?: when { color = color ?: when {
isDynamicColor -> colorScheme.errorContainer isDynamicColor -> colorScheme.errorContainer
isSystemInDarkTheme() || themeMode == 2 -> Color(0XFF310808) isInDarkTheme(themeMode) -> Color(0XFF310808)
else -> Color(0xFFF8E2E2) else -> Color(0xFFF8E2E2)
} }
), ),

View File

@@ -19,7 +19,6 @@ import androidx.compose.animation.shrinkHorizontally
import androidx.compose.animation.shrinkVertically import androidx.compose.animation.shrinkVertically
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.border import androidx.compose.foundation.border
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -46,7 +45,6 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Undo
import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material.icons.rounded.Add import androidx.compose.material.icons.rounded.Add
import androidx.compose.material.icons.rounded.Code import androidx.compose.material.icons.rounded.Code
@@ -111,6 +109,7 @@ import com.sukisu.ultra.ui.component.SearchBox
import com.sukisu.ultra.ui.component.SearchPager import com.sukisu.ultra.ui.component.SearchPager
import com.sukisu.ultra.ui.component.rememberConfirmDialog import com.sukisu.ultra.ui.component.rememberConfirmDialog
import com.sukisu.ultra.ui.component.rememberLoadingDialog import com.sukisu.ultra.ui.component.rememberLoadingDialog
import com.sukisu.ultra.ui.theme.isInDarkTheme
import com.sukisu.ultra.ui.util.DownloadListener import com.sukisu.ultra.ui.util.DownloadListener
import com.sukisu.ultra.ui.util.download import com.sukisu.ultra.ui.util.download
import com.sukisu.ultra.ui.util.getFileName import com.sukisu.ultra.ui.util.getFileName
@@ -894,7 +893,7 @@ fun ModuleItem(
) { ) {
val context = LocalContext.current val context = LocalContext.current
val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
val isDark = isSystemInDarkTheme() || prefs.getInt("color_mode", 0) == 2 || prefs.getInt("color_mode", 0) == 5 val isDark = isInDarkTheme(prefs.getInt("color_mode", 0))
val colorScheme = colorScheme val colorScheme = colorScheme
val secondaryContainer = colorScheme.secondaryContainer.copy(alpha = 0.8f) val secondaryContainer = colorScheme.secondaryContainer.copy(alpha = 0.8f)
val actionIconTint = remember(isDark) { colorScheme.onSurface.copy(alpha = if (isDark) 0.7f else 0.9f) } val actionIconTint = remember(isDark) { colorScheme.onSurface.copy(alpha = if (isDark) 0.7f else 0.9f) }

View File

@@ -10,7 +10,6 @@ import androidx.compose.animation.shrinkVertically
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.basicMarquee import androidx.compose.foundation.basicMarquee
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -77,6 +76,7 @@ import com.sukisu.ultra.ui.component.AppIconImage
import com.sukisu.ultra.ui.component.DropdownItem import com.sukisu.ultra.ui.component.DropdownItem
import com.sukisu.ultra.ui.component.SearchBox import com.sukisu.ultra.ui.component.SearchBox
import com.sukisu.ultra.ui.component.SearchPager import com.sukisu.ultra.ui.component.SearchPager
import com.sukisu.ultra.ui.theme.isInDarkTheme
import com.sukisu.ultra.ui.util.ownerNameForUid import com.sukisu.ultra.ui.util.ownerNameForUid
import com.sukisu.ultra.ui.util.pickPrimary import com.sukisu.ultra.ui.util.pickPrimary
import com.sukisu.ultra.ui.viewmodel.SuperUserViewModel import com.sukisu.ultra.ui.viewmodel.SuperUserViewModel
@@ -470,7 +470,7 @@ private fun GroupItem(
) { ) {
val context = LocalContext.current val context = LocalContext.current
val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
val isDark = isSystemInDarkTheme() || prefs.getInt("color_mode", 0) == 2 || prefs.getInt("color_mode", 0) == 5 val isDark = isInDarkTheme(prefs.getInt("color_mode", 0))
val colorScheme = colorScheme val colorScheme = colorScheme
val bg = remember(colorScheme) { colorScheme.secondaryContainer.copy(alpha = 0.8f) } val bg = remember(colorScheme) { colorScheme.secondaryContainer.copy(alpha = 0.8f) }
val rootBg = remember(colorScheme) { colorScheme.tertiaryContainer.copy(alpha = 0.6f) } val rootBg = remember(colorScheme) { colorScheme.tertiaryContainer.copy(alpha = 0.6f) }

View File

@@ -2,6 +2,7 @@ package com.sukisu.ultra.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import com.sukisu.ultra.ui.webui.MonetColorsProvider.UpdateCss import com.sukisu.ultra.ui.webui.MonetColorsProvider.UpdateCss
import top.yukonga.miuix.kmp.theme.ColorSchemeMode import top.yukonga.miuix.kmp.theme.ColorSchemeMode
@@ -44,3 +45,13 @@ fun KernelSUTheme(
} }
) )
} }
@Composable
@ReadOnlyComposable
fun isInDarkTheme(themeMode: Int): Boolean {
return when (themeMode) {
1, 4 -> false // Force light mode
2, 5 -> true // Force dark mode
else -> isSystemInDarkTheme() // Follow system (0 or default)
}
}