- MoodlitAppearanceSection ersetzt die Einzel-Wrapper + handgebauten Block. - ManaAboutSection (moodlit.mana.how, Verein) in ProfileView statt handgebauter Version/Build-Section. Muster identisch zum build-verifizierten herbatrium; lokal nicht gebaut (Disk-Limit), wird im Xcode-Fleet-Rebuild verifiziert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
1.2 KiB
Swift
31 lines
1.2 KiB
Swift
import ManaThemeUI
|
|
import ManaTokens
|
|
import SwiftUI
|
|
|
|
/// Moodlit-Konto-Sektion „Darstellung" — der geteilte ``ManaAppearanceSection``
|
|
/// (Hell/Dunkel-Picker + Theme-Galerie + einheitlicher Footer) mit
|
|
/// Moodlit-Persistenz: `@AppStorage` unter den moodlit-Keys, Defaults dunkel
|
|
/// (`.dark`) + Signatur-Theme `.twilight`, plus der Theme-Pass-Lock aus
|
|
/// ``ThemePassStore`` (gesperrte Variants nur ansehbar).
|
|
///
|
|
/// Ersetzt die früheren Einzel-Wrapper `MoodlitAppearancePicker` +
|
|
/// `MoodlitThemeGallery` samt handgebautem Section-Rahmen/Footer.
|
|
struct MoodlitAppearanceSection: View {
|
|
@AppStorage(ManaAppearanceMode.storageKey) private var appearanceRaw = ManaAppearanceMode.moodlitDefault.rawValue
|
|
@AppStorage(ManaTheme.storageKey) private var themeRaw = ManaTheme.moodlitDefault.rawValue
|
|
@Environment(ThemePassStore.self) private var themePass
|
|
|
|
var body: some View {
|
|
ManaAppearanceSection(
|
|
appearance: Binding(
|
|
get: { ManaAppearanceMode(rawValue: appearanceRaw) ?? .dark },
|
|
set: { appearanceRaw = $0.rawValue }
|
|
),
|
|
theme: Binding(
|
|
get: { ManaTheme(rawValue: themeRaw) ?? .twilight },
|
|
set: { themeRaw = $0.rawValue }
|
|
),
|
|
unlocked: themePass.unlocked
|
|
)
|
|
}
|
|
}
|