From 0cdfe6c27adc6f44ea348ce0ee3f61c45a0a3608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Vicente=20Campanher?= Date: Tue, 6 Aug 2024 16:59:01 -0300 Subject: [PATCH] feedback para user --- src/app/api/register/route.ts | 10 +++++++++- src/app/login/page.tsx | 3 +++ src/app/register/page.tsx | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/app/api/register/route.ts b/src/app/api/register/route.ts index 3e114f1..5fe15e5 100644 --- a/src/app/api/register/route.ts +++ b/src/app/api/register/route.ts @@ -6,7 +6,15 @@ export async function POST(request: NextRequest, response: NextResponse) { try { const data = await request.json(); const encryptedPassword = await bcrypt.hash(data.password, 1); - const user = await prisma.user.create({ + const existingUser = await prisma.user.findUnique({ + where: { email: data.email }, + }); + + if (existingUser) { + return NextResponse.json({ error: "Usuário já existe" }, { status: 400 }); + } + + await prisma.user.create({ data: { email: data.email, name: data.name, diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 50163d2..000c322 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -5,6 +5,7 @@ import TextInput from "@/components/TextInput"; import APICaller from "@/utils/APICaller"; import { useRouter } from "next/navigation"; import { useState } from "react"; +import toast from "react-hot-toast"; export default function Login() { const [email, setEmail] = useState(""); @@ -22,6 +23,8 @@ export default function Login() { if (response.success) { localStorage.setItem("token", response.token); router.push("/"); + } else { + toast.error("Usuário ou senha inválidos"); } } catch (error) { console.error("Erro ao fazer login:", error); diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx index 770997b..1882813 100644 --- a/src/app/register/page.tsx +++ b/src/app/register/page.tsx @@ -26,6 +26,7 @@ export default function Register() { toast.success("Registrado com sucesso!"); router.replace("/login"); } + response.error && toast.error(response.error); } catch (error) { toast.error("Erro ao registrar!"); console.error("Error ao registrar:", error);