mirror of
https://github.com/hanzoai/calendar.git
synced 2026-10-30 14:46:43 +00:00
* 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
42 lines
1.2 KiB
TypeScript
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>
|
|
);
|
|
};
|