# `PhoenixKitProjects.Web.ProjectCalendarLive`
[🔗](https://github.com/BeamLabEU/phoenix_kit_projects/blob/v0.21.2/lib/phoenix_kit_projects/web/project_calendar_live.ex#L1)

Calendar view of a project — the same scheduled data as the Timeline
(gantt) tab, rendered as all-day bars on a month grid via the standalone
`phoenix_live_calendar` component instead of bars on a date axis.

Read-only: it visualizes the project's top-level assignments at the exact
spans the shared `ScheduleLayout` walk computes (each task starts where the
previous one ends, honoring weekday/weekend rules), so this tab and the
Timeline tab can never disagree about which dates a task occupies. A
sub-project appears as one bar spanning its children's walk — drilling into
the child project shows its own calendar. Mutations still happen on the
vertical show page; the views share the project UUID.

Dates are the schedule's own UTC calendar dates — deliberately NOT shifted
to the viewer's timezone offset, matching the sibling Timeline tab (the
Overview dashboard calendar shifts, but there the bars anchor against the
viewer's "today"; here the two tabs of one page must agree).

Like `ProjectGanttLive`, this LV is embeddable via `live_render` (session:
`id`, plus the shared embed contract keys) and runs `headless` when nested
as a tab inside `ProjectShowLive`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
