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>
36 lines
1.1 KiB
Swift
36 lines
1.1 KiB
Swift
import SwiftUI
|
|
|
|
/// Typographie-Skala. Nutzt SwiftUI-Standard-`Font`-Styles, die
|
|
/// automatisch Dynamic Type respektieren (Accessibility).
|
|
///
|
|
/// Apps mit speziellen Display-Anforderungen können die Werte
|
|
/// überschreiben — der Default folgt Apple's Human Interface Guidelines
|
|
/// für gemischte Lese-/Aktions-Apps.
|
|
public enum ManaTypography {
|
|
/// Großüberschrift — Screen-Titel.
|
|
public static let largeTitle: Font = .largeTitle
|
|
|
|
/// Sektion-Titel.
|
|
public static let title: Font = .title
|
|
|
|
/// Sub-Sektion.
|
|
public static let title2: Font = .title2
|
|
|
|
/// Card-Titel.
|
|
public static let title3: Font = .title3
|
|
|
|
/// Standard-Überschrift im Body.
|
|
public static let headline: Font = .headline
|
|
|
|
/// Body-Text.
|
|
public static let body: Font = .body
|
|
|
|
/// Body, hervorgehoben.
|
|
public static let bodyEmphasized: Font = .body.weight(.semibold)
|
|
|
|
/// Sekundär-Text, Caption.
|
|
public static let caption: Font = .caption
|
|
|
|
/// Kleinste Schrift — Meta, Footnote.
|
|
public static let footnote: Font = .footnote
|
|
}
|