"use client" import { useState } from "react" import { useRouter, useSearchParams } from "next/navigation" import Link from "next/link" import { Loader2 } from "lucide-react" import { toast } from "sonner" import { cn } from "@/lib/utils" import { signIn } from "@/lib/auth-client" import { Button } from "@/components/ui/button" import { Field, FieldDescription, FieldGroup, FieldLabel, FieldSeparator, } from "@/components/ui/field" import { Input } from "@/components/ui/input" type LoginFormProps = React.ComponentProps<"form"> & { callbackUrl?: string disabled?: boolean } export function LoginForm({ className, callbackUrl, disabled = false, ...props }: LoginFormProps) { const router = useRouter() const searchParams = useSearchParams() const [email, setEmail] = useState("") const [password, setPassword] = useState("") const [isSubmitting, setIsSubmitting] = useState(false) const destination = callbackUrl ?? searchParams?.get("callbackUrl") ?? "/dashboard" async function handleSubmit(event: React.FormEvent) { event.preventDefault() if (isSubmitting || disabled) return if (!email || !password) { toast.error("Informe e-mail e senha") return } setIsSubmitting(true) try { const result = await signIn.email({ email, password, callbackURL: destination }) if (result?.error) { toast.error("E-mail ou senha inválidos") setIsSubmitting(false) return } toast.success("Sessão iniciada com sucesso") router.replace(destination) } catch (error) { console.error("Erro ao autenticar", error) toast.error("Não foi possível entrar. Tente novamente") setIsSubmitting(false) } } return (

Acesse sua conta

Informe seu e-mail corporativo e senha para continuar atendendo os chamados.

E-mail setEmail(event.target.value)} disabled={isSubmitting || disabled} required />
Senha Esqueceu a senha?
setPassword(event.target.value)} disabled={isSubmitting || disabled} required />

Primeiro acesso?

Fale com o nosso suporte por telefone ou e-mail para receber um convite e definir sua senha inicial.
) }