39c95784db5f7ed126eb58b3b4bb97bc887d9b21
Three new opt-in daily local-notification habits, toggleable in both Settings and Onboarding, backed by the same UserDefaults.kisani (App Group) keys: - Prayer: up to 4 independently-toggleable times/day (Morning/Afternoon/ Evening/Night), 'Have you had a chance to pray and give thanks?' - Bed-making: one daily nudge, default 8am (research-backed first win of the day per the user's note). - Coffee/Caffeine: up to 4 named times + one custom-labeled reminder. NotificationManager.scheduleHabitReminders() schedules/cancels all slots idempotently via fixed identifiers, wired into the existing reschedule() orchestration. Onboarding gets 3 restrained master toggles with sensible defaults (no per-slot editors, to avoid a long form); Settings gets the full Habit Reminders sheet with per-slot times and the custom coffee reminder. Found and worked around a pre-existing store mismatch: workoutCheckInEnabled/ workoutConfirmEnabled etc. write to UserDefaults.standard (no explicit store:) but NotificationManager reads them from UserDefaults.kisani -- not fixed here (out of scope), but all new keys explicitly use store: UserDefaults.kisani so this feature actually fires. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
Personal productivity and fitness companion — iOS SwiftUI app
Languages
Swift
99.3%
HTML
0.4%
Shell
0.3%