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
/>
@@ -126,6 +146,7 @@ const SignupPage = ({
borderColor="#216869"
_hover={{ borderColor: "#49A078" }}
onChange={(e) => setLastName(e.target.value)}
+ value={lastName}
/>
@@ -136,6 +157,7 @@ const SignupPage = ({
borderColor="#216869"
_hover={{ borderColor: "#49A078" }}
onChange={(e) => setEmail(e.target.value)}
+ value={email}
/>
@@ -145,6 +167,9 @@ const SignupPage = ({
borderColor="#216869"
_hover={{ borderColor: "#49A078" }}
onChange={(e) => setUsername(e.target.value)}
+ onFocus={() => setUsernameError(false)} // Reset the background color on focus
+ value={username}
+ bg={usernameError ? "red.100" : "white"} // Change background color if there's an error
/>
@@ -155,6 +180,7 @@ const SignupPage = ({
borderColor="#216869"
_hover={{ borderColor: "#49A078" }}
onChange={(e) => setPassword(e.target.value)}
+ value={password}
/>