'use client'; import { useCallback } from 'react'; import type { z } from 'zod'; import { useSignInWithEmailPassword } from '@kit/supabase/hooks/use-sign-in-with-email-password'; import { useCaptchaToken } from '../captcha/client'; import type { PasswordSignInSchema } from '../schemas/password-sign-in.schema'; import { AuthErrorAlert } from './auth-error-alert'; import { PasswordSignInForm } from './password-sign-in-form'; export const PasswordSignInContainer: React.FC<{ onSignIn?: (userId?: string) => unknown; }> = ({ onSignIn }) => { const { captchaToken } = useCaptchaToken(); const signInMutation = useSignInWithEmailPassword(); const isLoading = signInMutation.isPending; const onSubmit = useCallback( async (credentials: z.infer) => { try { const data = await signInMutation.mutateAsync({ ...credentials, options: { captchaToken }, }); if (onSignIn) { const userId = data?.user?.id; onSignIn(userId); } } catch (e) { // wrong credentials, do nothing } }, [captchaToken, onSignIn, signInMutation], ); return ( <> ); };