diff options
| author | ivar <i@oiee.no> | 2026-05-06 21:21:17 +0200 |
|---|---|---|
| committer | ivar <i@oiee.no> | 2026-05-06 21:21:17 +0200 |
| commit | 54dd55db8c19667939536e18535ac9c45817e442 (patch) | |
| tree | 7ccb609b16e731c6281aa8d23969fb51c42eb60f /Solsnu.Widget/Utilities/AppGroupManager.swift | |
| parent | efae4d08083f454975f08a2c0c6871c6a3d41e95 (diff) | |
| download | solverv-54dd55db8c19667939536e18535ac9c45817e442.tar.xz solverv-54dd55db8c19667939536e18535ac9c45817e442.zip | |
refactor: remove duplicate source files now served from Shared/
Diffstat (limited to 'Solsnu.Widget/Utilities/AppGroupManager.swift')
| -rw-r--r-- | Solsnu.Widget/Utilities/AppGroupManager.swift | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/Solsnu.Widget/Utilities/AppGroupManager.swift b/Solsnu.Widget/Utilities/AppGroupManager.swift deleted file mode 100644 index 95ff2de..0000000 --- a/Solsnu.Widget/Utilities/AppGroupManager.swift +++ /dev/null @@ -1,67 +0,0 @@ -import Foundation - -class AppGroupManager { - static let shared = AppGroupManager() - static let appGroupID = "group.com.ivarlovlie.solverv" - - private lazy var userDefaults: UserDefaults? = { - UserDefaults(suiteName: Self.appGroupID) - }() - - // MARK: - Location Storage - - struct UserLocation: Codable { - let latitude: Double - let longitude: Double - let timestamp: String // ISO 8601 - let isDefaultLocation: Bool - } - - func saveLocation(_ location: UserLocation) { - guard let ud = userDefaults else { return } - if let encoded = try? JSONEncoder().encode(location) { - ud.set(encoded, forKey: "userLocation") - } - } - - func getLocation() -> UserLocation? { - guard let ud = userDefaults, - let data = ud.data(forKey: "userLocation"), - let location = try? JSONDecoder().decode(UserLocation.self, from: data) else { - return nil - } - return location - } - - // MARK: - Sunrise/Sunset Storage - - struct SunTimes: Codable { - let date: String // ISO 8601 date only (YYYY-MM-DD) - let sunrise: String // ISO 8601 datetime - let sunset: String // ISO 8601 datetime - let timestamp: String // ISO 8601 when calculated - } - - func saveSunTimes(_ sunTimes: SunTimes) { - guard let ud = userDefaults else { return } - if let encoded = try? JSONEncoder().encode(sunTimes) { - ud.set(encoded, forKey: "sunTimes") - } - } - - func getSunTimes() -> SunTimes? { - guard let ud = userDefaults, - let data = ud.data(forKey: "sunTimes"), - let sunTimes = try? JSONDecoder().decode(SunTimes.self, from: data) else { - return nil - } - return sunTimes - } - - // MARK: - Helpers - - func clearAllData() { - userDefaults?.removeObject(forKey: "userLocation") - userDefaults?.removeObject(forKey: "sunTimes") - } -} |
