Add Progress over time and a targets and reminders setup

Progress gives a Day/Week/Month view of routines held against a weekly
target, compared with the same point of the previous period, with active
time and the daily streak. Targets & reminders sets routines and minutes
per week and schedules a heads-up before each routine. The runner's summary
now shows today's held count and streak. Finished runs are mirrored to a
device run log that feeds both.

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-08 20:17:58 +03:00
parent 4b71257429
commit add94f621c
26 changed files with 1590 additions and 4 deletions

View File

@@ -109,3 +109,19 @@ goals and a chat.
(`designs/MemberAvatar.dart`): square painted portraits with the initial.
- Groups are reached from the nav (Groups tab), the Home "Your groups" rail
(tap opens the chat) and the add sheet.
## Progress
`see/progress/`: progress over time, reached from the nav (Progress tab).
- A Day / Week / Month switch over one white card: routines held against
the target, a change chip measured against the *same point* of the
previous period, and bars (days of the week, weeks of the month) with the
current one in night and future ones as stubs. Day shows a meter instead.
- Two tiles below: active time against its target, and the daily streak.
- Runs come from the device's run log (`RoutineRunRecord`), written when the
routine runner logs. Targets are local (`ProgressTargets`).
- **Targets** (`TargetSetup`) is the only setup screen: routines per week,
active minutes per week and reminders before scheduled routines. Until it
is saved once, Progress measures against the schedule and shows a night
"Set your weekly target" prompt. Targets never touch debt.