fix(calendar): use full available calendar viewport height on desktop
This commit is contained in:
@@ -2310,6 +2310,10 @@ onBeforeUnmount(() => {
|
||||
clearInterval(lifecycleClock);
|
||||
lifecycleClock = null;
|
||||
}
|
||||
if (calendarViewportResizeObserver) {
|
||||
calendarViewportResizeObserver.disconnect();
|
||||
calendarViewportResizeObserver = null;
|
||||
}
|
||||
clearCalendarZoomPrime();
|
||||
});
|
||||
|
||||
@@ -2360,16 +2364,29 @@ type CalendarRect = { left: number; top: number; width: number; height: number }
|
||||
const calendarContentWrapRef = ref<HTMLElement | null>(null);
|
||||
const calendarContentScrollRef = ref<HTMLElement | null>(null);
|
||||
const calendarSceneRef = ref<HTMLElement | null>(null);
|
||||
const calendarViewportHeight = ref(0);
|
||||
const calendarHoveredMonthIndex = ref<number | null>(null);
|
||||
const calendarHoveredWeekStartKey = ref("");
|
||||
const calendarHoveredDayKey = ref("");
|
||||
let calendarViewportResizeObserver: ResizeObserver | null = null;
|
||||
|
||||
function setCalendarContentWrapRef(element: HTMLElement | null) {
|
||||
calendarContentWrapRef.value = element;
|
||||
}
|
||||
|
||||
function setCalendarContentScrollRef(element: HTMLElement | null) {
|
||||
if (calendarViewportResizeObserver) {
|
||||
calendarViewportResizeObserver.disconnect();
|
||||
calendarViewportResizeObserver = null;
|
||||
}
|
||||
calendarContentScrollRef.value = element;
|
||||
if (element && typeof ResizeObserver !== "undefined") {
|
||||
calendarViewportResizeObserver = new ResizeObserver(() => {
|
||||
calendarViewportHeight.value = Math.max(0, Math.round(element.clientHeight));
|
||||
});
|
||||
calendarViewportResizeObserver.observe(element);
|
||||
calendarViewportHeight.value = Math.max(0, Math.round(element.clientHeight));
|
||||
}
|
||||
}
|
||||
|
||||
function setCalendarSceneRef(element: HTMLElement | null) {
|
||||
@@ -4765,6 +4782,7 @@ async function decideFeedCard(card: FeedCard, decision: "accepted" | "rejected")
|
||||
:set-calendar-content-scroll-ref="setCalendarContentScrollRef"
|
||||
:on-calendar-hierarchy-wheel="onCalendarHierarchyWheel"
|
||||
:set-calendar-scene-ref="setCalendarSceneRef"
|
||||
:calendar-viewport-height="calendarViewportHeight"
|
||||
:normalized-calendar-view="normalizedCalendarView"
|
||||
:calendar-scene-transform-style="calendarSceneTransformStyle"
|
||||
:on-calendar-scene-mouse-leave="onCalendarSceneMouseLeave"
|
||||
|
||||
Reference in New Issue
Block a user