Kotlin-Libs liegen jetzt in der Verein-Package-Registry git.mana.how/api/packages/mana/maven (alle 10 Libs / 50 Versionen registry-zu-registry kopiert). Consumer- und Publisher-URLs nachgezogen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.9 KiB
1.9 KiB
mana-kotlin-tokens
Geteiltes Design-Token- und Theme-System für die nativen Android-Apps von
mana Das Kotlin-Pendant zu den Tokens aus
mana-swift-core (ManaTokens) und dem
@mana/themes-Web-Paket — eine Quelle, drei
Plattformen, pixelgleiche Farben (gleiche HSL→sRGB-Konvertierung,
gleiche 21 Signatur-Variants, gleiche Slugs).
Was drin ist
ManaTheme— Enum der 21 Signatur-Variants (mana, paper, skylight, bodensee, …) mit Slug, Anzeige-Name, Charakter, Signatur-App und Theme-Pass-Freischalt-Logik.ManaColors/ManaPalette— die 12 Vereins-Tokens (Light + Dark).ManaAppTheme(theme, mode) { … }— der eine Theme-Wrapper für alle Apps. Verdrahtet die Variante in ein Material-3-ColorSchemeund stellt die rohen Tokens überMana.colorsbereit (fürsurfaceHover,success,warning— die Tokens ohne Material-Slot).Spacing/Radius/ManaTypography— Abstände, Radien, Typo-Skala.
Nutzung
settings.gradle.kts (mavenLocal zuerst, dann Forgejo — kein Credential nötig):
dependencyResolutionManagement {
repositories {
google(); mavenCentral(); mavenLocal()
maven("https://git.mana.how/api/packages/mana/maven") {
content { includeGroup("ev.mana") }
}
}
}
app/build.gradle.kts:
implementation("ev.mana:mana-kotlin-tokens:0.1.0")
App-Theme:
@Composable
fun WordeckTheme(mode: ManaThemeMode, content: @Composable () -> Unit) =
ManaAppTheme(ManaTheme.SKYLIGHT, mode, content = content) // Signatur-Variante
Im UI: Material-Slots über MaterialTheme.colorScheme.*, Extra-Tokens über
Mana.colors.warning / .success / .surfaceHover.
Publish
./gradlew publish -PforgejoToken="$FORGEJO_TOKEN"
SOT der Flotte: mana/docs/playbooks/ANDROID_FLEET.md.