From ac19919c51a72a64983180017348afab60d96c12 Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Thu, 22 Feb 2024 06:17:53 +0000 Subject: [PATCH 1/4] Login: Invalid Username / Password Prompts User --- frontend-next/src/app/login/page.js | 44 +++++++++++++++-------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/frontend-next/src/app/login/page.js b/frontend-next/src/app/login/page.js index c3026a3..1da6391 100644 --- a/frontend-next/src/app/login/page.js +++ b/frontend-next/src/app/login/page.js @@ -1,21 +1,12 @@ "use client"; -import { useForm } from "react-hook-form"; +import { useForm, Form } from "react-hook-form"; import { useRouter } from "next/navigation"; import "../globals.css" function Login() { var router = useRouter(); - var { register, handleSubmit } = useForm(); - async function Login(data) { - const res = await fetch("/api/login", { - method: "POST", - body: JSON.stringify(data ? data : {}), - }); - - if (res.ok) { - router.push("/app"); - } - } + //var { register, handleSubmit } = useForm(); + const { register, control, setError, formState: { errors } } = useForm() return (
@@ -25,15 +16,26 @@ function Login() { Chat with friends! -
-

Login

-
-
-
-
- Don't have an account? Sign Up -
+
+

Login

+ {(errors.email && errors.password) &&
Invalid Email or Password.
} +
{ + router.push("/app"); + }} + onError={() => { + const formError = { type: "server", message: "Username or Password Incorrect" } + // set same error in both: + setError('password', formError) + setError('email', formError) + }} + control={control} + > +
+
+ +
Need an account? Sign Up
+
From 5e8a5c89b31e046d9152560bb6d5bdc3547db721 Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Thu, 22 Feb 2024 18:18:59 +0000 Subject: [PATCH 2/4] Add red border on error to login --- frontend-next/src/app/globals.css | 6 ++++++ frontend-next/src/app/login/page.js | 7 +++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend-next/src/app/globals.css b/frontend-next/src/app/globals.css index 1679e2d..308cb63 100644 --- a/frontend-next/src/app/globals.css +++ b/frontend-next/src/app/globals.css @@ -29,3 +29,9 @@ input { margin: 5px; } +input.err { + border: 2px solid red; + border-radius: 4px; + padding: 10px 10px; + margin: 5px; +} diff --git a/frontend-next/src/app/login/page.js b/frontend-next/src/app/login/page.js index 1da6391..e46e67e 100644 --- a/frontend-next/src/app/login/page.js +++ b/frontend-next/src/app/login/page.js @@ -6,8 +6,7 @@ import "../globals.css" function Login() { var router = useRouter(); //var { register, handleSubmit } = useForm(); - const { register, control, setError, formState: { errors } } = useForm() - + var { register, control, setError, formState: { errors } } = useForm() return (
@@ -31,8 +30,8 @@ function Login() { }} control={control} > -
-
+
+

Need an account? Sign Up
From 5ca9c4222c3b77de4cf039282a9cb0c32ef7504d Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Thu, 22 Feb 2024 18:22:55 +0000 Subject: [PATCH 3/4] Slight CSS changes to keep login page from scrolling --- frontend-next/src/app/login/page.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend-next/src/app/login/page.js b/frontend-next/src/app/login/page.js index e46e67e..9323aca 100644 --- a/frontend-next/src/app/login/page.js +++ b/frontend-next/src/app/login/page.js @@ -15,9 +15,9 @@ function Login() { Chat with friends! -
-

Login

- {(errors.email && errors.password) &&
Invalid Email or Password.
} +
+

Login

+ {(errors.email && errors.password) &&
Invalid Email or Password.
}
{ router.push("/app"); From 43e9045b0af11228d43d936f67b4ff767b508b74 Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Thu, 22 Feb 2024 18:24:25 +0000 Subject: [PATCH 4/4] Final CSS Changes --- frontend-next/src/app/login/page.js | 2 +- frontend-next/src/app/register/page.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend-next/src/app/login/page.js b/frontend-next/src/app/login/page.js index 9323aca..662b559 100644 --- a/frontend-next/src/app/login/page.js +++ b/frontend-next/src/app/login/page.js @@ -11,7 +11,7 @@ function Login() {
- + Chat with friends! diff --git a/frontend-next/src/app/register/page.js b/frontend-next/src/app/register/page.js index a2aa40b..f70bce3 100644 --- a/frontend-next/src/app/register/page.js +++ b/frontend-next/src/app/register/page.js @@ -21,12 +21,12 @@ function Register() {
- + Chat with friends! -
-

Register

+
+

Register