Files
Rajiv SahalandGitHub 957d19740e feat: CalendarView atom v2 (#24896)
* refactor: make individual component for generic and event type specific calendar views

* fixup

* update examples app

* fix: show busy times from calendars in week view

* fix: use calendar busy times not working

* chore: add changesets

* fixup

* chore: implement PR feedback

* fix: merge conflicts

* chore: implement PR feedback

* fixup

* chore: implement PR feedback
2025-12-02 21:44:30 +05:30

42 lines
1.2 KiB
TypeScript

import { BookerStoreProvider } from "@calcom/features/bookings/Booker/BookerStoreProvider";
import { CalendarViewComponent } from "../CalendarViewComponent";
import { EventTypeCalendarViewComponent } from "../EventTypeCalendarViewComponent";
export type CalendarViewPlatformWrapperAtomPropsForIndividual = {
username: string | string[];
eventSlug: string;
};
export type CalendarViewPlatformWrapperAtomPropsForTeam = {
teamId: number;
eventSlug: string;
};
type EventTypeCalendarViewProps = { isEventTypeView: true } & (
| (CalendarViewPlatformWrapperAtomPropsForIndividual & { teamId?: number })
| (CalendarViewPlatformWrapperAtomPropsForTeam & { username?: string | string[] })
);
type CalendarViewComponentProps = {
isEventTypeView?: false;
};
type CalendarViewProps = EventTypeCalendarViewProps | CalendarViewComponentProps;
const CalendarViewPlatformWrapperComponent = (props: CalendarViewProps) => {
if (!props.isEventTypeView) {
return <CalendarViewComponent />;
}
return <EventTypeCalendarViewComponent {...props} />;
};
export const CalendarViewPlatformWrapper = (props: CalendarViewProps) => {
return (
<BookerStoreProvider>
<CalendarViewPlatformWrapperComponent {...props} />
</BookerStoreProvider>
);
};