import SwiftUI
+import CloudStorage
struct OutputSettings: View {
- @AppStorage("outputFormats") var outputFormats: OutputFormatSetting = .all
- @AppStorage("frameRate") var frameRate = 10.0
+ @CloudStorage("outputFormats") var outputFormats: OutputFormatSetting = .all
+ @CloudStorage("frameRate") var frameRate = 10.0
+
+ private var anyState: String { "\(outputFormats), \(frameRate)" }
var body: some View {
Form {
- VStack (alignment: .leading) {
+ VStack (alignment: .center) {
LabeledContent("GIF Framerate") {
Slider(value: $frameRate, in: 4...10, step: 1) {
Text("\(Int(frameRate))").font(.body).frame(width: 24)
} minimumValueLabel: {
Text("4")
} maximumValueLabel: {
- Text("12")
+ Text("10")
}
}.font(.headline)
Picker(selection: $outputFormats, label: Text("Output Formats").font(.headline)) {
.padding(.vertical, 2.0)
}.pickerStyle(.radioGroup)
}
+ Spacer()
+ }
+ .onChange(of: anyState) { _ in
+ NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil)
}
}
}