switch db between debug and release
on widgets if its before the voting time show yesterdays vote, if after either show no vote or current vote user shared user defaults
This commit is contained in:
@@ -15,7 +15,7 @@ class UserDefaultsStore {
|
||||
}
|
||||
|
||||
static func getOnboarding() -> OnboardingData {
|
||||
if let data = UserDefaults.standard.object(forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue) as? Data,
|
||||
if let data = GroupUserDefaults.groupDefaults.object(forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue) as? Data,
|
||||
let model = try? JSONDecoder().decode(OnboardingData.self, from: data) {
|
||||
return model
|
||||
} else {
|
||||
@@ -26,7 +26,7 @@ class UserDefaultsStore {
|
||||
static func saveOnboarding(onboardingData: OnboardingData) -> OnboardingData {
|
||||
do {
|
||||
let data = try JSONEncoder().encode(onboardingData)
|
||||
UserDefaults.standard.set(data, forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue)
|
||||
GroupUserDefaults.groupDefaults.set(data, forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue)
|
||||
return UserDefaultsStore.getOnboarding()
|
||||
} catch {
|
||||
fatalError("error saving")
|
||||
|
||||
@@ -9,7 +9,7 @@ import CoreData
|
||||
import SwiftUI
|
||||
|
||||
class PersistenceController {
|
||||
@AppStorage(UserDefaultsStore.Keys.useCloudKit.rawValue) private var useCloudKit = false
|
||||
@AppStorage(UserDefaultsStore.Keys.useCloudKit.rawValue, store: GroupUserDefaults.groupDefaults) private var useCloudKit = false
|
||||
|
||||
static let shared = PersistenceController.persistenceController
|
||||
|
||||
@@ -278,8 +278,11 @@ extension NSManagedObjectContext {
|
||||
|
||||
class NSCustomPersistentContainer: NSPersistentContainer {
|
||||
override open class func defaultDirectoryURL() -> URL {
|
||||
var storeURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.88oak.ifeel")
|
||||
var storeURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: Constants.groupShareId)
|
||||
storeURL = storeURL?.appendingPathComponent("Feels.sqlite")
|
||||
#if DEBUG
|
||||
storeURL = storeURL?.appendingPathComponent("Feels-Debug.sqlite")
|
||||
#endif
|
||||
return storeURL!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,16 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
struct Constants {
|
||||
static let groupShareId = "group.com.88oak.ifeel"
|
||||
}
|
||||
|
||||
struct GroupUserDefaults {
|
||||
static var groupDefaults: UserDefaults {
|
||||
return UserDefaults(suiteName: Constants.groupShareId)!
|
||||
}
|
||||
}
|
||||
|
||||
class Random {
|
||||
static var tomorrowMidnightThirty: Date {
|
||||
let components = DateComponents(hour: 0, minute: 30, second: 0)
|
||||
|
||||
@@ -11,7 +11,7 @@ import Charts
|
||||
|
||||
struct ContentView: View {
|
||||
@Environment(\.managedObjectContext) private var viewContext
|
||||
@AppStorage(UserDefaultsStore.Keys.needsOnboarding.rawValue) private var needsOnboarding = true
|
||||
@AppStorage(UserDefaultsStore.Keys.needsOnboarding.rawValue, store: GroupUserDefaults.groupDefaults) private var needsOnboarding = true
|
||||
|
||||
@State private var showingSheet = false
|
||||
@State private var showTodayInput = true
|
||||
|
||||
@@ -20,7 +20,7 @@ struct SettingsView: View {
|
||||
@State private var showWhyBGMode = false
|
||||
@ObservedObject var syncMonitor = SyncMonitor.shared
|
||||
|
||||
@AppStorage(UserDefaultsStore.Keys.useCloudKit.rawValue) private var useCloudKit = false
|
||||
@AppStorage(UserDefaultsStore.Keys.useCloudKit.rawValue, store: GroupUserDefaults.groupDefaults) private var useCloudKit = false
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
|
||||
Reference in New Issue
Block a user