new features
This commit is contained in:
+24
-4
@@ -1,10 +1,30 @@
|
||||
import SwiftUI
|
||||
|
||||
@main
|
||||
struct AppleContainerComposeApp: App {
|
||||
@StateObject private var model = ComposeModel()
|
||||
struct ContainerComposeApp: App {
|
||||
@StateObject private var compose = ComposeModel()
|
||||
@StateObject private var monitor = Monitor()
|
||||
@State private var tab = "compose"
|
||||
var body: some Scene {
|
||||
WindowGroup("Apple Container Compose") { ContentView().environmentObject(model) }
|
||||
.defaultSize(width: 1050, height: 720)
|
||||
WindowGroup("Container Compose") {
|
||||
TabView(selection: $tab) {
|
||||
ContentView().environmentObject(compose).disabled(monitor.demo || monitor.acting)
|
||||
.tabItem { Label("Compose", systemImage: "square.stack.3d.up") }.tag("compose")
|
||||
Workspace(model: monitor).disabled(compose.busy)
|
||||
.tabItem { Label("Monitor & Resources", systemImage: "waveform.path.ecg") }.tag("monitor")
|
||||
}
|
||||
.frame(minWidth: 1050, minHeight: 720)
|
||||
.onChange(of: compose.projectName) { _, name in monitor.project = name }
|
||||
}.defaultSize(width: 1250, height: 850)
|
||||
.commands {
|
||||
CommandGroup(after: .appInfo) { Button("Save Command-Line Tool…") { monitor.exportCLI() } }
|
||||
CommandMenu("Containers") {
|
||||
Button("Refresh") { Task { await monitor.refresh() } }.keyboardShortcut("r")
|
||||
Button("Inspect") { monitor.mode = "Inspect" }.keyboardShortcut("i")
|
||||
Button("Logs") { monitor.mode = "Logs" }.keyboardShortcut("l")
|
||||
Button("Stats") { monitor.mode = "Stats" }.keyboardShortcut("s")
|
||||
}
|
||||
}
|
||||
Settings { Preferences(model: monitor) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user