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: .center) { LabeledContent("Backend URL") { 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! 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() } } } } #Preview { OutputSettings() }