'use client'; import Image from 'next/image'; import { cn } from '@/lib/utils'; import { Card, CardContent } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import z from 'zod'; import { zodResolver } from '@hookform/resolvers/zod'; import { UserLoginService } from '@/packages/administrativo/services/User/UserLoginService'; import { useForm } from 'react-hook-form'; import { useState } from 'react'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '../../../../components/ui/form'; import LoadingButton from '@/shared/components/loadingButton/LoadingButton'; import { Button } from '../../../../components/ui/button'; import { UserLoginSchema } from '@/packages/administrativo/schemas/User/UserLoginSchema'; type FormValues = z.infer; export function LoginForm({ className, ...props }: React.ComponentProps<'div'>) { const [loading, setLoading] = useState(false); const form = useForm({ resolver: zodResolver(UserLoginSchema), defaultValues: { email: '', password: '', }, }); // onSubmit agora recebe o evento do form através do handleSubmit const onSubmit = async (values: FormValues) => { // Ativa o estado de loading do botão setLoading(true); // Realiza o login await UserLoginService(values); // Removo o estado de loading do botão setLoading(false); }; return (

Bem vindo de volta!

Entre na sua conta Orius Tecnologia.

( Login )} /> ( Senha )} /> {/* Botão de loading */}
Ou entre em contato
Logo
Ao clicar você concorda com Nossos termos de serviços e{' '} Políticas de Privacidade .
); }