Rebuild Home around a forest header with streak, score and water

Home now opens on a deep green header: greeting, a Today / Weekly toggle,
a seven-day streak with a leaf on every kept day, minutes held with a +
ring, plan thumbnails, the report-card letter as the score, and one bar per
commitment class (weekly view swaps in per-day bars and class rates). The
+ opens an "Add to today" sheet over the blurred day. A water tracker sits
below the header, kept on the device. The nav marks the selected tab as a
filled block and drops the side action button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KhQh614DMeYoQEH9SoMRUw
This commit is contained in:
alvocool
2026-11-02 20:58:41 +03:00
parent 9c858b8146
commit 4548e1f164
11 changed files with 1076 additions and 290 deletions

View File

@@ -1,5 +1,6 @@
import '../../about/external/data/Commitment.dart';
import '../../about/external/data/ExcuseCluster.dart';
import '../../about/external/data/ReportCard.dart';
import '../../about/external/data/RoutineChain.dart';
import '../../about/internal/application/Standing.dart';
import '../../about/internal/application/TodoItem.dart';
@@ -15,6 +16,13 @@ abstract class ConnectHome {
/// The routine library, for the up-next rail.
void onRoutinesLoaded(List<RoutineChain> routines);
/// This week's report card, for the streak row, the score and the weekly
/// view. Null when it could not be loaded.
void onWeekLoaded(ReportCard? week);
/// Water drunk today, in ml.
void onWaterLoaded(int ml);
/// The quick to-do list, read from the device.
void onTodosLoaded(List<TodoItem> todos);