36 lines
714 B
Swift
36 lines
714 B
Swift
//
|
|
// Settings.swift
|
|
// QueueCube
|
|
//
|
|
// Created by James Magahern on 6/10/25.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct Settings
|
|
{
|
|
var serverURL: String?
|
|
|
|
static func fromDefaults() -> Settings {
|
|
let serverURL = UserDefaults.standard.string(forKey: Keys.serverURL.rawValue)
|
|
return Settings(serverURL: serverURL)
|
|
}
|
|
|
|
func save() {
|
|
UserDefaults.standard.set(serverURL, forKey: Keys.serverURL.rawValue)
|
|
NotificationCenter.default.post(name: .settingsChanged, object: nil)
|
|
}
|
|
|
|
// MARK: - Types
|
|
|
|
enum Keys: String
|
|
{
|
|
case serverURL
|
|
}
|
|
}
|
|
|
|
extension Notification.Name
|
|
{
|
|
static let settingsChanged = Notification.Name("settingsChanged")
|
|
}
|