]> git.r.bdr.sh - rbdr/captura/blobdiff - Captura/Presentation/Settings/AdvancedSettings.swift
Add clipboard
[rbdr/captura] / Captura / Presentation / Settings / AdvancedSettings.swift
index 7ed78d967e2acd01951581f407901661d503a11d..e5b77ce430651896ebc7a2610e5fc43273e72912 100644 (file)
@@ -3,25 +3,45 @@ import SwiftUI
 struct AdvancedSettings: View {
   
   @AppStorage("backendUrl") var backendUrl: String = ""
+  @AppStorage("backendFormat") var outputFormats: OutputFormatSetting = .gifOnly
   @AppStorage("keepFiles") var keepFiles = true
   
+  var parsedBackendUrl: URL? {
+    URL(string: backendUrl)
+  }
+  
   var body: some View {
     Form {
-      VStack (alignment: .leading) {
+      VStack (alignment: .center) {
         LabeledContent("Backend URL") {
-          TextField("", text: $backendUrl)
-        }.font(.headline)
-        LabeledContent("Keep files after remote upload") {
-          Toggle("", isOn: $keepFiles)
+          TextField("", text: $backendUrl).font(.body)
         }.font(.headline)
+        Picker(selection: $outputFormats, label: Text("Backend Format").font(.headline)) {
+          Text("GIF")
+            .tag(OutputFormatSetting.gifOnly)
+            .padding(.horizontal, 4.0)
+            .padding(.vertical, 2.0)
+          Text("MP4")
+            .tag(OutputFormatSetting.mp4Only)
+            .padding(.horizontal, 4.0)
+            .padding(.vertical, 2.0)
+        }
+          .pickerStyle(.radioGroup)
+          .disabled(parsedBackendUrl == nil)
+        Toggle("Keep Local Files", isOn: $keepFiles)
+          .font(.headline)
+          .disabled(parsedBackendUrl == nil)
+          .padding(.vertical, 8.0)
         HStack {
-          Text("These settings can break things!")
+          Text("These settings can break things! Please make sure you understand how to use them before enabling.")
+            .lineLimit(3...10)
           Button {
             print("Not yet!")
           } label: {
             Image(systemName: "info.circle")
           }.buttonStyle(.borderless)
         }
+        Spacer()
       }
     }
   }