diff --git a/StikJIT/JSSupport/ScriptEditorView.swift b/StikJIT/JSSupport/ScriptEditorView.swift index 5c98b649..37bc80bc 100644 --- a/StikJIT/JSSupport/ScriptEditorView.swift +++ b/StikJIT/JSSupport/ScriptEditorView.swift @@ -9,33 +9,51 @@ import SwiftUI struct ScriptEditorView: View { let scriptURL: URL + @State private var scriptContent: String = "" @Environment(\.dismiss) private var dismiss + @Environment(\.colorScheme) private var colorScheme + @AppStorage("customAccentColor") private var customAccentColorHex: String = "" + + private var accentColor: Color { + if customAccentColorHex.isEmpty { + return .blue + } else { + return Color(hex: customAccentColorHex) ?? .blue + } + } var body: some View { - VStack { + ZStack { + Color(colorScheme == .dark ? .black : .white) + .ignoresSafeArea() + TextEditor(text: $scriptContent) - .padding() - .border(Color.gray, width: 1) - .navigationTitle(scriptURL.lastPathComponent) - .navigationBarTitleDisplayMode(.inline) .font(.system(.footnote, design: .monospaced)) - - HStack { + .padding(12) + .background( + RoundedRectangle(cornerRadius: 12) + .fill(Color(UIColor.secondarySystemBackground)) + ) + .padding() + } + .navigationTitle(scriptURL.lastPathComponent) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { Button("Cancel") { dismiss() } - .buttonStyle(.bordered) - - Spacer() + .foregroundColor(accentColor) + } + ToolbarItem(placement: .navigationBarTrailing) { Button("Save") { saveScript() dismiss() } - .buttonStyle(.borderedProminent) + .foregroundColor(accentColor) } - .padding() } .onAppear(perform: loadScript) }