fix saved time vs header time voting

only show onboarding once
This commit is contained in:
Trey t
2022-01-22 14:06:33 -06:00
parent 01e54d9373
commit dfe886a706
4 changed files with 16 additions and 8 deletions

View File

@@ -8,8 +8,13 @@
import Foundation
class UserDefaultsStore {
enum Keys: String {
case savedOnboardingData
case needsOnboarding
}
static func getOnboarding() -> OnboardingData {
if let data = UserDefaults.standard.object(forKey: "savedOnboardingData") as? Data,
if let data = UserDefaults.standard.object(forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue) as? Data,
let model = try? JSONDecoder().decode(OnboardingData.self, from: data) {
return model
} else {
@@ -20,7 +25,7 @@ class UserDefaultsStore {
static func saveOnboarding(onboardingData: OnboardingData) -> OnboardingData {
do {
let data = try JSONEncoder().encode(onboardingData)
UserDefaults.standard.set(data, forKey: "savedOnboardingData")
UserDefaults.standard.set(data, forKey: UserDefaultsStore.Keys.savedOnboardingData.rawValue)
return UserDefaultsStore.getOnboarding()
} catch {
fatalError("error saving")