From d86e2161b079bbba7b7d78bffb5301dab6028a71 Mon Sep 17 00:00:00 2001 From: Maxim Fomin Date: Tue, 13 Aug 2024 00:50:04 +0300 Subject: [PATCH] fix: floating info about calendar events --- components/common/calendar/Calendar.tsx | 4 +--- components/common/calendar/CalendarEventPopover.tsx | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/components/common/calendar/Calendar.tsx b/components/common/calendar/Calendar.tsx index 4d54b405..80ea3a6b 100644 --- a/components/common/calendar/Calendar.tsx +++ b/components/common/calendar/Calendar.tsx @@ -241,9 +241,7 @@ function Calendar({ - setPopoverInfo((prev) => ({ ...prev, opened: !prev.opened })) - } + setIsOpen={() => setPopoverInfo((prev) => ({ ...prev }))} eventElement={popoverInfo.eventElement} /> )} diff --git a/components/common/calendar/CalendarEventPopover.tsx b/components/common/calendar/CalendarEventPopover.tsx index 74fe4840..3ea2c2a9 100644 --- a/components/common/calendar/CalendarEventPopover.tsx +++ b/components/common/calendar/CalendarEventPopover.tsx @@ -14,7 +14,7 @@ import { } from "@floating-ui/react"; import { EventApi } from "@fullcalendar/core"; import moment from "moment"; -import React from "react"; +import React, { useEffect } from "react"; export type ScheduleDialogProps = { event: EventApi; @@ -42,6 +42,9 @@ export default function CalendarEventPopover({ reference: eventElement, }, }); + useEffect(() => { + refs.setPositionReference(eventElement); + }, [eventElement, refs]); // Transition effect const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {