Files
LockInBroMacOS/LockInBro/LockInBroApp.swift

43 lines
1.3 KiB
Swift
Raw Normal View History

// LockInBroApp.swift App entry point with menu bar + main window
2026-03-28 14:53:40 -04:00
import SwiftUI
@main
struct LockInBroApp: App {
@State private var auth = AuthManager.shared
@State private var session = SessionManager.shared
2026-03-28 14:53:40 -04:00
var body: some Scene {
// Main window
WindowGroup("LockInBro") {
2026-03-28 14:53:40 -04:00
ContentView()
.environment(auth)
.environment(session)
2026-03-29 00:58:22 -04:00
.onChange(of: session.isSessionActive) { _, isActive in
if isActive {
FloatingPanelController.shared.show(session: session)
} else {
FloatingPanelController.shared.close()
}
}
}
.defaultSize(width: 840, height: 580)
// Menu bar extra
MenuBarExtra {
MenuBarView()
.environment(auth)
.environment(session)
} label: {
// Show a filled icon when a session is active
if session.isSessionActive {
Image(systemName: "brain.head.profile")
.symbolEffect(.pulse)
} else {
Image(systemName: "brain.head.profile")
}
2026-03-28 14:53:40 -04:00
}
.menuBarExtraStyle(.window)
2026-03-28 14:53:40 -04:00
}
}