Commit graph

2 commits

Author SHA1 Message Date
Till JS
20c30fc321 feat(tokens): ManaTheme + 8 Web-Theme-Variants (v1.6.0)
Acht Web-Themes aus @mana/themes (mana, forest, paper, neutral, lume,
twilight, skylight, monochrome) sind jetzt als Swift verfuegbar.
Generiert aus den CSS-Quellen via `pnpm --filter @mana/themes gen:swift`,
hand-geschriebene API-Schicht oben drauf.

Hintergrund: Cards, Viadocu, Nutriphi hatten je ~90 LOC forest-HSL-
Apparat lokal nachgebaut. Mit v1.6.0 sind diese App-lokalen Files
durch `ManaTheme.<variant>` ersetzbar (Audit 2026-05-17 V1).

Neu:
- `ManaTheme` (public enum) — 8 Cases, CaseIterable, Sendable
- `ManaThemeColors` (public struct, Sendable) — 12 Tokens als Color
- `ManaTheme.colors` + Convenience-Accessoren (`.background` etc.)
- `View.manaTheme(_:)` + `@Environment(\.manaTheme)` (Default `.mana`)
- Generator: `mana/packages/themes/scripts/gen-swift-themes.mjs`

Geaendert: nichts breaking. `ManaColor.*` und `ManaBrand.*`
unveraendert.

Tests: 7 neue Tests in ThemeTests.swift; 12/12 ManaTokens grün,
76/76 gesamt grün auf macOS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:11:25 +02:00
Till JS
df6f67ee45 v1.0.0 — initiale Extraktion aus memoro-native
ManaCore + ManaTokens als Swift-Package für alle nativen
mana-e.V.-Apps. Phase α aus mana/docs/MANA_SWIFT.md durch.

ManaCore:
- AuthClient gegen mana-auth (Login, Refresh, Status-Maschine)
- AuthenticatedTransport (URLSession + 401-Retry)
- ManaAppConfig-Protocol für App-injizierbare Konfig
- KeychainStore mit optionaler Shared-Access-Group
- JWT-Parser für lokale Expiry-Prüfung
- AuthError, CoreLog (interne OSLog-Logger)

ManaTokens:
- 12 Vereins-Tokens als dynamic Light/Dark Colors
- 5 Brand-Literale (mana-yellow, spectrum-orange, ...)
- Spacing, Radius, Typography aus mana/docs/THEMING.md

Tests: 12 Unit-Tests grün via swift test.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 19:13:31 +02:00