07067ca6c5
- Custom Keyboard Extension with push-to-talk UI - iOS 26 SpeechAnalyzer + DictationTranscriber (iOS 18 SF fallback) - OpenAI-compatible LLM client (4 built-in providers + custom) - 3-page onboarding flow + provider config UI - App Group shared storage for cross-process config - 8s LLM timeout with raw-transcript fallback - App Store privacy manifests for both targets - SwiftLint + XcodeGen + GitHub Actions CI - Unit tests (4/4 passing)
24 lines
508 B
Swift
24 lines
508 B
Swift
// OpenLessApp.swift
|
|
// OSGKeyboard · Main App
|
|
//
|
|
// App entry point. Switches between Onboarding and Home based on
|
|
// whether the user has configured their API key yet.
|
|
|
|
import SwiftUI
|
|
import OSGKeyboardShared
|
|
|
|
@main
|
|
struct OSGKeyboardApp: App {
|
|
@StateObject private var config = ProviderConfig.shared
|
|
|
|
var body: some Scene {
|
|
WindowGroup {
|
|
if config.isConfigured {
|
|
HomeView()
|
|
} else {
|
|
OnboardingView()
|
|
}
|
|
}
|
|
}
|
|
}
|