mirror of
https://github.com/greenart7c3/Amber.git
synced 2026-10-05 10:58:23 +00:00
Fix top app bar status icon contrast
The tor/proxy shield icon was tinted with hardcoded Color.Green and Color.Red. Pure green sits on the lightColorPalette surface for the top app bar (amber 0xFFFFDE9E) with a ~1:1 contrast ratio, so the connected state was invisible in light theme, and neither color adapted to dark theme. Add theme-aware connected greens to Theme.kt (dark green for the light palette, light green for dark) and pick them with isSystemInDarkTheme(); the disconnected state now uses colorScheme.error, which is already theme-aware. The relay reconnect icon drew with the hardcoded #4C4C4C fill of relays.xml (tint Color.Unspecified), only ~2:1 on the dark theme surface. Tint it with LocalContentColor so it matches the adjacent relay count text; the drawable itself is left alone since the settings screen and the navigation route icon also use it.
This commit is contained in:
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.material.icons.Icons
|
||||
@@ -12,6 +13,8 @@ import androidx.compose.material3.CenterAlignedTopAppBar
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.LocalContentColor
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.PlainTooltip
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TooltipAnchorPosition
|
||||
@@ -28,7 +31,6 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
@@ -50,6 +52,8 @@ import com.greenart7c3.nostrsigner.ui.NavBackStackEntryWrapper
|
||||
import com.greenart7c3.nostrsigner.ui.navigation.Route
|
||||
import com.greenart7c3.nostrsigner.ui.navigation.routes
|
||||
import com.greenart7c3.nostrsigner.ui.navigation.title
|
||||
import com.greenart7c3.nostrsigner.ui.theme.connectedColorDark
|
||||
import com.greenart7c3.nostrsigner.ui.theme.connectedColorLight
|
||||
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestConnect
|
||||
import java.util.Base64
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
@@ -107,7 +111,7 @@ fun AmberTopAppBar(
|
||||
Icon(
|
||||
imageVector = ImageVector.vectorResource(R.drawable.relays),
|
||||
contentDescription = context.getString(R.string.reconnect),
|
||||
tint = Color.Unspecified,
|
||||
tint = LocalContentColor.current,
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -160,7 +164,11 @@ fun AmberTopAppBar(
|
||||
Icon(
|
||||
Icons.Outlined.Shield,
|
||||
context.getString(R.string.proxy),
|
||||
tint = if (isProxyEnabled) Color.Green else Color.Red,
|
||||
tint = if (isProxyEnabled) {
|
||||
if (isSystemInDarkTheme()) connectedColorDark else connectedColorLight
|
||||
} else {
|
||||
MaterialTheme.colorScheme.error
|
||||
},
|
||||
)
|
||||
},
|
||||
)
|
||||
|
||||
@@ -37,6 +37,8 @@ val primaryColor = Color(0xFFFFCA62)
|
||||
val primaryVariant = Color(0xFFC8541A)
|
||||
val secondaryColor = Color(0xFFFFCA62)
|
||||
val orange = Color(0xFFFF6B00)
|
||||
val connectedColorLight = Color(0xFF1B5E20)
|
||||
val connectedColorDark = Color(0xFF81C784)
|
||||
|
||||
private val DarkColorPalette =
|
||||
darkColorScheme(
|
||||
|
||||
Reference in New Issue
Block a user