Repo created
This commit is contained in:
parent
75dc487a7a
commit
39c29d175b
6317 changed files with 388324 additions and 2 deletions
13
core/ui/compose/theme2/k9mail/README.md
Normal file
13
core/ui/compose/theme2/k9mail/README.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
## Core - UI - Compose - Theme2 - K9Mail
|
||||
|
||||
This provides the `K9MailTheme2` composable, that's setting up the `MainTheme` with K-9 Mail specific colors, typography, shapes, elevations, sizes, spacings and images.
|
||||
|
||||
```kotlin
|
||||
@Composable
|
||||
fun MyComposable() {
|
||||
K9MailTheme2 {
|
||||
// Your app content
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
12
core/ui/compose/theme2/k9mail/build.gradle.kts
Normal file
12
core/ui/compose/theme2/k9mail/build.gradle.kts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
plugins {
|
||||
id(ThunderbirdPlugins.Library.androidCompose)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "app.k9mail.core.ui.compose.theme2.k9mail"
|
||||
resourcePrefix = "core_ui_theme2_k9mail"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(projects.core.ui.compose.theme2.common)
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package app.k9mail.core.ui.compose.theme2.k9mail
|
||||
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.core.ui.compose.theme2.ThemeColorSchemeVariants
|
||||
import app.k9mail.core.ui.compose.theme2.ThemeConfig
|
||||
import app.k9mail.core.ui.compose.theme2.ThemeImageVariants
|
||||
import app.k9mail.core.ui.compose.theme2.ThemeImages
|
||||
import app.k9mail.core.ui.compose.theme2.default.defaultThemeElevations
|
||||
import app.k9mail.core.ui.compose.theme2.default.defaultThemeShapes
|
||||
import app.k9mail.core.ui.compose.theme2.default.defaultThemeSizes
|
||||
import app.k9mail.core.ui.compose.theme2.default.defaultThemeSpacings
|
||||
import app.k9mail.core.ui.compose.theme2.default.defaultTypography
|
||||
|
||||
@Composable
|
||||
fun K9MailTheme2(
|
||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||
dynamicColor: Boolean = false,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
val images = ThemeImages(
|
||||
logo = R.drawable.core_ui_theme2_k9mail_logo,
|
||||
)
|
||||
|
||||
val themeConfig = ThemeConfig(
|
||||
colors = ThemeColorSchemeVariants(
|
||||
dark = darkThemeColorScheme,
|
||||
light = lightThemeColorScheme,
|
||||
),
|
||||
elevations = defaultThemeElevations,
|
||||
images = ThemeImageVariants(
|
||||
light = images,
|
||||
dark = images,
|
||||
),
|
||||
sizes = defaultThemeSizes,
|
||||
spacings = defaultThemeSpacings,
|
||||
shapes = defaultThemeShapes,
|
||||
typography = defaultTypography,
|
||||
)
|
||||
|
||||
MainTheme(
|
||||
themeConfig = themeConfig,
|
||||
darkTheme = darkTheme,
|
||||
dynamicColor = dynamicColor,
|
||||
content = content,
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
package app.k9mail.core.ui.compose.theme2.k9mail
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import app.k9mail.core.ui.compose.theme2.ThemeColorScheme
|
||||
|
||||
internal val lightThemeColorScheme = ThemeColorScheme(
|
||||
primary = Color(color = 0xFF5F303D),
|
||||
onPrimary = Color(color = 0xFFFFFFFF),
|
||||
primaryContainer = Color(color = 0xFF875360),
|
||||
onPrimaryContainer = Color(color = 0xFFFFFFFF),
|
||||
|
||||
secondary = Color(color = 0xFF422129),
|
||||
onSecondary = Color(color = 0xFFFFFFFF),
|
||||
secondaryContainer = Color(color = 0xFF68414B),
|
||||
onSecondaryContainer = Color(color = 0xFFFFE2E7),
|
||||
|
||||
tertiary = Color(color = 0xFF443968),
|
||||
onTertiary = Color(color = 0xFFFFFFFF),
|
||||
tertiaryContainer = Color(color = 0xFF685C8E),
|
||||
onTertiaryContainer = Color(color = 0xFFFFFFFF),
|
||||
|
||||
error = Color(color = 0xFF7F1D1D),
|
||||
onError = Color(color = 0xFFFFFFFF),
|
||||
errorContainer = Color(color = 0xFFFEF2F2),
|
||||
onErrorContainer = Color(color = 0xFF7F1D1D),
|
||||
|
||||
surfaceDim = Color(color = 0xFFDCD9D9),
|
||||
surface = Color(color = 0xFFFCF8F8),
|
||||
surfaceBright = Color(color = 0xFFFCF8F8),
|
||||
onSurface = Color(color = 0xFF1C1B1B),
|
||||
onSurfaceVariant = Color(color = 0xFF45474A),
|
||||
|
||||
surfaceContainerLowest = Color(color = 0xFFFFFFFF),
|
||||
surfaceContainerLow = Color(color = 0xFFF6F3F2),
|
||||
surfaceContainer = Color(color = 0xFFF1EDEC),
|
||||
surfaceContainerHigh = Color(color = 0xFFEBE7E7),
|
||||
surfaceContainerHighest = Color(color = 0xFFE5E2E1),
|
||||
|
||||
inverseSurface = Color(color = 0xFF313030),
|
||||
inverseOnSurface = Color(color = 0xFFF3F0EF),
|
||||
inversePrimary = Color(color = 0xFFF7B5C4),
|
||||
|
||||
outline = Color(color = 0xFF75777A),
|
||||
outlineVariant = Color(color = 0xFFC5C6CA),
|
||||
|
||||
scrim = Color.Black,
|
||||
|
||||
info = Color(color = 0xFF004F9B),
|
||||
onInfo = Color(color = 0xFFFFFFFF),
|
||||
infoContainer = Color(color = 0xFFF0F8FF),
|
||||
onInfoContainer = Color(color = 0xFF004F9B),
|
||||
|
||||
success = Color(color = 0xFF194E2C),
|
||||
onSuccess = Color(color = 0xFFFFFFFF),
|
||||
successContainer = Color(color = 0xFFF4F9F4),
|
||||
onSuccessContainer = Color(color = 0xFF194E2C),
|
||||
|
||||
warning = Color(color = 0xFF713F12),
|
||||
onWarning = Color(color = 0xFFFEFAE8),
|
||||
warningContainer = Color(color = 0xFFFEFAE8),
|
||||
onWarningContainer = Color(color = 0xFF713F12),
|
||||
)
|
||||
|
||||
internal val darkThemeColorScheme = ThemeColorScheme(
|
||||
primary = Color(color = 0xFFF1E7FF),
|
||||
onPrimary = Color(color = 0xFF37265D),
|
||||
primaryContainer = Color(color = 0xFFCBB7F9),
|
||||
onPrimaryContainer = Color(color = 0xFF39285F),
|
||||
|
||||
secondary = Color(color = 0xFFF1E7FF),
|
||||
onSecondary = Color(color = 0xFF332D41),
|
||||
secondaryContainer = Color(color = 0xFFC7BDD7),
|
||||
onSecondaryContainer = Color(color = 0xFF352F43),
|
||||
|
||||
tertiary = Color(color = 0xFFFFDBE5),
|
||||
onTertiary = Color(color = 0xFF472732),
|
||||
tertiaryContainer = Color(color = 0xFFDDAEBC),
|
||||
onTertiaryContainer = Color(color = 0xFF43242F),
|
||||
|
||||
error = Color(color = 0xFFFCA5A5),
|
||||
onError = Color(color = 0xFF450A0A),
|
||||
errorContainer = Color(color = 0xFF7F1D1D),
|
||||
onErrorContainer = Color(color = 0xFFFEF2F2),
|
||||
|
||||
surfaceDim = Color(color = 0xFF131314),
|
||||
surface = Color(color = 0xFF131314),
|
||||
surfaceBright = Color(color = 0xFF39393A),
|
||||
onSurface = Color(color = 0xFFE5E2E3),
|
||||
onSurfaceVariant = Color(color = 0xFFC5C6CC),
|
||||
|
||||
surfaceContainerLowest = Color(color = 0xFF0E0E0F),
|
||||
surfaceContainerLow = Color(color = 0xFF1B1B1C),
|
||||
surfaceContainer = Color(color = 0xFF201F20),
|
||||
surfaceContainerHigh = Color(color = 0xFF2A2A2B),
|
||||
surfaceContainerHighest = Color(color = 0xFF353436),
|
||||
|
||||
inverseSurface = Color(color = 0xFFE5E2E3),
|
||||
inverseOnSurface = Color(color = 0xFF313031),
|
||||
inversePrimary = Color(color = 0xFF66558F),
|
||||
|
||||
outline = Color(color = 0xFF8F9096),
|
||||
outlineVariant = Color(color = 0xFF44474C),
|
||||
|
||||
scrim = Color.Black,
|
||||
|
||||
info = Color(color = 0xFFBEE6FF),
|
||||
onInfo = Color(color = 0xFF002E41),
|
||||
infoContainer = Color(color = 0xFF262C40),
|
||||
onInfoContainer = Color(color = 0xFFBEE6FF),
|
||||
|
||||
success = Color(color = 0xFF8EE7AA),
|
||||
onSuccess = Color(color = 0xFF082B16),
|
||||
successContainer = Color(color = 0xFF082B16),
|
||||
onSuccessContainer = Color(color = 0xFF8EE7AA),
|
||||
|
||||
warning = Color(color = 0xFFFEE78A),
|
||||
onWarning = Color(color = 0xFF411107),
|
||||
warningContainer = Color(color = 0xFF423606),
|
||||
onWarningContainer = Color(color = 0xFFFEE78A),
|
||||
)
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
<!-- TODO: Remove this copy of the app icon and use the app icon instead -->
|
||||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="72dp"
|
||||
android:height="72dp"
|
||||
android:viewportWidth="192"
|
||||
android:viewportHeight="192"
|
||||
>
|
||||
<path
|
||||
android:fillColor="#607d8b"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m32,116v12l25.61,38c2.07,3.59 5.94,6 10.39,6h56c4.46,0 8.32,-2.41 10.39,-6h0.01l25.6,-38v-12z"
|
||||
android:strokeWidth="0.376"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#263238"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M64,16h8v28h-8z"
|
||||
android:strokeWidth="5.99999952"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#263238"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M120,16h8v28h-8z"
|
||||
android:strokeWidth="5.99999952"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#4d6570"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m32,127v1l25.61,38c2.07,3.59 5.94,6 10.39,6h56c4.46,0 8.32,-2.41 10.39,-6h0.01l25.6,-38v-1l-25.6,38h-0.01c-2.07,3.59 -5.94,6 -10.39,6h-56c-4.46,0 -8.32,-2.41 -10.39,-6z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#607d8b"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M80,14L80,22A6,6 0,0 1,74 28L50,28A6,6 0,0 1,44 22L44,14A6,6 0,0 1,50 8L74,8A6,6 0,0 1,80 14z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#607d8b"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M148,14L148,22A6,6 0,0 1,142 28L118,28A6,6 0,0 1,112 22L112,14A6,6 0,0 1,118 8L142,8A6,6 0,0 1,148 14z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#4d6570"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m44,21v1c0,3.32 2.68,6 6,6h24c3.32,0 6,-2.68 6,-6v-1c0,3.32 -2.68,6 -6,6h-24c-3.32,0 -6,-2.68 -6,-6z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#4d6570"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m112,21v1c0,3.32 2.68,6 6,6h24c3.32,0 6,-2.68 6,-6v-1c0,3.32 -2.68,6 -6,6h-24c-3.32,0 -6,-2.68 -6,-6z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#8097a2"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m50,8c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h24c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#8097a2"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m118,8c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h24c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
|
||||
android:strokeWidth="0.34016225"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#ff1744"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M172,48L172,116A12,12 0,0 1,160 128L32,128A12,12 0,0 1,20 116L20,48A12,12 0,0 1,32 36L160,36A12,12 0,0 1,172 48z"
|
||||
android:strokeWidth="0.340162"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m36,52 l60,32 60,-32"
|
||||
android:strokeWidth="6"
|
||||
android:strokeColor="#fbe9e7"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#ff4569"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m32,36c-6.65,0 -12,5.35 -12,12v1c0,-6.65 5.35,-12 12,-12h128c6.65,0 12,5.35 12,12v-1c0,-6.65 -5.35,-12 -12,-12z"
|
||||
android:strokeWidth="0.340162"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#d81a3d"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m20,115v1c0,6.65 5.35,12 12,12h128c6.65,0 12,-5.35 12,-12v-1c0,6.65 -5.35,12 -12,12h-128c-6.65,0 -12,-5.35 -12,-12z"
|
||||
android:strokeWidth="0.340162"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#263238"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M108,158L108,170A6,6 0,0 1,102 176L90,176A6,6 0,0 1,84 170L84,158A6,6 0,0 1,90 152L102,152A6,6 0,0 1,108 158z"
|
||||
android:strokeWidth="0.340162"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#263238"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M96,172m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
|
||||
android:strokeWidth="9"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#37474f"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m90,152c-3.32,0 -6,2.68 -6,6v1c0,-3.32 2.68,-6 6,-6h12c3.32,0 6,2.68 6,6v-1c0,-3.32 -2.68,-6 -6,-6z"
|
||||
android:strokeWidth="0.340162"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
<path
|
||||
android:fillColor="#1a252a"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="m84.02,171.43a12,12 0,0 0,-0.02 0.57,12 12,0 0,0 12,12 12,12 0,0 0,12 -12,12 12,0 0,0 -0.02,-0.41 12,12 0,0 1,-11.98 11.41,12 12,0 0,1 -11.98,-11.57z"
|
||||
android:strokeWidth="9"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="miter"
|
||||
/>
|
||||
</vector>
|
||||
Loading…
Add table
Add a link
Reference in a new issue