import classNames from "@calcom/lib/classNames"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { userMetadata } from "@calcom/prisma/zod-utils"; import { trpc } from "@calcom/trpc/react"; import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery"; import { Icon, List } from "@calcom/ui"; import { AppConnectionItem } from "../components/AppConnectionItem"; import { StepConnectionLoader } from "../components/StepConnectionLoader"; interface ConnectedAppStepProps { nextStep: () => void; } const ConnectedVideoStep = (props: ConnectedAppStepProps) => { const { nextStep } = props; const { data: queryConnectedVideoApps, isPending } = trpc.viewer.integrations.useQuery({ variant: "conferencing", onlyInstalled: false, sortByMostPopular: true, }); const { data } = useMeQuery(); const { t } = useLocale(); const metadata = userMetadata.parse(data?.metadata); const hasAnyInstalledVideoApps = queryConnectedVideoApps?.items.some( (item) => item.userCredentialIds.length > 0 ); const defaultConferencingApp = metadata?.defaultConferencingApp?.appSlug; return ( <> {!isPending && ( {queryConnectedVideoApps?.items && queryConnectedVideoApps?.items.map((item) => { if (item.slug === "daily-video") return null; // we dont want to show daily here as it is installed by default return (
  • {item.name && item.logo && ( 0} defaultInstall={ !defaultConferencingApp && item.appData?.location?.linkType === "dynamic" } /> )}
  • ); })}
    )} {isPending && } ); }; export { ConnectedVideoStep };