Files
ten31-transcripts/Ten31Transcripts/App/Ten31TranscriptsApp.swift
T
Grant Gilliam 35ba6ecf05 Drop unused AppleEvents usage string; de-stale Phase-N comments
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.
2026-06-16 22:15:44 -05:00

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)
}
}