Mood Tracker¶
The mood tracker feature allows users to record their daily moods and track various wellness metrics over time, helping users identify patterns and correlations in their wellbeing.
Models¶
MoodEntry
: Primary model for daily mood records with emotional and health metrics.MoodRating
: Enumeration of mood levels (great, good, okay, meh, bad) with display names, emojis, and descriptions.Emotion
: Various emotional states that can be selected (excited, relaxed, happy, etc.) with display names and emojis.- Health Categories: Multiple enums tracking various wellness metrics:
SleepQuality
,EnergyLevel
,LibidoLevel
,AppetiteLevel
,FocusLevel
,DysphoriaLevel
,ExerciseLevel
Providers¶
moodStateProvider
: Manages mood entry CRUD operationsmoodEntryForDateProvider
: Retrieves mood entries for specific datesmoodColorsProvider
: Defines the color scheme for different mood ratingsmoodEntriesProvider
: Provides access to the full list of mood entriesmoodEntriesLoadingProvider
: Indicates when mood entries are loadingmoodEntriesErrorProvider
: Provides access to any error messages
Screens¶
MoodTrackerScreen
: Form for recording detailed mood and wellness dataMoodQuickSelector
: Compact widget for quickly selecting mood from the daily tracker.
Widgets¶
MoodFieldChips
: Displays mood and wellness data as visual indicator chips.
Utilities¶
MoodUtils
: Helper functions for mood-related UI elements:- Color mapping for all mood ratings and health categories
- Emoji and display name access
- Collections of enum values for UI rendering
Interactions¶
- Uses
DatabaseService
for persistent storage of mood data - Uses
NavigationService
for screen transitions - Interacts with
Scheduler
to display mood indicators on calendar - Provides data to
Stats
module for analytics and visualizations