diff --git a/PortfolioJournal/Views/Dashboard/MonthlyCheckInView.swift b/PortfolioJournal/Views/Dashboard/MonthlyCheckInView.swift index 5e55fd0..9b715f1 100644 --- a/PortfolioJournal/Views/Dashboard/MonthlyCheckInView.swift +++ b/PortfolioJournal/Views/Dashboard/MonthlyCheckInView.swift @@ -31,12 +31,15 @@ struct MonthlyCheckInView: View { } private var checkInProgress: Double { - guard let last = lastCompletionDate, - let nextDate = nextCheckInDate else { return 1 } - let totalDays = Double(max(1, last.startOfDay.daysBetween(nextDate.startOfDay))) - guard totalDays > 0 else { return 1 } - let elapsedDays = Double(last.startOfDay.daysBetween(Date())) - return min(max(elapsedDays / totalDays, 0), 1) + guard let nextDate = nextCheckInDate, + let periodStart = Calendar.current.date( + byAdding: .month, + value: -checkInIntervalMonths, + to: nextDate + ) else { return 1 } + let totalDays = Double(max(1, periodStart.startOfDay.daysBetween(nextDate.startOfDay))) + let elapsedDays = Double(max(0, periodStart.startOfDay.daysBetween(Date().startOfDay))) + return min(elapsedDays / totalDays, 1) } private var checkInIntervalMonths: Int {