Calendar
Calendar shows scheduled task events in a full-featured calendar interface. It supports three view modes (month, week, and agenda), rich filtering, keyboard navigation, and direct task preview without leaving the calendar.

Accessing the Page
Section titled “Accessing the Page”Open Projects from the sidebar and select Calendar.
View Modes
Section titled “View Modes”Use the view selector in the toolbar to switch between three modes:
| Mode | Layout |
|---|---|
| Month | Full month grid with event pills per day. On desktop, a day agenda panel appears to the right of the grid. On mobile, tapping a day opens a bottom sheet with that day’s events. |
| Week | Seven-column grid showing the current week, one column per day, with event pills per day. |
| Agenda | Flat chronological list grouped by day. Only days that have events are shown. |
Navigation
Section titled “Navigation”| Control | Action |
|---|---|
| Left arrow button | Move to the previous month (month view) or previous week (week view) |
| Right arrow button | Move to the next month (month view) or next week (week view) |
| Today button | Jump to today and re-center the calendar |
Data Range
Section titled “Data Range”The calendar fetches events for the currently visible period. In month view, it fetches the entire displayed month. In week view, it fetches the current 7-day window. In agenda view, the full month is fetched.
Scope Filter
Section titled “Scope Filter”A scope selector controls whose tasks are shown:
| Scope | Effect |
|---|---|
| My calendar (default) | Shows only tasks assigned to the current user |
| All assignees | Shows tasks for all users |
| One assignee | Shows tasks for a specific user selected in the Assignee field |
Available Filters
Section titled “Available Filters”| Filter | Type |
|---|---|
| Search | Full-text search (debounced) |
| Scope | My calendar / All assignees / One assignee |
| Project | Single project selector |
| Assignee | Single user picker (only shown when scope is “One assignee”) |
| Status | Multi-select: Backlog, To Do, In Progress, Review, Done, Cancelled |
| Priority | Multi-select: Low, Medium, High, Urgent |
| Tags | Multi-select tag filter |
On desktop, all filters appear in the toolbar card above the calendar. On mobile, filters open in a bottom sheet triggered by the filter icon.
A Reset button appears in the filter bar when any filter or scope differs from the default. Clicking it restores My calendar scope and clears all filters.
What Each Event Shows
Section titled “What Each Event Shows”Events appear as colored pills on the calendar grid. Each pill or agenda row shows:
- Task title
- Status badge
- Priority badge
- Project name (when available)
Clicking an event opens the task in the configured open mode (slide-over or full page).
Mobile Month View
Section titled “Mobile Month View”On mobile, the month grid shows up to 3 event chips per day cell. When more events exist on a day, an overflow count (e.g. +2) appears below the chips. Tapping a day opens a bottom sheet listing all events for that day.
Creating a Task from Calendar
Section titled “Creating a Task from Calendar”- Click + New Task in the page header.
- Or press c anywhere on the Calendar page to open the Create Task dialog (keyboard shortcut is disabled when a dialog, preview, or filter sheet is already open, or when a day sheet is open on mobile).
Empty and Error States
Section titled “Empty and Error States”| State | Behavior |
|---|---|
| No events in the visible period | Empty state message (shown in agenda view; month/week grids remain visible but cells are empty) |
| API error | Error state message with retry option |
| Loading | Loading skeleton while the request is in progress |
Permissions
Section titled “Permissions”- Viewing the Calendar requires access to the Projects module.
- Creating tasks from Calendar requires
canWriteTaskspermission. - Tasks from projects in terminal status can be viewed but not edited.