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()
}
}
}