Skip to content

feat: Settings screen (#33)#56

Merged
ryanabooth merged 1 commit into
mainfrom
feature/settings-screen
May 14, 2026
Merged

feat: Settings screen (#33)#56
ryanabooth merged 1 commit into
mainfrom
feature/settings-screen

Conversation

@ryanabooth
Copy link
Copy Markdown
Owner

Summary

  • Adds a Settings tab (gear icon) visible in MainTabView
  • Notifications section: per-type toggles for habit reminders, task due alerts, farm plot alerts, and streak milestones — backed by UserDefaults; RealNotificationScheduler reads each pref before scheduling so disabling a toggle silently suppresses that category
  • Data section: Export all tasks, habits, and goals as a pretty-printed JSON file via ShareLink; Reset Farm (confirmation dialog) clears all FarmPlot/FarmState rows and re-bootstraps
  • About section: version and build number from Bundle

Closes #33

Test plan

  • Build and run on iPhone 17 simulator
  • Settings tab appears and renders all three sections
  • Toggle off "Task due alerts", add a task with a due date — verify no notification is scheduled (check UNUserNotificationCenter.getPendingNotificationRequests)
  • Export JSON — share sheet appears with a valid .json file containing tasks/habits/goals
  • Reset Farm dialog shows, tapping Reset clears plots (Farm tab shows empty state), cancelling does nothing
  • About section shows correct version/build

🤖 Generated with Claude Code

…#33)

- SettingsView with Notifications / Data / About sections
- Per-type notification prefs (habit reminders, task due, plot alerts, streak milestones) backed by UserDefaults; RealNotificationScheduler checks prefs before scheduling
- Export all tasks, habits, and goals as JSON via ShareLink
- Reset Farm destructive action (double-confirm dialog) re-bootstraps plots
- Settings tab added to MainTabView

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ryanabooth ryanabooth merged commit 698f96e into main May 14, 2026
@ryanabooth ryanabooth deleted the feature/settings-screen branch May 14, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Settings screen (notifications, data export, about)

1 participant