saravanakumardb1
|
38bb2629e9
|
feat(web): Phase 2 — stats, categories, recurring, export/import, calendar .ics
- Statistics + streaks engine (lib/stats.ts) with daily/weekly/monthly breakdowns, on-time rate, focus time, streak tracking (23 tests)
- Categories/tags system (lib/categories.ts) with 6 built-in categories, custom tags, default urgency+cascade per category (29 tests)
- Recurring timer engine (lib/recurrence.ts) with daily/weekday/weekend/weekly/biweekly/monthly/custom rules, skip/pause, DST edge cases (37 tests)
- Timer export/import as JSON (lib/export.ts)
- Calendar .ics import (lib/calendar-import.ts) with RFC 5545 parsing, conflict detection, priority-to-urgency mapping (26 tests)
- StatsView component with Recharts (bar, line, pie charts)
- StreakCard component with milestone badges
- History page (/history) with stats, history search/filter, import/export
- Category picker in CreateTimerModal with auto urgency+cascade defaults
- Category filter chips on Dashboard + History link in header
- Installed recharts dependency
- Updated roadmap.md Phase 2 Week 4-5 with completion status
- 302 tests passing (up from 82 in Phase 1)
|
2026-02-27 21:59:09 -08:00 |
|
saravanakumardb1
|
e6b97fcbf0
|
feat(deploy): Phase 1 polish — analytics, install prompt, a11y, PWA icons
|
2026-02-27 21:57:43 -08:00 |
|
saravanakumardb1
|
8fe5e8e787
|
feat(web): add routine engine, NL parser, and context messages
- Routine engine: data model, state machine (start/pause/resume/complete/skip/cancel),
4 built-in templates (Morning, Workout, Cooking, Wind-Down), template instantiation
- NL parser: regex-based parsing for relative times, absolute times, durations,
pomodoro, urgency detection, label extraction (no LLM dependency)
- Context messages: keyword→message rules for 20+ categories (meetings, flights,
cooking, health, etc.), warning message formatting
- 105 unit tests (45 routines + 37 NL parser + 23 context messages)
|
2026-02-27 21:42:29 -08:00 |
|
saravanakumardb1
|
a1120a56e8
|
feat: add in-app toast system with notification fallback for denied permissions
|
2026-02-27 21:21:46 -08:00 |
|
saravanakumardb1
|
cae442d099
|
test: add time-blindness and urgency tests (82 total passing)
|
2026-02-27 21:16:49 -08:00 |
|
saravanakumardb1
|
755d030c7a
|
test: add 13 Zustand store tests (66 total passing)
|
2026-02-27 21:15:30 -08:00 |
|
saravanakumardb1
|
cad95be62a
|
feat: add Zod schemas, settings page with sound preview, notification controls
|
2026-02-27 21:09:33 -08:00 |
|
saravanakumardb1
|
d2b5563414
|
feat: add time blindness aids, feedback button, tab title flash, system theme detection
|
2026-02-27 21:08:22 -08:00 |
|
saravanakumardb1
|
b39652accf
|
feat: add Web Audio sound system with urgency-mapped tones and notification integration
|
2026-02-27 21:06:25 -08:00 |
|
saravanakumardb1
|
2a4d66faa9
|
feat: add dark/light theme toggle with localStorage persistence
|
2026-02-27 21:01:33 -08:00 |
|
saravanakumardb1
|
ace036b1fc
|
feat: add PWA manifest, landing page, privacy/terms pages, format tests (53 tests)
|
2026-02-27 21:00:34 -08:00 |
|
saravanakumardb1
|
6b46384304
|
feat: add PomodoroView, CountdownRing, QuickTimerBar, keyboard shortcuts
|
2026-02-27 20:58:06 -08:00 |
|
saravanakumardb1
|
da4f3b5419
|
feat: add Zustand store, dashboard UI, timer cards, create modal, alarm overlay
|
2026-02-27 20:55:40 -08:00 |
|
saravanakumardb1
|
6ac54d76fd
|
feat: add timer engine, cascade system, urgency system with 40 passing tests
|
2026-02-27 20:50:36 -08:00 |
|