Add separate toggles for Goal Tracking, Daily Score, and Tasks#5295
Add separate toggles for Goal Tracking, Daily Score, and Tasks#5295
Conversation
Greptile SummaryThis PR successfully adds separate toggles for Goal Tracking, Daily Score, and Tasks widgets on the home screen, replacing the previous single bundled toggle. The implementation follows existing patterns in the codebase and includes proper state management, persistence, and localization across all 33 supported languages. Key improvements:
Note: Daily Score widget has an intentional dependency on Goal Tracker being enabled (as documented in the test plan). This means toggling Daily Score on won't show the widget if Goal Tracker is off, which might not be immediately obvious to users. Confidence Score: 4/5
Important Files Changed
Last reviewed commit: f7b5caa |
f7b5caa to
300d943
Compare
|
resolve conflicts pls @krushnarout |
Daily Score widget only uses GoalsProvider for the CTA button label (Add Goals vs New Task) — the score itself is purely task-based. Remove the hidden dependency so each of the three toggles works independently. Also pass null for goalsWidgetKey when Goal Tracker is off so the Add Goals button gracefully falls back to New Task. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7f6cb17 to
ea48d25
Compare
resolved conflicts, please review @mdmohsin7 |
beastoin
left a comment
There was a problem hiding this comment.
Review by @ryo (community PR reviewer)
Clean, well-structured PR. Code follows existing patterns throughout.
What's good:
- Preferences, provider, and UI all follow the exact same pattern as the existing
showGoalTrackerEnabledtoggle — no surprises - Proper l10n across all 33 locales with correct ARB metadata in
app_en.arb - Smart
DailyScoreWidget(goalsWidgetKey: showGoals ? _goalsWidgetKey : null)— handles the dependency correctly conversations_page.dartproperly early-returns when all three are off, and individually wraps each widget with its flag- Has demo video showing all toggle combinations working
One minor note: @mdmohsin7 asked for conflict resolution — contributor has resolved it. Branch should be current.
Recommendation: Safe to merge.
Withdrawing review — re-reviewing after internal discussion.
Summary
closes #5074
Demo
ScreenRecording_03-03-2026.10-04-41_1.MP4
Changes
preferences.dart: AddedshowDailyScoreEnabledandshowTasksEnabledSharedPreferences keys (both defaulttrue)developer_mode_provider.dart: Added fields,initialize()loading,saveSettings()persistence, andonShowDailyScoreChanged/onShowTasksChangedhandlersdeveloper.dart: Added two new experimental toggles — Daily Score (chart-line icon) and Tasks (list-check icon) — after the existing Goal Tracker toggleconversations_page.dart: Each widget (DailyScoreWidget,TodayTasksWidget,GoalsWidget) now checks its own individual flag before renderingshowDailyScoreOnHomepageandshowTasksOnHomepagekeys with translations in all 33 non-English localesTest plan
🤖 Generated with Claude Code