Files
2026-10-21 14:50:05 +01:00

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