mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-27 19:33:00 +00:00
43 lines
1.1 KiB
Swift
43 lines
1.1 KiB
Swift
//
|
|
// SubtitleSettingsManager.swift
|
|
// Sulfur
|
|
//
|
|
// Created by Francesco on 09/03/25.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
struct SubtitleSettings: Codable {
|
|
var foregroundColor: String = "white"
|
|
var fontSize: Double = 20.0
|
|
var shadowRadius: Double = 1.0
|
|
var backgroundEnabled: Bool = true
|
|
var bottomPadding: CGFloat = 20.0
|
|
}
|
|
|
|
class SubtitleSettingsManager {
|
|
static let shared = SubtitleSettingsManager()
|
|
|
|
private let userDefaultsKey = "SubtitleSettings"
|
|
|
|
var settings: SubtitleSettings {
|
|
get {
|
|
if let data = UserDefaults.standard.data(forKey: userDefaultsKey),
|
|
let savedSettings = try? JSONDecoder().decode(SubtitleSettings.self, from: data) {
|
|
return savedSettings
|
|
}
|
|
return SubtitleSettings()
|
|
}
|
|
set {
|
|
if let data = try? JSONEncoder().encode(newValue) {
|
|
UserDefaults.standard.set(data, forKey: userDefaultsKey)
|
|
}
|
|
}
|
|
}
|
|
|
|
func update(_ updateBlock: (inout SubtitleSettings) -> Void) {
|
|
var currentSettings = settings
|
|
updateBlock(¤tSettings)
|
|
settings = currentSettings
|
|
}
|
|
}
|