feat:overlay-calendar (#20610)

This commit is contained in:
Tushar Bhatt
2025-04-10 11:53:02 +00:00
committed by GitHub
parent 3719bb3762
commit eb19edfa8f
2 changed files with 15 additions and 2 deletions
@@ -1,3 +1,5 @@
import { useEffect } from "react";
import { useIsPlatform } from "@calcom/atoms/hooks/useIsPlatform";
import type { UseCalendarsReturnType } from "../hooks/useCalendars";
@@ -41,9 +43,16 @@ export const OverlayCalendar = ({
checkIsCalendarToggled,
} = useOverlayCalendar({ connectedCalendars, overlayBusyDates, onToggleCalendar });
// Adding to avoid flickering of continue modal due to stale state
useEffect(() => {
if (isOverlayCalendarEnabled) {
handleCloseContinueModal(false);
}
}, [isOverlayCalendarEnabled, handleCloseContinueModal]);
// on platform we don't handle connecting to third party calendar via booker yet
if (isPlatform && connectedCalendars?.length === 0) {
return <></>;
return null;
}
return (
@@ -55,7 +64,7 @@ export const OverlayCalendar = ({
/>
{!isPlatform && (
<OverlayCalendarContinueModal
open={isOpenOverlayContinueModal}
open={isOpenOverlayContinueModal && !isOverlayCalendarEnabled}
onClose={handleCloseContinueModal}
onContinue={handleClickContinue}
/>
@@ -209,6 +209,10 @@ export const BookerWebWrapper = (props: BookerWebWrapperAtomProps) => {
)
);
useEffect(() => {
if (hasSession) onOverlaySwitchStateChange(true);
}, [hasSession]);
return (
<BookerComponent
{...props}