Commit Graph
5 Commits
Author SHA1 Message Date
stefwill e464c5621e feat: add model download screen and gate app on model presence
Adds a one-time download flow for the on-device Gemma 2B model (~1.1 GB)
with a progress bar, partial-download cleanup, and automatic navigation
to the app shell once the file is verified. App.dart now gates on
modelPresentProvider instead of onboarding state.
2026-04-26 14:42:39 +10:00
stefwill ea412d6fe9 feat: implement background LLM pattern analysis on Insights screen
Adds a prompt builder that serialises 7-day mood/activity data, wires
InsightNotifier to call the on-device LLM directly (no user interaction),
caches results by prompt hash, and renders the analysis as a passive card.
Includes loading, empty (<2 entries), and error states with a force-refresh button.
2026-04-26 14:37:37 +10:00
stefwill 6f3fb74e7e feat: implement multi-step mood logging wizard
Adds sleep/energy/positivity/self-worth tracking columns to the database
(schema v2 migration), a new 5-option StepScale widget, per-answer chips
at the top of the screen, a 2×2 activity grid chip, and a full step-by-step
wizard flow: mood → sleep (first entry today only) → energy → positivity →
self-worth → activities → review+save.
2026-04-26 12:14:45 +10:00
stefwill 59597c7a4f feat: wire up app shell, log mood screen, and fix Android build
- Bootstrap ProviderScope in main.dart and move App to app.dart with light/dark theming
- Add initial LogMoodScreen with mood entry flow and shared activity/mood widgets
- Add kIsWeb guard in app_database.dart for drift web support
- Enable Android core library desugaring required by flutter_local_notifications 21.x
- Guard all async notifier state assignments with ref.mounted checks to prevent
  use-after-dispose errors when providers are auto-disposed mid-operation
2026-04-26 12:00:14 +10:00
stefwill 33d1713f51 feat: set up Flutter project with drift database, Riverpod providers, and LLM service layer
- Configure dependencies: drift 2.32.x, flutter_riverpod 3.3.1, fl_chart 1.2.x,
  flutter_local_notifications 21.x, local_auth 3.x, and supporting packages
- Drop riverpod_generator (incompatible analyzer version with drift_dev 2.32.x);
  convert all providers to manual Riverpod 3.x API using Notifier<T> and typed families
- Define drift schema: MoodEntries, Activities, EntryActivities, Tags, EntryTags,
  LlmInsights, UserSettings with four DAOs (mood, activity, insight, settings)
- Add LLM service abstraction (LlmService) and MediaPipe implementation
- Fix SettingsDao.delete → deleteByKey to avoid shadowing drift's inherited delete method
2026-04-26 10:39:51 +10:00