From eeb73c8a172fcb4e891d08cfe02a6429b999f96d Mon Sep 17 00:00:00 2001 From: Rishi Date: Thu, 23 Nov 2023 17:20:54 +0100 Subject: [PATCH] use google meet or zoom as default --- .../steps-views/ConnectedVideoStep.tsx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/apps/web/components/getting-started/steps-views/ConnectedVideoStep.tsx b/apps/web/components/getting-started/steps-views/ConnectedVideoStep.tsx index cb229e597..a29abf848 100644 --- a/apps/web/components/getting-started/steps-views/ConnectedVideoStep.tsx +++ b/apps/web/components/getting-started/steps-views/ConnectedVideoStep.tsx @@ -1,3 +1,5 @@ +import { useEffect, useState } from "react"; + import classNames from "@calcom/lib/classNames"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; @@ -12,6 +14,7 @@ interface ConnectedAppStepProps { } const ConnectedVideoStep = (props: ConnectedAppStepProps) => { + const [hasDefaultConferenceApp, setHasDefaultConferenceApp] = useState(false); const { nextStep } = props; const { data: queryConnectedVideoApps, isLoading } = trpc.viewer.integrations.useQuery({ variant: "conferencing", @@ -23,9 +26,29 @@ const ConnectedVideoStep = (props: ConnectedAppStepProps) => { const hasAnyInstalledVideoApps = queryConnectedVideoApps?.items.some( (item) => item.userCredentialIds.length > 0 ); + const defaultConferencingApp = trpc.viewer.getUsersDefaultConferencingApp.useQuery(); + const updateDefaultAppMutation = trpc.viewer.updateUserDefaultConferencingApp.useMutation(); const showConferencingApps = ["google-meet", "zoom"]; + const setDefaultConferenceApp = () => { + queryConnectedVideoApps?.items?.map((item: any) => { + if (showConferencingApps.includes(item.slug) && item?.isInstalled) { + updateDefaultAppMutation.mutate({ + appSlug: item.slug, + }); + + setHasDefaultConferenceApp(true); + } + }); + }; + + useEffect(() => { + if (!hasDefaultConferenceApp) { + setDefaultConferenceApp(); + } + }, [defaultConferencingApp, showConferencingApps]); + return ( <> {!isLoading && (