# Task EP.1.6.1 Calendar Empty State Rendering Improvement - 2026-07-13 ## Scope Delivered - updated Calendar Day, Week, and Month views to always render calendar grid cells even when there are zero events - kept Agenda view list-oriented empty state behavior unchanged - added inline empty overlay for Day/Week/Month instead of replacing the calendar surface - added `+ Add Activity` entry point from empty calendar overlay using existing Activity workspace route - kept date/time rendering through `src/lib/date-format.ts` - preserved Calendar projection, Activity ownership, and Calendar adapter architecture ## Review Summary Reviewed before implementation: - `AGENTS.md` - `plans/task-ep.1.6.1.md` - `docs/implementation/task-ep1.6-calendar-projection-workspace-big-calendar-foundation-2026-07-13.md` - `docs/implementation/task-ep1.7-my-day-workspace-foundation-2026-07-13.md` - `src/features/crm/calendar/components/calendar-workspace.tsx` - Calendar API contracts under `src/features/crm/calendar/api/types.ts` ## Implementation Notes - Day view now renders 12 working-hour slots. - Week view now renders seven day cells. - Month view now renders a 42-cell month grid. - Empty Day/Week/Month views show a lightweight non-blocking overlay with Add Activity action. - Calendar cells remain rendered and selectable via button semantics. - Agenda retains `CalendarEmptyState` because a list view should show a list empty state. ## Verification - `npm run typecheck` - `npx oxlint src/features/crm/calendar/components/calendar-workspace.tsx` ## Outcome Empty graphical Calendar views now feel like available scheduling capacity rather than a missing screen.