Files
LockInBroMacOS/LockInBro/LockInBroApp.swift
2026-03-29 00:58:22 -04:00

43 lines
1.3 KiB
Swift

// LockInBroApp.swift App entry point with menu bar + main window
import SwiftUI
@main
struct LockInBroApp: App {
@State private var auth = AuthManager.shared
@State private var session = SessionManager.shared
var body: some Scene {
// Main window
WindowGroup("LockInBro") {
ContentView()
.environment(auth)
.environment(session)
.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")
}
}
.menuBarExtraStyle(.window)
}
}