Skip to content

feat(calendar): show notes on calendar with day dots and hover summary#667

Merged
h4yfans merged 2 commits into
mainfrom
notes-on-calendar-toggle
Jul 2, 2026
Merged

feat(calendar): show notes on calendar with day dots and hover summary#667
h4yfans merged 2 commits into
mainfrom
notes-on-calendar-toggle

Conversation

@h4yfans

@h4yfans h4yfans commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

What

Adds a Show notes on calendar setting (on by default) and surfaces notes across the calendar surfaces.

Setting + calendar chips

  • New showNotesOnCalendar calendar setting (Settings → Calendar), default on.
  • The range projection plots notes as all-day chips on the day each note was created — read-side only, no date is written to any note.
  • The calendar range refetches when calendar settings change.

Day dots

  • The Day Panel / journal-tab calendar shows a notes dot on days with notes, alongside the event and journal-activity dots.
  • Journal-activity and projection dots now render together instead of either/or.

Day-cell hover summary

  • Hovering a date opens a 200 ms summary card: counts of notes / journal / tasks / events / reminders, each color-coded. Only kinds present that day are listed.

Implementation notes

  • buildDaySummaries / buildDayDots roll up projection items per local day; journal is 0/1 from the heatmap level.
  • Reuses the existing Radix HoverCard and the common:count.* ICU plural keys.
  • calendar-handlers.ts added to the existing IPC-handlers max-lines eslint exemption (peer of notes-/settings-handlers, same Phase-2 split debt).

Tests

  • projection: notes plotted by created date, journals excluded, gated by the setting.
  • day-dots: event + note yield two distinct dots.
  • day-summary: counts, reminders fold, journal 0/1.
  • date-picker: activity + note dots coexist; hover wrapper does not swallow day clicks.
  • Green: renderer + main calendar/settings suites, typecheck, lint, i18n, docs build.

h4yfans added 2 commits July 2, 2026 20:32
Add a "show notes on calendar" setting (on by default) that plots notes on
the calendar by their created date via the range projection, without writing
any date to the note.

- surface a notes dot on the journal-tab day calendar alongside journal activity
- render calendar-projection dots and journal-activity dots together (no longer either/or)
- add a 200ms hover summary on day cells: notes / journal / tasks / events / reminders
- refetch the calendar range when calendar settings change
@github-actions github-actions Bot added documentation Improvements or additions to documentation enhancement New feature or request test labels Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

React Doctor found no issues. 🎉

Reviewed by React Doctor for commit 0833b88.

@h4yfans h4yfans marked this pull request as ready for review July 2, 2026 20:53
@h4yfans h4yfans merged commit b9a4aa1 into main Jul 2, 2026
14 of 15 checks passed
@h4yfans h4yfans deleted the notes-on-calendar-toggle branch July 2, 2026 23:01
h4yfans added a commit that referenced this pull request Jul 3, 2026
Desktop tests (Unit coverage step) had accumulated pre-existing failures
masked behind the CLI-test red (which skipped the desktop step):
- crdt-provider: add repairEmptyBlockIds to blocknote-converter mock (#679)
- date rendering (date-grouping, format-task-due, tab-preview-card,
  missing-small-components, component-major-surfaces): expect DD.MM.YYYY
  default from configurable date format (#671)
- general-section.i18n: tabCloseButton is selects[3] after the added
  dateFormat select (#671)
- settings-sections: editor/journal switch indices shift +1 after the
  calendar notes-on-calendar switch (#667)
- missing-small-components: add getI18n to react-i18next mock (fixes an
  unhandled rejection that failed the whole run)

E2E auth-state-machine: recovery-phrase words are semantic <li> after the
React Doctor a11y pass (#639) dropped explicit role=listitem; query by 'li'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant