login funcionando

This commit is contained in:
2026-05-03 10:54:48 -05:00
parent ed179f498a
commit 404e2d457b
2 changed files with 25 additions and 4 deletions

View File

@@ -34,7 +34,7 @@
</h2>
</div>
<Form :validation-schema="schema" @submit="criarConta" class="grid gap-5">
<Form :validation-schema="schema" @submit="entrarConta" class="grid gap-5">
<div class="grid gap-2">
<label class="m-0 text-xs font-semibold uppercase leading-[1.4] tracking-[0.96px] text-[#777169]"
for="email">
@@ -86,9 +86,30 @@
const schema = toTypedSchema(
z.object({
email: z.preprocess(toStr, z.string().min(1, 'Email é obrigatório').email('Email inválido')),
password: z.preprocess(toStr, z.string().min(8, 'A senha deve ter no mínimo 8 caracteres')),
password: z.preprocess(toStr, z.string().min(1, 'A senha é obrigatória')),
}),
)
async function entrarConta({ email, password }) {
isLoading.value = true
try {
const res = await fetch('/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password }),
})
if (!res.ok) {
const data = await res.json().catch(() => ({}))
$toast.error(data.message ?? 'Erro para efetuar o login. Tente novamente.')
return
}
$toast.success('Login realizado com sucesso!')
} catch {
$toast.error('Erro para efetuar o login. Tente novamente.')
} finally {
isLoading.value = false
}
}
</script>