import { QueryClientProvider, QueryClient } from "@tanstack/react-query"; import { useState, useEffect } from "react"; import Shell from "@calcom/features/shell/Shell"; import { showToast } from "@calcom/ui"; import { useOAuthClients, useGetOAuthClientManagedUsers, } from "@lib/hooks/settings/platform/oauth-clients/useOAuthClients"; import { useDeleteOAuthClient } from "@lib/hooks/settings/platform/oauth-clients/usePersistOAuthClient"; import PageWrapper from "@components/PageWrapper"; import { HelpCards } from "@components/settings/platform/dashboard/HelpCards"; import NoPlatformPlan from "@components/settings/platform/dashboard/NoPlatformPlan"; import { ManagedUserList } from "@components/settings/platform/dashboard/managed-user-list"; import { OAuthClientsList } from "@components/settings/platform/dashboard/oauth-clients-list"; import { useGetUserAttributes } from "@components/settings/platform/hooks/useGetUserAttributes"; import { PlatformPricing } from "@components/settings/platform/pricing/platform-pricing"; const queryClient = new QueryClient(); export default function Platform() { const [initialClientId, setInitialClientId] = useState(""); const [initialClientName, setInitialClientName] = useState(""); const { data, isLoading: isOAuthClientLoading, refetch: refetchClients } = useOAuthClients(); const { isLoading: isManagedUserLoading, data: managedUserData, refetch: refetchManagedUsers, } = useGetOAuthClientManagedUsers(initialClientId); const { isUserLoading, isUserBillingDataLoading, isPlatformUser, isPaidUser, userBillingData, userOrgId } = useGetUserAttributes(); const { mutateAsync, isPending: isDeleting } = useDeleteOAuthClient({ onSuccess: () => { showToast("OAuth client deleted successfully", "success"); refetchClients(); refetchManagedUsers(); }, }); const handleDelete = async (id: string) => { await mutateAsync({ id: id }); }; useEffect(() => { setInitialClientId(data[0]?.id); setInitialClientName(data[0]?.name); }, [data]); if (isUserLoading || isOAuthClientLoading) return