SwiftUI client for a self-hosted RSS news-correlation platform: signal feed, story detail, article reader, feed manager, and LAN⇄Tailscale connectivity. Project generated from project.yml via XcodeGen. Includes CI build matrix (macOS 14/15 × Debug/Release), issue templates, backlog, and API/backend handoff docs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
36 lines
1.0 KiB
Swift
36 lines
1.0 KiB
Swift
// JarvisApp.swift
|
|
|
|
import SwiftUI
|
|
import SwiftData
|
|
|
|
@main
|
|
struct JarvisApp: App {
|
|
@StateObject private var settings = ServerSettings.shared
|
|
@StateObject private var store = StoryStore.shared
|
|
@StateObject private var ws = WebSocketManager.shared
|
|
@StateObject private var connectivity = ConnectivitySettings.shared
|
|
@StateObject private var connManager = ConnectivityManager.shared
|
|
|
|
var body: some Scene {
|
|
WindowGroup {
|
|
Group {
|
|
if settings.isConfigured {
|
|
RootTabView()
|
|
} else {
|
|
OnboardingView()
|
|
}
|
|
}
|
|
.environmentObject(settings)
|
|
.environmentObject(store)
|
|
.environmentObject(ws)
|
|
.environmentObject(connectivity)
|
|
.environmentObject(connManager)
|
|
.task {
|
|
connManager.start()
|
|
await connManager.resolveAndActivate()
|
|
}
|
|
}
|
|
.modelContainer(for: [CachedStory.self, CachedArticle.self])
|
|
}
|
|
}
|