mirror of
https://github.com/thunderbird/thunderbird-android.git
synced 2024-09-19 19:52:14 +02:00
Add AccountIndicator
This commit is contained in:
parent
e06f57fd5c
commit
e4ba6a2562
@ -113,4 +113,4 @@ private fun ColorScheme.toDynamicThemeColorScheme(
|
||||
)
|
||||
}
|
||||
|
||||
private fun Color.toHarmonizedColor(target: Color) = Color(MaterialColors.harmonize(toArgb(), target.toArgb()))
|
||||
fun Color.toHarmonizedColor(target: Color) = Color(MaterialColors.harmonize(toArgb(), target.toArgb()))
|
||||
|
@ -0,0 +1,43 @@
|
||||
package app.k9mail.feature.navigation.drawer.ui.account
|
||||
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
|
||||
@Composable
|
||||
@Preview(showBackground = true)
|
||||
internal fun AccountIndicatorPreview() {
|
||||
PreviewWithThemes {
|
||||
AccountIndicator(
|
||||
accountColor = 0,
|
||||
modifier = Modifier.height(MainTheme.spacings.double),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@Preview(showBackground = true)
|
||||
internal fun AccountIndicatorPreviewWithYellowAccountColor() {
|
||||
PreviewWithThemes {
|
||||
AccountIndicator(
|
||||
accountColor = Color.Yellow.toArgb(),
|
||||
modifier = Modifier.height(MainTheme.spacings.double),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@Preview(showBackground = true)
|
||||
internal fun AccountIndicatorPreviewWithGrayAccountColor() {
|
||||
PreviewWithThemes {
|
||||
AccountIndicator(
|
||||
accountColor = Color.Gray.toArgb(),
|
||||
modifier = Modifier.height(MainTheme.spacings.double),
|
||||
)
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package app.k9mail.feature.navigation.drawer.ui.account
|
||||
|
||||
import androidx.compose.foundation.layout.defaultMinSize
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import app.k9mail.core.ui.compose.designsystem.atom.Surface
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.core.ui.compose.theme2.toHarmonizedColor
|
||||
|
||||
@Composable
|
||||
fun AccountIndicator(
|
||||
accountColor: Int,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val color = if (accountColor == 0) {
|
||||
MainTheme.colors.primary
|
||||
} else {
|
||||
Color(accountColor).toHarmonizedColor(MainTheme.colors.surface)
|
||||
}
|
||||
|
||||
Surface(
|
||||
modifier = modifier
|
||||
.width(MainTheme.spacings.half)
|
||||
.defaultMinSize(
|
||||
minHeight = MainTheme.spacings.default,
|
||||
),
|
||||
color = color,
|
||||
shape = MainTheme.shapes.medium,
|
||||
) {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user