summaryrefslogtreecommitdiffstats
path: root/Solsnu.Widget/Utilities/AppGroupManager.swift
diff options
context:
space:
mode:
authorivar <i@oiee.no>2026-05-06 21:21:17 +0200
committerivar <i@oiee.no>2026-05-06 21:21:17 +0200
commit54dd55db8c19667939536e18535ac9c45817e442 (patch)
tree7ccb609b16e731c6281aa8d23969fb51c42eb60f /Solsnu.Widget/Utilities/AppGroupManager.swift
parentefae4d08083f454975f08a2c0c6871c6a3d41e95 (diff)
downloadsolverv-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.swift67
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")
- }
-}