Neuer Ordner ios/ mit dem Geruest: Netzwerkschicht, Modelle, Offline-Ablage, Texte in Deutsch und Englisch, Navigation, der komplette Anmeldeweg (Server waehlen, anmelden, zweiter Faktor, Pflicht-Passwortwechsel) und als erste Fachansicht die Kontenliste. Die Anmeldung laeuft einmal ueber das Sitzungs-Cookie, holt sich dabei eine App-Marke und legt sie in den Schluesselbund. Danach traegt nur noch der Header. Kein Passwort auf dem Geraet, kein Ablauf nach 30 Tagen. Der Code ist nie uebersetzt worden - hier gibt es kein Xcode. Geprueft ist dafuer jedes Modellfeld gegen echte Antworten des laufenden Backends; dabei kam heraus, dass created_at ohne Zeitzone und mit Mikrosekunden kommt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
25 lines
692 B
Swift
25 lines
692 B
Swift
import SwiftUI
|
|
|
|
@main
|
|
struct CertainApp: App {
|
|
@State private var zustand = AppZustand()
|
|
|
|
var body: some Scene {
|
|
// Das Erscheinungsbild kommt aus den Server-Einstellungen, damit App
|
|
// und Weboberfläche gleich aussehen. „system" heisst: nichts vorgeben.
|
|
let schema: ColorScheme?
|
|
switch zustand.einstellungen.erscheinungsbild {
|
|
case "light": schema = .light
|
|
case "dark": schema = .dark
|
|
default: schema = nil
|
|
}
|
|
|
|
return WindowGroup {
|
|
RootAnsicht()
|
|
.environment(zustand)
|
|
.task { await zustand.starte() }
|
|
.preferredColorScheme(schema)
|
|
}
|
|
}
|
|
}
|