Geteiltes Token/Theme-System für die mana-Android-Flotte (Kotlin) — Apache-2.0, Spiegel des Vereins mana.
Find a file
Till JS f91dcb4bb4 Apache-2.0: LICENSE + NOTICE
Welle 1 aus platform/mana/docs/QUELLOEFFNUNG.md. Ein Repo ohne LICENSE ist
beim Veroeffentlichen kein Open Source, sondern "alle Rechte vorbehalten" —
damit faellt genau der Zweck aus, dass andere den Baustein als Grundlage
nutzen duerfen.

Apache-2.0 wegen der Patentklausel und weil sie bei oeffentlichen
Auftraggebern Standard ist. LICENSE traegt den kanonischen Volltext (ein
Link auf apache.org genuegt Paragraf 4(a) nicht); der Copyright-Vermerk
steht nach Apache-Konvention in NOTICE, damit der Lizenztext pruefbar
identisch bleibt.

Halter ist die natuerliche Person, nicht "mana" — der Verein ist nicht
gegruendet und kann keine Rechte halten. Der Uebergang steht in NOTICE.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 23:05:06 +02:00
devlog devlog: Repo-Historie nachgezogen (spieler+macher) 2026-06-16 01:44:30 +02:00
gradle mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00
src/main/kotlin/ev/mana/tokens 3 neue Farbwelten: stetig/stimmig/leinwand (0.3.0) 2026-06-11 02:15:45 +02:00
.gitignore mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00
build.gradle.kts build: Maven-Registry till/maven -> mana/maven (Namespace-Vereinheitlichung) 2026-06-17 18:05:27 +02:00
gradle.properties mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00
gradlew mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00
gradlew.bat mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00
LICENSE Apache-2.0: LICENSE + NOTICE 2026-08-03 23:05:06 +02:00
NOTICE Apache-2.0: LICENSE + NOTICE 2026-08-03 23:05:06 +02:00
README.md build: Maven-Registry till/maven -> mana/maven (Namespace-Vereinheitlichung) 2026-06-17 18:05:27 +02:00
settings.gradle.kts mana-kotlin-tokens 0.1.0 — geteiltes Token/Theme-System 2026-06-08 17:47:25 +02:00

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-ColorScheme und stellt die rohen Tokens über Mana.colors bereit (für surfaceHover, 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.