Skip to content

Add Review mode calendar retrospective - #5

Merged
etherops merged 1 commit into
mainfrom
feat/review-mode
Aug 16, 2026
Merged

Add Review mode calendar retrospective#5
etherops merged 1 commit into
mainfrom
feat/review-mode

Conversation

@etherops

Copy link
Copy Markdown
Owner

Adds Review, a fourth view mode: a read-only retrospective answering "what actually happened" — the counterpart to Focus's "what do I do now".

What it shows

  • Year chart (header) — a clickable Jan–Dec stacked bar chart of completed / will-not-do / still-open work. Clicking a bar moves the calendar to that month.
  • Month calendar — the anchor month padded to whole Sunday–Saturday weeks, each day showing a stacked meter and count chips. Padding days render their work but are excluded from every total.
  • Stats row — completed, will not do, still open, completion rate, overdue, best day.
  • Rail — an 8-week throughput sparkline, a ranking of which sections work landed in, and a pane that shows the selected day's detail, or the whole month's completions when no day is picked (grouped by canonical week label, then by day).

Model

deriveReviewModel places each task by its authoritative date: the completion marker for terminal tasks, the due period for anything still open. Week and month due periods have no honest single-day slot, so they count toward the totals without being dropped onto a day; the year bars, bucketing by month, absorb them into their owning month (a week goes to the month holding four of its days). Tasks with no date are collected rather than discarded, and "overdue" means past due and still open as of today, independent of the month on screen.

One anchor drives both the calendar and the chart, so entering a month pulls the chart to its year and changing year carries the calendar to the same month of that year.

Also

  • Removes the close button from Focus and Review — the view-mode buttons are the only way in and out.

Verification

  • 31 new unit tests in tests/unit/utils/reviewModeHelpers.test.js; full suite 109/109 passing.
  • Production build clean.
  • Exercised live against a real todo file: bar-click navigation, year/month steppers, day selection, and layout geometry (chart, stats row, and calendar share one left edge; rail cards hold position when a day opens or closes).

🤖 Generated with Claude Code

@etherops
etherops merged commit 89b5746 into main Aug 16, 2026
2 of 3 checks passed
@etherops
etherops deleted the feat/review-mode branch August 16, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant