import SwiftUI
import UniformTypeIdentifiers

struct ContentView: View {
   @State private var document = TextDocument()
   @State private var openExport: Bool = false

   var body: some View {
      NavigationStack {
         GroupBox("Editor") {
            TextEditor(text: $document.documentText)
         }.padding()
         .navigationTitle("Document")
         .toolbarTitleDisplayMode(.inline)
         .toolbar {
            ToolbarItem(placement: .topBarTrailing) {
               Button(action: {
                  openExport = true
               }, label: {
                  Image(systemName: "square.and.arrow.up")
               })
            }
         }
      }
      .fileExporter(isPresented: $openExport, document: document, contentType: .plainText, defaultFilename: "My Document", onCompletion: { result in
         print("Document exported")
      })
   }
}