31 lines
985 B
Swift
31 lines
985 B
Swift
import SwiftUI
|
|
|
|
@main
|
|
struct PegasusMonitorApp: App {
|
|
@StateObject private var monitor = ServerMonitor()
|
|
|
|
var body: some Scene {
|
|
MenuBarExtra {
|
|
MonitorMenuView(monitor: monitor)
|
|
} label: {
|
|
Image(systemName: monitor.status.symbol)
|
|
.symbolRenderingMode(.palette)
|
|
.foregroundStyle(monitor.status.color)
|
|
.help("Pegasus Monitor — \(monitor.status.title)")
|
|
}
|
|
.menuBarExtraStyle(.window)
|
|
|
|
// Real independent windows: editing cannot be dismissed by the menu-bar popover.
|
|
Window("Pegasus Monitor Settings", id: "monitor-settings") {
|
|
SettingsView(monitor: monitor)
|
|
.frame(minWidth: 780, minHeight: 640)
|
|
}
|
|
.defaultSize(width: 880, height: 750)
|
|
|
|
Window("Server Diagnostics", id: "monitor-diagnostics") {
|
|
DiagnosticsView(monitor: monitor)
|
|
}
|
|
.defaultSize(width: 760, height: 600)
|
|
}
|
|
}
|