import SwiftUI

struct CreateFileView: View {
   @State private var appData = ApplicationData.shared
   @Environment(\.dismiss) var dismiss
   @State private var inputFileName: String = ""
   @State private var buttonDisabled: Bool = false

   var body: some View {
      VStack {
         HStack {
            Button("Close") {
               dismiss()
            }.buttonStyle(.glass)
            Spacer()
            Button("Create") {
               let fileName = inputFileName.trimmingCharacters(in: .whitespaces)
               if !fileName.isEmpty && !appData.listOfFiles.contains(where: { $0.name == fileName }) {
                  buttonDisabled = true
                  Task {
                     await appData.createFile(name: fileName)
                     dismiss()
                  }
               }
            }.buttonStyle(.glassProminent)
            .disabled(buttonDisabled)
         }.padding()
         TextField("Insert name and extension", text: $inputFileName)
            .textFieldStyle(.roundedBorder)
            .autocapitalization(.none)
            .autocorrectionDisabled(true)
            .padding()
         Spacer()
      }
   }
}