diff --git a/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainActivity.kt b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainActivity.kt index c7397fd416..5da332d778 100644 --- a/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainActivity.kt +++ b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainActivity.kt @@ -3,28 +3,13 @@ package app.k9mail.core.ui.compose.demo import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.tooling.preview.Preview class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { - Greeting(name = stringResource(id = R.string.app_name)) + MainView() } } } - -@Composable -fun Greeting(name: String) { - Text(text = "Hello $name!") -} - -@Preview(showBackground = true) -@Composable -fun Preview() { - Greeting("Android") -} diff --git a/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainView.kt b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainView.kt new file mode 100644 index 0000000000..e3380ef10e --- /dev/null +++ b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/demo/MainView.kt @@ -0,0 +1,53 @@ +package app.k9mail.core.ui.compose.demo + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.material.Surface +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.tooling.preview.Preview +import app.k9mail.core.ui.compose.theme.K9Theme +import app.k9mail.core.ui.compose.theme.MainTheme +import app.k9mail.core.ui.compose.theme.ThunderbirdTheme + +@Composable +fun MainView() { + Column( + modifier = Modifier.fillMaxSize() + ) { + K9Theme { + MainContent(name = "K-9") + } + K9Theme(darkTheme = true) { + MainContent(name = "K-9 dark") + } + ThunderbirdTheme { + MainContent(name = "Thunderbird") + } + ThunderbirdTheme(darkTheme = true) { + MainContent(name = "Thunderbird dark") + } + } +} + +@Composable +fun MainContent( + name: String +) { + Surface(modifier = Modifier.fillMaxWidth(), color = MainTheme.colors.background) { + Column { + Text(text = "Hello $name!") + Image(painter = painterResource(id = MainTheme.images.logo), contentDescription = "logo") + } + } +} + +@Preview(showBackground = true) +@Composable +fun Preview() { + MainView() +} diff --git a/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/K9Theme.kt b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/K9Theme.kt new file mode 100644 index 0000000000..b0983e6194 --- /dev/null +++ b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/K9Theme.kt @@ -0,0 +1,37 @@ +package app.k9mail.core.ui.compose.theme + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material.darkColors +import androidx.compose.material.lightColors +import androidx.compose.runtime.Composable + +private val k9LightColorPalette = lightColors( + primary = material_gray_800, + primaryVariant = material_gray_700, + secondary = material_pink_500, + secondaryVariant = material_pink_300 +) + +private val k9DarkColorPalette = darkColors( + primary = material_gray_100, + primaryVariant = material_gray_50, + secondary = material_pink_300, + secondaryVariant = material_pink_500 +) + +@Composable +fun K9Theme( + darkTheme: Boolean = isSystemInDarkTheme(), + content: @Composable () -> Unit +) { + val images = Images(logo = app.k9mail.core.ui.compose.demo.R.drawable.logo_orange) + + MainTheme( + lightColorPalette = k9LightColorPalette, + darkColorPalette = k9DarkColorPalette, + lightImages = images, + darkImages = images, + darkTheme = darkTheme, + content = content + ) +} diff --git a/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/ThunderbirdTheme.kt b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/ThunderbirdTheme.kt new file mode 100644 index 0000000000..eda8cdfd91 --- /dev/null +++ b/core/ui/compose/demo/src/main/java/app/k9mail/core/ui/compose/theme/ThunderbirdTheme.kt @@ -0,0 +1,37 @@ +package app.k9mail.core.ui.compose.theme + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material.darkColors +import androidx.compose.material.lightColors +import androidx.compose.runtime.Composable + +private val thunderbirdLightColorPalette = lightColors( + primary = material_blue_600, + primaryVariant = material_light_blue_500, + secondary = material_pink_500, + secondaryVariant = material_pink_300 +) + +private val thunderbirdDarkColorPalette = darkColors( + primary = material_blue_100, + primaryVariant = material_blue_50, + secondary = material_pink_300, + secondaryVariant = material_pink_500 +) + +@Composable +fun ThunderbirdTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + content: @Composable () -> Unit +) { + val images = Images(logo = app.k9mail.core.ui.compose.demo.R.drawable.logo_teal) + + MainTheme( + lightColorPalette = thunderbirdLightColorPalette, + darkColorPalette = thunderbirdDarkColorPalette, + lightImages = images, + darkImages = images, + darkTheme = darkTheme, + content = content + ) +} diff --git a/core/ui/compose/demo/src/main/res/drawable/logo_orange.xml b/core/ui/compose/demo/src/main/res/drawable/logo_orange.xml new file mode 100644 index 0000000000..597a4f6c96 --- /dev/null +++ b/core/ui/compose/demo/src/main/res/drawable/logo_orange.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/ui/compose/demo/src/main/res/drawable/logo_teal.xml b/core/ui/compose/demo/src/main/res/drawable/logo_teal.xml new file mode 100644 index 0000000000..290c1b6ada --- /dev/null +++ b/core/ui/compose/demo/src/main/res/drawable/logo_teal.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Color.kt b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Color.kt index 73832cae07..f55d7fd1d2 100644 --- a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Color.kt +++ b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Color.kt @@ -194,11 +194,11 @@ val material_lime_900 = Color(0xFF827717) val material_orange_50 = Color(0xFFFFF3E0) val material_orange_100 = Color(0xFFFFE0B2) val material_orange_200 = Color(0xFFFFCC80) -val material_orange_300 = Color(0xFFFFB74D) // +val material_orange_300 = Color(0xFFFFB74D) val material_orange_400 = Color(0xFFFFA726) val material_orange_500 = Color(0xFFFF9800) val material_orange_600 = Color(0xFFFB8C00) -val material_orange_700 = Color(0xFFF57C00) // +val material_orange_700 = Color(0xFFF57C00) val material_orange_800 = Color(0xFFEF6C00) val material_orange_900 = Color(0xFFE65100) diff --git a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/MainTheme.kt b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/MainTheme.kt index abb67426b1..4d09612434 100644 --- a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/MainTheme.kt +++ b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/MainTheme.kt @@ -36,8 +36,8 @@ fun MainTheme( ) { MaterialTheme( colors = colors, - typography = Typography, - shapes = Shapes, + typography = typography, + shapes = shapes, content = content ) } diff --git a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Shapes.kt b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Shapes.kt index b689d49de2..e7ed7465c7 100644 --- a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Shapes.kt +++ b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Shapes.kt @@ -4,7 +4,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.Shapes import androidx.compose.ui.unit.dp -val Shapes = Shapes( +val shapes = Shapes( small = RoundedCornerShape(8.dp), medium = RoundedCornerShape(4.dp), large = RoundedCornerShape(0.dp) diff --git a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Typography.kt b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Typography.kt index 24b6d761c0..8cc8417a38 100644 --- a/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Typography.kt +++ b/core/ui/compose/theme/src/main/java/app/k9mail/core/ui/compose/theme/Typography.kt @@ -6,7 +6,7 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp -val Typography = typographyFromDefaults( +val typography = typographyFromDefaults( h1 = TextStyle( fontFamily = FontFamily.Default, fontWeight = FontWeight.Light,