"use client"; import type { OptInFeatureConfig } from "@calcom/features/feature-opt-in/config"; import type { ReactElement } from "react"; import { FeatureOptInBanner } from "./FeatureOptInBanner"; import type { FeatureOptInMutations } from "./FeatureOptInConfirmDialog"; import { FeatureOptInConfirmDialog } from "./FeatureOptInConfirmDialog"; type UserRoleContext = { isOrgAdmin: boolean; orgId: number | null; adminTeamIds: number[]; adminTeamNames: { id: number; name: string }[]; }; type FeatureOptInBannerState = { shouldShow: boolean; isLoading: boolean; featureConfig: OptInFeatureConfig | null; canOptIn: boolean; blockingReason: string | null; userRoleContext: UserRoleContext | null; isDialogOpen: boolean; openDialog: () => void; closeDialog: () => void; dismiss: () => void; markOptedIn: () => void; mutations: FeatureOptInMutations; }; interface FeatureOptInBannerWrapperProps { state: FeatureOptInBannerState; } function FeatureOptInBannerWrapper({ state }: FeatureOptInBannerWrapperProps): ReactElement | null { if (!state.featureConfig) { return null; } return ( <> {state.shouldShow && ( )} {state.userRoleContext && ( )} ); } export default FeatureOptInBannerWrapper;