maybe fix but where days wouldn't show up for voting / missing

This commit is contained in:
Trey t
2022-02-17 12:14:26 -06:00
parent 7bcad65419
commit f0ed56fe94
4 changed files with 83 additions and 48 deletions

View File

@@ -146,13 +146,28 @@ class PersistenceController {
}
func fillInMissingDates() {
let latestVoteUnLocked = UserDefaultsStore.getOnboarding().ableToVoteBasedOnCurentTime()
let inputDay = UserDefaultsStore.getOnboarding().inputDay
var endDate: Date?
switch (latestVoteUnLocked, inputDay) {
case (true, .Previous):
endDate = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
case (true, .Today):
endDate = Date()
case (false, .Previous):
endDate = Calendar.current.date(byAdding: .day, value: -2, to: Date())!
case (false, .Today):
endDate = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
}
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: false)]
let entries = try! viewContext.fetch(fetchRequest)
if let firstEntry = entries.last?.forDate {
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
let allDates: [Date] = Date.dates(from: firstEntry, to: yesterday).map({
let allDates: [Date] = Date.dates(from: firstEntry, to: endDate!).map({
let zeroDate = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: $0)!
return zeroDate
})