From a2e40096a9654163d461b4fb2839ca2efa291230 Mon Sep 17 00:00:00 2001 From: Pallavi Das Date: Mon, 3 Jun 2024 23:01:32 -0700 Subject: [PATCH 1/2] u & p don't match + u alr exists --- frontend/src/pages/LoginPage.tsx | 30 +++++++++++++++++++++++++++--- frontend/src/pages/SignupPage.tsx | 25 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx index 94f8b88..6fd7a56 100644 --- a/frontend/src/pages/LoginPage.tsx +++ b/frontend/src/pages/LoginPage.tsx @@ -20,6 +20,9 @@ const LoginPage = ({ updateState }: { updateState: any }) => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); + const [errorMessage, setErrorMessage] = useState(""); + const [usernameError, setUsernameError] = useState(false); + const [passwordError, setPasswordError] = useState(false); const navigate = useNavigate(); const handleSubmit = async () => { @@ -40,11 +43,19 @@ const LoginPage = ({ updateState }: { updateState: any }) => { console.log("Login successful!"); navigate("/"); } else { - const err = await res.text(); - console.log("Login failed:", err); + setErrorMessage("Incorrect username or password"); + setUsernameError(true); + setPasswordError(true); + setUsername(""); + setPassword(""); } } catch (error) { console.error("Error during login:", error); + setErrorMessage("An error occurred during login. Please try again."); + setUsernameError(true); + setPasswordError(true); + setUsername(""); + setPassword(""); } } }; @@ -71,15 +82,24 @@ const LoginPage = ({ updateState }: { updateState: any }) => { Login + {errorMessage && ( + + {errorMessage} + + )} Username { setUsername(e.target.value); + setUsernameError(false); // Reset error on change }} + onFocus={() => setUsernameError(false)} // Reset error on focus + bg={usernameError ? "red.100" : "white"} // Change background color if there's an error /> @@ -87,11 +107,15 @@ const LoginPage = ({ updateState }: { updateState: any }) => { { setPassword(e.target.value); + setPasswordError(false); // Reset error on change }} + onFocus={() => setPasswordError(false)} // Reset error on focus + bg={passwordError ? "red.100" : "white"} // Change background color if there's an error />