From 71806c9ca4f590db6b4af0887c1dc48196298824 Mon Sep 17 00:00:00 2001 From: breadone Date: Mon, 24 Jun 2024 13:05:27 +1200 Subject: [PATCH] Added theme colour section to settings --- OnCue/View/MainView.swift | 14 -------------- OnCue/View/SettingsView.swift | 32 ++++++++++++++++++++++++++++++-- Shared/Preferences.swift | 3 +++ 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/OnCue/View/MainView.swift b/OnCue/View/MainView.swift index 4382be4..d715d84 100644 --- a/OnCue/View/MainView.swift +++ b/OnCue/View/MainView.swift @@ -32,20 +32,6 @@ struct MainView: View { Image(systemName: "gear") } } - ToolbarItem(placement: .topBarTrailing) { - Menu { - Picker(selection: $filterColor) { - ForEach(Constants.colorText, id: \.self) { clr in - Text(clr) - } - } label: { - Text("Color") - } - .pickerStyle(.menu) - } label: { - Image(systemName: "line.3.horizontal.decrease.circle") - } - } ToolbarItem(placement: .topBarTrailing) { Button(action: { addNewProject.toggle() }) { Label("Add Item", systemImage: "plus") diff --git a/OnCue/View/SettingsView.swift b/OnCue/View/SettingsView.swift index 964dc5c..0e455cb 100644 --- a/OnCue/View/SettingsView.swift +++ b/OnCue/View/SettingsView.swift @@ -19,13 +19,15 @@ struct SettingsView: View { @AppStorage(Preferences.teleSeparator) var teleprompterSeparator: String = "---" @AppStorage(Preferences.teleDefaultSize) var teleDefaultSize = 45.0 @AppStorage(Preferences.teleAutoScroll) var teleAutoScroll = false + @AppStorage(Preferences.teleAutoScrollSpeed) var teleAutoScrollSpeed = 1.0 - - +// @State private var themesColor: Color = .blue + @AppStorage(Preferences.themeColour) var themesColor = Color.blue.toHex()! var body: some View { NavigationView { List { + generalSettings cueCardSettings teleprompterSettings appleWatchSettings @@ -41,6 +43,29 @@ struct SettingsView: View { } } + var generalSettings: some View { + Section { + Text("Theme Color") + HStack { + ForEach(Constants.colors, id: \.self) { color in + if themesColor == color.toHex()! { + ZStack { + Circle() + .foregroundStyle(color) +// .strokeBorder(Color.white,lineWidth: 4) +// .background(Circle().foregroundStyle(color)) + Image(systemName: "checkmark") + } + } else { + Circle() + .foregroundStyle(color) + .onTapGesture { themesColor = color.toHex()! } + } + } + } + } header: { Text("General") } + } + var cueCardSettings: some View { Section { Stepper("Default Text Size: \(cueDefaultSize.formatted())", value: $cueDefaultSize, in: 1...100) @@ -51,6 +76,9 @@ struct SettingsView: View { Section { Stepper("Default Text Size: \(teleDefaultSize.formatted())", value: $teleDefaultSize, in: 1...100) Toggle("AutoScroll", isOn: $teleAutoScroll) + if teleAutoScroll { + Stepper("Default Autoscroll Speed: \(teleAutoScrollSpeed.formatted())", value: $teleAutoScrollSpeed, in: 0.1...10.0, step: 0.1) + } } header: { Text("Teleprompter") } } diff --git a/Shared/Preferences.swift b/Shared/Preferences.swift index fe489a6..d546415 100644 --- a/Shared/Preferences.swift +++ b/Shared/Preferences.swift @@ -11,8 +11,11 @@ public struct Preferences { static let teleSeparator = "teleSeparator" static let teleDefaultSize = "teleDefaultSize" static let teleAutoScroll = "teleAutoScroll" + static let teleAutoScrollSpeed = "teleAutoScrollSpeed" static let watchConnectivity = "watchConnectivity" static let cueDefaultSize = "cueDefaultSize" + + static let themeColour = "themeColour" }