import { signIn } from "next-auth/react"; import { Dispatch, SetStateAction } from "react"; import { useFormContext } from "react-hook-form"; import z from "zod"; import { HOSTED_CAL_FEATURES } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import { trpc } from "@calcom/trpc/react"; import { Button, Icon } from "@calcom/ui"; interface Props { samlTenantID: string; samlProductID: string; setErrorMessage: Dispatch>; } const schema = z.object({ email: z.string().email({ message: "Please enter a valid email" }), }); export function SAMLLogin({ samlTenantID, samlProductID, setErrorMessage }: Props) { const { t } = useLocale(); const methods = useFormContext(); const telemetry = useTelemetry(); const mutation = trpc.viewer.public.samlTenantProduct.useMutation({ onSuccess: async (data) => { await signIn("saml", {}, { tenant: data.tenant, product: data.product }); }, onError: (err) => { setErrorMessage(t(err.message)); }, }); return ( ); }