Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-22 13:56:56 +01:00
parent 75dc487a7a
commit 39c29d175b
6317 changed files with 388324 additions and 2 deletions

View file

@ -0,0 +1,12 @@
plugins {
id(ThunderbirdPlugins.Library.androidCompose)
}
android {
namespace = "app.k9mail.core.ui.compose.theme2.thunderbird"
resourcePrefix = "core_ui_theme2_thunderbird"
}
dependencies {
api(projects.core.ui.compose.theme2.common)
}

View file

@ -0,0 +1,120 @@
package app.k9mail.core.ui.compose.theme2.thunderbird
import androidx.compose.ui.graphics.Color
import app.k9mail.core.ui.compose.theme2.ThemeColorScheme
internal val lightThemeColorScheme = ThemeColorScheme(
primary = Color(color = 0xFF004F9B),
onPrimary = Color(color = 0xFFFFFFFF),
primaryContainer = Color(color = 0xFF1373D9),
onPrimaryContainer = Color(color = 0xFFFFFFFF),
secondary = Color(color = 0xFF003D75),
onSecondary = Color(color = 0xFFFFFFFF),
secondaryContainer = Color(color = 0xFF2E61A0),
onSecondaryContainer = Color(color = 0xFFFFFFFF),
tertiary = Color(color = 0xFF54008E),
onTertiary = Color(color = 0xFFFFFFFF),
tertiaryContainer = Color(color = 0xFF7B35B8),
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 = 0xFFA9C7FF),
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 = 0xFFBEE6FF),
onPrimary = Color(color = 0xFF003549),
primaryContainer = Color(color = 0xFF50C2F8),
onPrimaryContainer = Color(color = 0xFF002E41),
secondary = Color(color = 0xFF96CDFF),
onSecondary = Color(color = 0xFF003352),
secondaryContainer = Color(color = 0xFF24A7F7),
onSecondaryContainer = Color(color = 0xFF001423),
tertiary = Color(color = 0xFFFFFFFF),
onTertiary = Color(color = 0xFF352D3E),
tertiaryContainer = Color(color = 0xFFDCD0E6),
onTertiaryContainer = Color(color = 0xFF443C4E),
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 = 0xFF006689),
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),
)

View file

@ -0,0 +1,48 @@
package app.k9mail.core.ui.compose.theme2.thunderbird
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 ThunderbirdTheme2(
darkTheme: Boolean = isSystemInDarkTheme(),
dynamicColor: Boolean = false,
content: @Composable () -> Unit,
) {
val images = ThemeImages(
logo = R.drawable.core_ui_theme2_thunderbird_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,
)
}

View file

