Block events easy to interpret on the timeline so staff do not read “the second day starts at the same clock time as day one” when the intent is a single continuous PTO/block spanning overnight or across calendar dates.Block is created, day two can look like another block beginning at the same start time (e.g. 9 AM) as day one, instead of clearly reading as continuation of one span.Block bodies use CalendarEventBody with a times row that prints tzDayjs(event.datetime) and tzDayjs(event.endtime) only—no calendar dates in that snippet—so hovering or reading the pill on any horizontal segment shows the full original start and end clocks (e.g. “9:00 AM – 7:00 PM”) even when the bar visually crosses into the next calendar column. That can be misread as “this column’s block starts at 9 AM Tuesday and again at 9 AM Wednesday.”useEventPlacement calls eventPlacementFuncMemoized(finalEventData, dates[0], …)—one timeline anchor per row; CalendarEventWrapper positions with left: event.startHours * gridWidth and width: lengthHours * gridWidth for a single DOM pill. So if geometry truly restarts at morning time on column two for the same _id, that would be inconsistent with placement intent and warrants a geometry/payload defect investigation.AddEventModel multi-date mode creates one event per date with the same clock window each day—which is intentionally “9 AM-ish each day”; authors must not confuse that workflow with one spanning interval.attik-frontend/src/components/calendar/CalendarEventBody.tsx — times segment for Block (and any shared body): today h:mmA – h:mmA without dates or per-visible-day context.attik-frontend/src/components/calendar/CalendarEventWrapper.tsx — Block body config (title, times); hover expansion behavior overlapping multi-day spans.attik-frontend/src/components/calendar/CalendarRow.tsx / CalendarEventWrapper — confirm overflow / clipping does not visually suggest a second bar when one continuous bar crosses column boundaries.attik-frontend/src/components/calendar/eventPlacementFunc.tsx — calcHours, findNumbers, eventPlacementFunc; week boundaries vs multi-day lengthHours._id) are not returned for one user gesture (would explain two morning-aligned bars).times, or “Continues…” segment labels) vs segment multi-day renders._id in network response vs two rows for same PTO intent.Block date shift / timezone).attik-frontend/src/components/calendar/CalendarEventBody.tsxattik-frontend/src/components/calendar/CalendarEventWrapper.tsxattik-frontend/src/components/calendar/useEventPlacement.ts, eventPlacementFunc.tsxattik-frontend/src/app/tools/calendar/AddEventModel.tsxattik-backend/src/models/eventSchema.tsPlease authenticate to join the conversation.
Planned
Main App
16 days ago
Linear
Get notified by email when there are changes.
Planned
Main App
16 days ago
Linear
Get notified by email when there are changes.