import useGlobalStore from '@/config/use-global'; import { zodResolver } from '@hookform/resolvers/zod'; import { Icon } from '@iconify/react'; import { Button } from '@workspace/ui/components/button'; import { Form, FormControl, FormField, FormItem, FormMessage } from '@workspace/ui/components/form'; import { Input } from '@workspace/ui/components/input'; import { useTranslations } from 'next-intl'; import { Dispatch, SetStateAction } from 'react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; import CloudFlareTurnstile from './turnstile'; export default function UserLoginForm({ loading, onSubmit, initialValues, setInitialValues, onSwitchForm, }: { loading?: boolean; onSubmit: (data: any) => void; initialValues: any; setInitialValues: Dispatch>; onSwitchForm: (type?: 'register' | 'reset') => void; }) { const t = useTranslations('auth.login'); const { common } = useGlobalStore(); const { verify } = common; const formSchema = z.object({ email: z.string(), password: z.string(), cf_token: verify.enable_login_verify && verify.turnstile_site_key ? z.string() : z.string().optional(), }); const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: initialValues, }); return ( <>
( )} /> ( )} /> {verify.enable_login_verify && ( ( )} /> )}
); }