#if os(macOS) import SwiftUI public struct SheetsDocumentMenu: View { @FocusedValue(\.sheetEditor) private var editor public init() {} private var available: Bool { editor?.model.page != nil } private var writable: Bool { guard let model = editor?.model else { return false } return model.mayWrite && !model.busy && !model.hasUnconfirmedChanges } public var body: some View { Group { Button(sheetsMacString("Save")) { if let model = editor?.model { Task { await model.saveAll() } } } .keyboardShortcut("s").disabled(!available) Button(sheetsMacString("Rename…")) { editor?.panel.wrappedValue = "Rename" }.disabled(!writable) Button(sheetsMacString("Export workbook…")) { editor?.panel.wrappedValue = "Export" }.disabled(!available) Button(sheetsMacString("Version history…")) { editor?.panel.wrappedValue = "History" }.disabled(!available) Button(sheetsMacString("Share…")) { editor?.panel.wrappedValue = "Share" }.disabled(editor?.model.page?.MayShare != true) } } } #endif