Files
Paul LütznerandClaude Opus 5.5 7824821c0a feat(calendar): an event of a day or more is one bar, its hours shaded in the grid
A trip from Friday 17:00 to Sunday 21:00 was a block down each of its
three days, and pointing at one lifted that day alone: Saturday's,
titled at a midnight nobody had scrolled to, rose as a grey column with
nothing on it. The blocks also took a lane from every other meeting of
the weekend.

A timed event of 24 hours or more - the line Google and Outlook draw -
now leaves the hours for the all-day band, as one bar across the days
it covers ("17:00 Bodensee ... until Sun 21:00"), and the hours it takes
are shaded under each day's blocks, which stay full width on top of
them. The bar and every day's shading carry one key, and
span_link_controller lights all of them when the pointer is on any. An
overnight meeting under a day stays in the grid, and its two halves
light together too.

- DayGridLayout::band() lays the band out once over the range, in
  lanes; DayGrid::$shaded carries the hours. The shared page's builder
  lays out the same band, so its grid draws the same bars.
- The band draws bars across columns, so an all-day event over several
  days is one bar too, and every bar is tinted like a block in the grid:
  bare, a bar's start and end sat days apart with nothing between.
- A bar prints its times on the full clock. The band has no axis, so a
  compact "5:00" was two times on a twelve-hour clock.
- A stacked chip aligns its rows to the top. A half-hour meeting in a
  96px column shrank its rows below their text, and a centred title
  spilled up over the time above it.

calendar-multiday.spec.ts drives one through the dialog and hovers it
from both ends; DayGridLayoutTest pins the placement, the lanes and the
24-hour line from both sides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 15:30:30 +02:00
..