broken changes

This commit is contained in:
Mark Gregory
2026-11-05 13:01:47 +00:00
parent abee603250
commit d5b24bff29
6 changed files with 150 additions and 5 deletions
+24 -1
View File
@@ -268,13 +268,14 @@ struct DJDeckControls: View {
}
struct StudioSettingsPane: View {
var showHeading = true
@AppStorage("studioAppearance") private var appearance = "system"
@ObservedObject var model: AppModel
@State private var port = ""
var body: some View {
ScrollView {
VStack(alignment:.leading,spacing:22) {
HStack { VStack(alignment:.leading,spacing:4) { Text("Studio Settings").font(.title2.bold());Text("Changes save automatically on this Mac.").foregroundStyle(.secondary) };Spacer() }
if showHeading { HStack { VStack(alignment:.leading,spacing:4) { Text("Studio Settings").font(.title2.bold());Text("Changes save automatically on this Mac.").foregroundStyle(.secondary) };Spacer() } }
GroupBox("Appearance") {
HStack {
Picker("Appearance",selection:$appearance) {
@@ -608,3 +609,25 @@ struct RotationSongBrowser: View {
.onAppear { if model.selectedSinger == nil { model.selectedSinger = model.venueSingers.first?.id } }
}
}
struct StudioSettingsDialog: View {
@ObservedObject var model: AppModel
@Environment(\.dismiss) private var dismiss
var body: some View {
VStack(spacing:0) {
HStack(spacing:14) {
Image(systemName:"slider.horizontal.3").font(.title2).foregroundStyle(Color.accentColor)
VStack(alignment:.leading,spacing:4) {
Text("Studio Settings").font(.title2.bold())
Text("Karaoke playback, background music and hosting").font(.callout).foregroundStyle(.secondary)
}
Spacer()
}.padding(24)
Divider()
StudioSettingsPane(showHeading:false,model:model)
Divider()
HStack { Text("Changes save automatically on this Mac").font(.caption).foregroundStyle(.secondary);Spacer();Button("Done") { dismiss() }.keyboardShortcut(.defaultAction) }.padding(.horizontal,24).padding(.vertical,16)
}.frame(width:760,height:680).background(Color(nsColor:.windowBackgroundColor))
.alert("Settings",isPresented:Binding(get:{model.error != nil},set:{if !$0 { model.error = nil }})) { Button("OK") { model.error = nil } } message: { Text(model.error ?? "") }
}
}