import SwiftUI

struct ContentView: View {
   @State private var appData = ApplicationData.shared
   @State private var inputText = NSAttributedString(string: "")
   @State private var isDisabled: Bool = false

   var body: some View {
      VStack {
         CustomEditor(input: $inputText)
            .padding()
            .overlay(
               RoundedRectangle(cornerRadius: 12)
                  .stroke(Color.secondary, lineWidth: 1)
            )
         HStack {
            Spacer()
            Button("Save") {
               appData.saveFile(text: inputText)
               isDisabled = true
            }
            .buttonStyle(.borderedProminent)
            .disabled(inputText.length == 0 || isDisabled)
            .padding()
         }
      }
      .padding()
      .onChange(of: inputText, initial: true) { old, value in
         isDisabled = false
      }
      .onAppear {
         inputText = appData.openFile()
      }
   }
}