PadXcode-iPad/PadXcodeApp.swift
Dallas Groot 30288da817 fixes
2026-04-12 22:10:16 -07:00

43 lines
1.5 KiB
Swift

import SwiftUI
import Foundation
@main
struct PadXcodeApp: App {
@StateObject private var daemonConfig: DaemonConfiguration
@StateObject private var projectStore: ProjectStore
@StateObject private var editorState: EditorState
@StateObject private var gitStore: GitStore
@StateObject private var lspClient: LSPClient
private let gitService: GitService
private let gitCallbackHandler: GitCallbackHandler
init() {
let config = DaemonConfiguration()
let store = GitStore()
_daemonConfig = StateObject(wrappedValue: config)
_projectStore = StateObject(wrappedValue: ProjectStore())
_editorState = StateObject(wrappedValue: EditorState())
_gitStore = StateObject(wrappedValue: store)
_lspClient = StateObject(wrappedValue: LSPClient(config: config))
gitService = GitService()
gitCallbackHandler = GitCallbackHandler(store: store)
}
var body: some Scene {
WindowGroup {
ContentView(gitService: gitService)
.environmentObject(daemonConfig)
.environmentObject(projectStore)
.environmentObject(editorState)
.environmentObject(gitStore)
.environmentObject(lspClient)
.onOpenURL { url in
Task { @MainActor in gitCallbackHandler.handle(url: url) }
}
}
.commands { CommandGroup(replacing: .undoRedo) { } }
}
}