import SwiftUI @main struct DotdenoteApp: App { @State private var settings = WebDAVSettings() var body: some Scene { WindowGroup { RootView() .environment(settings) } } } struct RootView: View { @Environment(WebDAVSettings.self) private var settings @State private var client: WebDAVClient? @State private var showSettings = false @State private var themeManager = ThemeManager.shared var body: some View { Group { if settings.isConfigured { if let client { NoteListView(onSettings: { showSettings = true }) .environmentObject(client) .sheet(isPresented: $showSettings) { SetupView(isInitial: false) .environment(settings) } } else { Color(.systemBackground) .onAppear { client = WebDAVClient(settings: settings) } } } else { SetupView(isInitial: true) } } .tint(themeManager.current.accent) .preferredColorScheme(themeManager.current.colorScheme) } }