@ -0,0 +1,252 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="72dp"
android:height="72dp"
android:viewportWidth="1024"
android:viewportHeight="1024"
>
<path android:pathData="M424.4,189.7L424.5,189.7C456.7,77 597.2,22 740.4,22C839.3,22 928.1,53.3 989,103C951.3,104.9 915.4,112.3 882.6,124.2C931.8,142.5 974,170.6 1005.3,205.4C984.6,201.8 963,199.9 940.9,199.9C938.5,199.9 936.1,200 933.8,200C990.7,282.5 1024,382.5 1024,490.4C1024,773.1 794.8,1002.3 512,1002.3C233.6,1002.3 0,769.2 0,490.4C0,446.3 5.9,400.8 17.2,358.2C20.2,349.2 24.4,340.6 29.9,337.5C36.8,333.6 43.1,345.3 44.1,349.1C51.6,377.3 61.7,404.5 74.2,430.6C73.1,372.2 98,318.9 132.4,272.9C155.3,242.2 176.5,213.7 186.3,131.6C187,126.1 192.2,122.1 197.5,123.8C272,148.2 311.9,272.4 305.7,376.2C346.9,382.1 346.7,339 346.7,339C333.5,298.6 342.3,223.4 424.2,189.7L424.4,189.7Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="899.5"
android:endY="864"
android:startX="177.7"
android:startY="190.8"
android:type="linear"
>
<item
android:color="#FF1B91F3"
android:offset="0"
/>
<item
android:color="#FF0B68CB"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path
android:fillAlpha="0.9"
android:pathData="M1007.3,360C1019.7,641.6 788.2,884.4 505.9,884.4C241.6,884.4 25.1,680.1 5.5,420.9C2.1,444.8 0.2,469.3 0,494.1C2,771.6 235,1002.3 512,1002.3C794.8,1002.3 1024,773.1 1024,490.4C1024,445.3 1018.2,401.6 1007.3,360Z"
android:strokeAlpha="0.9"
>
<aapt:attr name="android:fillColor">
<gradient
android:centerX="176.4"
android:centerY="422.4"
android:gradientRadius="432.9"
android:type="radial"
>
<item
android:color="#000B4186"
android:offset="0.5"
/>
<item
android:color="#720B4186"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M499.5,227.1C494,217.3 468.5,202.9 457.4,200.3C499.5,65.4 714.2,24 845.5,47.8C900.2,57.8 968.3,87.6 989,103C928.1,53.3 839.3,22 740.4,22C597.2,22 456.7,77 424.5,189.7L424.4,189.7L424.2,189.7C342.3,223.4 333.5,298.6 346.7,339.1C359.3,290.8 419.5,231.5 499.5,227.1Z">
<aapt:attr name="android:fillColor">
<gradient
android:centerX="525.2"
android:centerY="244.6"
android:gradientRadius="92.6"
android:type="radial"
>
<item
android:color="#00A29CF6"
android:offset="0"
/>
<item
android:color="#FFA39BF6"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M648.3,133.9C533.3,156.5 495.7,163.9 457.2,200.5C500.5,86 610.8,62.8 742.3,115C706.1,122.5 675.1,128.6 648.3,133.9Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="638.3"
android:endY="74"
android:startX="378.5"
android:startY="363.1"
android:type="linear"
>
<item
android:color="#FF0F5DB0"
android:offset="0"
/>
<item
android:color="#000F5DB0"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M27.8,342.5C-3.6,471.1 20.7,622.3 163.4,749.2C120.9,702.8 69,531.2 183.5,408.6C191.2,400.3 204.5,406.4 204.9,417.7C214.3,672.5 419.9,828.1 656.9,799C583.5,794.8 340.6,709.8 521.3,676.1C615.7,658.5 763.8,630.9 763.8,498.1C763.8,282.7 597.3,219.8 496.3,229.1C427.2,235.5 365.7,279.4 346.7,339C354,362.5 325,379 305.7,376.2C311.9,272.4 272,148.2 197.5,123.8C192.2,122.1 187,126.1 186.3,131.6C176.5,213.7 155.3,242.2 132.4,272.9C98,318.9 73.1,372.2 74.2,430.6C61.7,404.5 51.6,377.3 44.1,349.1C43.2,345.9 38.7,337.1 33.1,336.7C30.1,336.5 28.5,339.4 27.8,342.5Z">
<aapt:attr name="android:fillColor">
<gradient
android:centerX="318.9"
android:centerY="769.3"
android:gradientRadius="675.4"
android:type="radial"
>
<item
android:color="#FF094188"
android:offset="0"
/>
<item
android:color="#000B4186"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M457.9,689.2C596.9,802 876.5,717.4 876.5,442.9C763.6,614 619.8,732 457.9,689.2Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="750.4"
android:endY="805.6"
android:startX="833.7"
android:startY="572.4"
android:type="linear"
>
<item
android:color="#007B8BE9"
android:offset="0"
/>
<item
android:color="#FF7B8BE9"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M183.5,408.6C186.4,405.4 190.2,404.4 193.7,404.8C91.2,529.8 173.9,749.4 230.6,803.3C233.8,812.3 176.8,765.6 169,754.6C125.8,718 64,536.6 183.5,408.6Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="184.2"
android:endY="737.4"
android:startX="114.1"
android:startY="404"
android:type="linear"
>
<item
android:color="#FFC59FF9"
android:offset="0.1"
/>
<item
android:color="#00C59FF9"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M512,699.5C651.1,699.5 763.8,607.5 763.8,494C763.8,380.6 651.1,288.6 512,288.6C393.4,288.6 260.2,365.8 260.2,497C260.3,699.9 474.6,816.6 657.2,798.9C643.5,797.3 557.9,792.8 500.1,727.3C494.8,721.4 485.8,711.2 489.9,704.5C494,697.8 505.3,699.5 512,699.5Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="512"
android:endY="796.8"
android:startX="512"
android:startY="363.8"
android:type="linear"
>
<item
android:color="#FFFFFFFF"
android:offset="0"
/>
<item
android:color="#FFBEE1FE"
android:offset="0.9"
/>
<item
android:color="#FF96CEFD"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path
android:fillAlpha="0.7"
android:pathData="M512,699.5C651.1,699.5 763.8,607.5 763.8,494C763.8,459.4 753.3,426.7 734.7,398.1L534.9,579.6C520.9,592.3 497.4,592.3 483.5,579.6L287.3,401.5C270.2,428.9 260.2,460.9 260.2,497C260.3,699.9 474.6,816.6 657.2,798.9C656.4,798.8 655.3,798.7 654,798.6L654,798.6C633.3,796.6 554.4,788.8 500.1,727.3C494.8,721.4 485.8,711.2 489.9,704.5C493.3,698.8 501.9,699.2 508.5,699.4C509.7,699.5 510.9,699.5 512,699.5Z"
android:strokeAlpha="0.7"
>
<aapt:attr name="android:fillColor">
<gradient
android:endX="520.1"
android:endY="790.2"
android:startX="520.1"
android:startY="608.8"
android:type="linear"
>
<item
android:color="#FFBCE0FD"
android:offset="0"
/>
<item
android:color="#FF88CCFC"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#B5DBF9"
android:fillType="evenOdd"
android:pathData="M433,604C386.9,554.2 287.7,401.1 287.7,401.1L288.9,398.6L482.9,562.5C495.9,571.9 514.5,571.8 527.4,562.2L715.8,401.3H735.7C735.7,401.3 633.2,546.9 580.5,604C527.9,661 479.1,653.7 433,604Z"
/>
<path
android:fillColor="#A8D3F6"
android:fillType="evenOdd"
android:pathData="M453.9,598.8C416.8,560.2 287.5,401.1 287.5,401.1L294,397.5L488.2,562.2C501.2,571.7 519.8,571.6 532.7,562L721.2,401.1H735.8C735.8,401.1 604.8,557 563.7,598.3C522.5,639.5 491,637.4 453.9,598.8Z"
/>
<path
android:fillColor="#93C5ED"
android:fillType="evenOdd"
android:pathData="M453.9,593C416.8,554.4 299.2,412.8 299.2,412.8L314.3,426.5L488.2,556.4C501.2,565.9 519.8,565.8 532.7,556.2L703.2,426.7L718.3,417.9C718.3,417.9 604.8,551.2 563.7,592.4C522.5,633.6 491,631.6 453.9,593Z"
/>
<path
android:fillColor="#7DB6E4"
android:fillType="evenOdd"
android:pathData="M453.5,580.8C416.5,542.2 305.4,414 305.4,414L314,414.4L487.9,544.3C500.9,553.7 519.5,553.6 532.4,544L702.9,414.6L711.9,413.9C711.9,413.9 604.5,539 563.3,580.3C522.2,621.5 490.6,619.4 453.5,580.8Z"
/>
<path android:pathData="M536.7,591.4L736.2,400.9C693.9,335.8 616,288.6 512.1,288.6C426.1,288.6 332.4,329.1 287.3,401.5L480.5,591.4C494.5,604 522.8,604 536.7,591.4Z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="511.8"
android:endY="807.9"
android:startX="511.2"
android:startY="332.7"
android:type="linear"
>
<item
android:color="#FFFFFFFF"
android:offset="0"
/>
<item
android:color="#FFBEE1FE"
android:offset="0.9"
/>
<item
android:color="#FF96CEFD"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
<path
android:fillAlpha="0.6"
android:fillColor="#ffffff"
android:pathData="M736.4,400.7L537.4,591.1C519.7,603.6 500.9,604.6 482.4,593.2L287.2,401.4C292.7,392.5 299,384 305.9,376C312.9,382.5 319.7,388.9 326.4,395.1C377.7,443.2 419.1,482 477.5,531.8C503.9,554.3 512.1,553.9 537.9,531.8C604.8,474.8 653.6,431.6 717.2,374.9C724.3,383.1 730.7,391.7 736.4,400.7Z"
android:strokeAlpha="0.6"
/>
<path
android:fillColor="#ffffff"
android:pathData="M547.3,185.8C574.3,177.3 571.9,150.6 571.9,150.6C571.9,150.6 558.4,134.8 531.7,143.6C506.7,151.8 502.9,169.6 502.9,169.6C502.9,169.6 516.5,195.5 547.3,185.8Z"
/>
</vector>