feat: calendar diary view #15

Closed
opened 2026-07-10 20:07:13 +00:00 by GKaszewski · 1 comment
Owner

The diary is a scrollable list grouped by month. A calendar grid showing which days you watched movies (with poster thumbnails or dots) is more visual and immediately communicates viewing patterns.\n\nScope:\n- Monthly calendar grid where each day cell shows poster thumbnail(s) if a movie was watched\n- Click a day to see that day's entries\n- Navigate between months\n- Color intensity or dot count to show how many movies on a given day\n- Works alongside the existing list view (tab or toggle)\n\nImplementation considerations:\n- Frontend-only change — the diary API already returns watched_at dates\n- Could use a simple CSS grid (7 columns for days of week)\n- Each cell queries the already-fetched infinite diary data\n- Mobile: compact view with dots/counts; desktop: mini poster thumbnails\n- No new backend endpoints needed — reuse useInfiniteDiary

The diary is a scrollable list grouped by month. A calendar grid showing which days you watched movies (with poster thumbnails or dots) is more visual and immediately communicates viewing patterns.\n\n**Scope:**\n- Monthly calendar grid where each day cell shows poster thumbnail(s) if a movie was watched\n- Click a day to see that day's entries\n- Navigate between months\n- Color intensity or dot count to show how many movies on a given day\n- Works alongside the existing list view (tab or toggle)\n\n**Implementation considerations:**\n- Frontend-only change — the diary API already returns `watched_at` dates\n- Could use a simple CSS grid (7 columns for days of week)\n- Each cell queries the already-fetched infinite diary data\n- Mobile: compact view with dots/counts; desktop: mini poster thumbnails\n- No new backend endpoints needed — reuse `useInfiniteDiary`
GKaszewski added the featurespaux labels 2026-07-10 20:17:46 +00:00
Author
Owner

Implemented as a dumb DiaryCalendar component with a custom 7-column CSS grid (not shadcn Calendar — that fought the layout). Shows poster thumbnails on days with watches, count badges for multiple movies. Single movie → opens review detail sheet, multiple → opens a DayDrawer picker. Added as a "Calendar" tab on the profile page between Top Rated and Stats.

Implemented as a dumb `DiaryCalendar` component with a custom 7-column CSS grid (not shadcn Calendar — that fought the layout). Shows poster thumbnails on days with watches, count badges for multiple movies. Single movie → opens review detail sheet, multiple → opens a DayDrawer picker. Added as a "Calendar" tab on the profile page between Top Rated and Stats.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GKaszewski/movies-diary#15