35ba6ecf05
The NSAppleEventsUsageDescription usage string was dead — the app has no AppleEvents/AppleScript code path (Meet detection reads window titles), so the permission prompt never fired; remove it. Rephrase the leftover "Phase N" build-plan references in source comments (one of which falsely claimed "no audio, capture, or call detection yet"), and complete the AGENTS.md Audio/Detection layout listings.
36 lines
1.2 KiB
Swift
36 lines
1.2 KiB
Swift
import SwiftUI
|
|
|
|
/// Menu-bar-only app entry point.
|
|
///
|
|
/// `LSUIElement` (set in Info.plist) keeps the app out of the Dock; the
|
|
/// `MenuBarExtra` scene provides the status-bar item and its panel, which wires
|
|
/// up permissions, settings, recording control, and the backend health check.
|
|
@main
|
|
struct Ten31TranscriptsApp: App {
|
|
@NSApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate
|
|
|
|
@StateObject private var settings: AppSettings
|
|
@StateObject private var permissions = PermissionsManager()
|
|
@StateObject private var health = SparkControlHealth()
|
|
@StateObject private var session: SessionController
|
|
|
|
init() {
|
|
let settings = AppSettings()
|
|
_settings = StateObject(wrappedValue: settings)
|
|
_session = StateObject(wrappedValue: SessionController(settings: settings))
|
|
}
|
|
|
|
var body: some Scene {
|
|
MenuBarExtra {
|
|
MenuBarView()
|
|
.environmentObject(settings)
|
|
.environmentObject(permissions)
|
|
.environmentObject(health)
|
|
.environmentObject(session)
|
|
} label: {
|
|
Image(systemName: session.state == .recording ? "waveform.circle.fill" : "waveform.circle")
|
|
}
|
|
.menuBarExtraStyle(.window)
|
|
}
|
|
}
|