feat: day streaks and two-week activity history

Session count alone says nothing about consistency, which is what makes
pelvic floor training work. Record every completion timestamp and derive
streaks from local calendar days: current streak (survives until a full
day is missed), best streak, and a 14-day dot strip on the home screen.
The done screen now shows the streak so finishing is rewarded.

- src/lib/streak.ts: pure day-key / streak logic, covered by node --test
- store: new `sessions` array, defaulted for pre-existing installs
- home: StreakCard, screen now scrolls for smaller phones
- tsconfig: TS 6 no longer auto-includes @types, so declare node types

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
marcuspaico
2026-09-02 15:44:31 +10:00
parent 4908684b07
commit 6a75db0aae
11 changed files with 227 additions and 16 deletions

View File

@@ -2,6 +2,8 @@
"extends": "expo/tsconfig.base",
"compilerOptions": {
"strict": true,
"allowImportingTsExtensions": true,
"types": ["node"],
"paths": {
"@/*": ["./src/*"]
}