From 547871c6e2ae6016a4336c2cb898e44173895d75 Mon Sep 17 00:00:00 2001 From: Wethmi Ranasinghe Date: Sat, 7 Sep 2024 00:53:09 +0530 Subject: [PATCH] Registration form Updated --- front-end/src/App.jsx | 2 + front-end/src/Pages/Login.jsx | 98 +++++++------- front-end/src/Pages/Login.module.css | 92 +++++++------ front-end/src/Pages/Registration.jsx | 109 ++++++++++++++++ front-end/src/assets/X.png | Bin 0 -> 22762 bytes front-end/src/assets/XLogo.png | Bin 0 -> 22762 bytes front-end/src/assets/YouTube-logo.png | Bin 0 -> 19227 bytes front-end/src/components/Footer.jsx | 6 +- front-end/src/components/Footer.module.css | 17 +++ front-end/src/components/Header.css | 6 +- .../src/components/Registration.module.css | 121 ++++++++++++++++++ 11 files changed, 359 insertions(+), 92 deletions(-) create mode 100644 front-end/src/Pages/Registration.jsx create mode 100644 front-end/src/assets/X.png create mode 100644 front-end/src/assets/XLogo.png create mode 100644 front-end/src/assets/YouTube-logo.png create mode 100644 front-end/src/components/Registration.module.css diff --git a/front-end/src/App.jsx b/front-end/src/App.jsx index 885ee236..402215ad 100644 --- a/front-end/src/App.jsx +++ b/front-end/src/App.jsx @@ -12,6 +12,7 @@ import './components/Gallery.css' import Login from './Pages/Login'; +import Registration from './Pages/Registration'; import Home from './Pages/Home'; import Team from './Pages/Team'; import News from './Pages/News'; @@ -39,6 +40,7 @@ function App() { } /> + } /> } /> }> }/> diff --git a/front-end/src/Pages/Login.jsx b/front-end/src/Pages/Login.jsx index 2178180e..ef5000e4 100644 --- a/front-end/src/Pages/Login.jsx +++ b/front-end/src/Pages/Login.jsx @@ -1,13 +1,13 @@ import React, { useState } from "react"; -import { useLocation, useNavigate } from 'react-router-dom'; +import { useNavigate } from 'react-router-dom'; import axios from "axios"; import style from './Login.module.css'; import cylcleLogo from '../assets/CYCLE-logo.png'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; // Import specific icons +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; export let loggedInUser = { isLoggedIn: false, firstName: '', lastName: '' }; -export let appUserRole=""; +export let appUserRole = ""; export let userID = 0; function Login() { @@ -15,7 +15,7 @@ function Login() { const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); const navigate = useNavigate(); - // const location = useLocation(); + const togglePasswordVisibility = () => { setShowPassword(!showPassword); }; @@ -29,75 +29,71 @@ function Login() { }).then((res) => { console.log(res.data); - if (res.data.message === "Email does not exits") { + if (res.data.message === "Email does not exist") { alert("Not a registered user. Email not found"); } else if (res.data.message === "Login Success") { - loggedInUser={ + loggedInUser = { isLoggedIn: true, firstName: res.data.firstName, lastName: res.data.lastName }; - userID = res.data.userID ; - if (res.data.userRole == "[USER]") { - appUserRole="USER"; - }else if(res.data.userRole == "[ADMIN]"){ - console.log(res.data.userRole) - appUserRole="ADMIN"; + userID = res.data.userID; + if (res.data.userRole === "[USER]") { + appUserRole = "USER"; + } else if (res.data.userRole === "[ADMIN]") { + appUserRole = "ADMIN"; } navigate('/'); } else { alert("Login Failed! Password does not match!"); } - }, fail => { - console.error(fail); // Error! }); } catch (err) { alert(err); } } + const handleRegister = () => { + navigate('/registration'); + }; + return (
-
- Cycle Logo -
-
-
-
- - setEmail(event.target.value)} - /> -
- -
- -
- setPassword(event.target.value)} - /> -
- - - -
-
-
+ Cycle Logo + +
+ setEmail(event.target.value)} + required + /> +
- - -
+
+ setPassword(event.target.value)} + required + /> +
+ + +
-
+ + + + {/* Register now link */} +

+ Don't have an account? + +

+
); } diff --git a/front-end/src/Pages/Login.module.css b/front-end/src/Pages/Login.module.css index d957ff56..10c413ac 100644 --- a/front-end/src/Pages/Login.module.css +++ b/front-end/src/Pages/Login.module.css @@ -3,22 +3,27 @@ flex-direction: column; align-items: center; justify-content: center; - padding: 50px 50px; + padding: 50px; width: 300px; - height: 280px; + height: 350px; /* Increased height to fit the form properly */ margin: auto; border: 1px solid hsl(0, 0%, 80%); margin-top: 20px; margin-bottom: 40px; border-radius: 10px; - box-shadow: #00448d; + box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */ +} + +.CycleLogo { + width: 200px; + margin-bottom: 20px; } .LoginCard input { - width: 290px; + width: 100%; height: 45px; padding: 10px; - margin-bottom: 20px; + margin-bottom: 15px; background-color: #e3f0f6; color: black; border: 1px solid #dddddd; @@ -26,36 +31,17 @@ box-sizing: border-box; } -.LoginCard button { - padding: 2px 4px; - display: flex; - align-items: center; - justify-content: center; - margin: auto; - margin-top: 10px; - margin-bottom: 20px; - background-color: #00448d; - color: #ffffff; - border: none; - border-radius: 4px; - cursor: pointer; - transition: background-color 0.3s ease; - width: 120px; - height: 42px; - font-weight: 600; - text-decoration: none; - /* font:#ffffff; */ -} - -.LoginCard button:hover { - background-color: #0056b3; - color: #ffffff; +/* Autofill background color */ +.LoginCard input:-webkit-autofill { + background-color: #e3f0f6 !important; + color: black !important; /* Set text color */ + -webkit-box-shadow: 0 0 0px 1000px #e3f0f6 inset; + box-shadow: 0 0 0px 1000px #e3f0f6 inset; /* For other browsers */ } -.CycleLogo { - width: 250px; - margin-bottom: 0; - margin-top: 2em; +/* Adjust font color for autofill */ +.LoginCard input:-webkit-autofill { + -webkit-text-fill-color: black !important; /* Set text color */ } .input-group { @@ -70,7 +56,7 @@ right: 10px; height: 100%; display: flex; - margin-bottom: 20px; + margin-bottom: 15px; align-items: center; justify-content: center; padding: 10px 10px; @@ -82,6 +68,38 @@ cursor: pointer; } -.input-group-text .svg-inline--fa { - margin: 0; -} \ No newline at end of file + +.LoginCard button { + width: 100%; + height: 42px; + margin-top: 10px; + background-color: #00448d; + color: #ffffff; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s ease; + font-weight: 600; +} + +.LoginCard button:hover { + background-color: #0056b3; +} + +.register-link { + text-align: center; + margin-top: 10px; +} + +.register-link .btn { + padding: 0; + color: #00448d; + background: none; + border: none; + cursor: pointer; + font-size: 14px; +} + +.register-link .btn:hover { + text-decoration: underline; +} diff --git a/front-end/src/Pages/Registration.jsx b/front-end/src/Pages/Registration.jsx new file mode 100644 index 00000000..977f8d30 --- /dev/null +++ b/front-end/src/Pages/Registration.jsx @@ -0,0 +1,109 @@ +import React, { useState } from "react"; +import { useNavigate } from 'react-router-dom'; +import axios from "axios"; +import style from "../components/Registration.module.css"; // Assuming you have CSS in place +import cylcleLogo from '../assets/CYCLE-logo.png'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; + +function Registration() { + // State for form inputs + const [firstName, setFirstName] = useState(""); + const [lastName, setLastName] = useState(""); + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [showPassword, setShowPassword] = useState(false); + const navigate = useNavigate(); + + const togglePasswordVisibility = () => { + setShowPassword(!showPassword); +}; + + // Handle form submission + const handleSubmit = async (e) => { + e.preventDefault(); + + // Prepare user data to send to backend + const userData = { + firstName, + lastName, + email, + password, + }; + + try { + // Send POST request to backend + const response = await axios.post("http://localhost:8080/api/v1/registration", userData); + + // Handle success (optional) + if (response.status === 200) { + alert("Registration successful!"); + navigate('/login'); + } + } catch (error) { + console.error("There was an error registering the user!", error); + alert("Registration failed. Please try again."); + } + }; + + + return ( +
+ Cycle Logo +
+
+ + setFirstName(e.target.value)} + required + /> +
+
+ + setLastName(e.target.value)} + required + /> +
+
+ + setEmail(e.target.value)} + required + /> +
+
+ +
+ setPassword(e.target.value)} + required + /> +
+ + + +
+
+
+ +
+
+ ); +} + +export default Registration; diff --git a/front-end/src/assets/X.png b/front-end/src/assets/X.png new file mode 100644 index 0000000000000000000000000000000000000000..432a3aa39fa3d0968539eb3e5ec5b0008deaa4e8 GIT binary patch literal 22762 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 literal 0 HcmV?d00001 diff --git a/front-end/src/assets/XLogo.png b/front-end/src/assets/XLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..432a3aa39fa3d0968539eb3e5ec5b0008deaa4e8 GIT binary patch literal 22762 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 literal 0 HcmV?d00001 diff --git a/front-end/src/assets/YouTube-logo.png b/front-end/src/assets/YouTube-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb41e7d6e479f5c49313cf15b0e28f38737900a GIT binary patch literal 19227 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 Media Links diff --git a/front-end/src/components/Footer.module.css b/front-end/src/components/Footer.module.css index 85dca373..801a802e 100644 --- a/front-end/src/components/Footer.module.css +++ b/front-end/src/components/Footer.module.css @@ -78,6 +78,23 @@ width: 25px; } +.ytLogo { /* youtube logo used in the footer of the webpage */ + height: auto; + width: 25px; +} + +.XLogo { /* youtube logo used in the footer of the webpage */ + height: auto; + width: 24px; +} + +li a img { + margin-right: 10px; /* Adjust this value as needed */ +} + +li a:last-child img { + margin-right: 0; /* Ensure no margin after the last image */ +} /* Media query for small screens */ @media (max-width: 800px) { diff --git a/front-end/src/components/Header.css b/front-end/src/components/Header.css index 94a6cb3c..04f3419e 100644 --- a/front-end/src/components/Header.css +++ b/front-end/src/components/Header.css @@ -27,7 +27,7 @@ h1 { font-family: 'Playfair Display'; text-align: center; - font-size: 5.5em; + font-size: 5em; margin-bottom: 0px; margin-top: 0px; font-weight: 1000px; @@ -92,14 +92,14 @@ .Erasmus-plus-Logo{ margin-top: 20px; - width: 150px; + width: 130px; margin-left: 100px; margin-right: 70px; height: auto; } .Cycle-Logo{ - width: 280px; + width: 260px; height: auto; margin-right: 30px; margin-top: 20px diff --git a/front-end/src/components/Registration.module.css b/front-end/src/components/Registration.module.css new file mode 100644 index 00000000..97fbf147 --- /dev/null +++ b/front-end/src/components/Registration.module.css @@ -0,0 +1,121 @@ +/* Container for the registration form */ +.registrationContainer { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 50px; + width: 400px; + height: 460px; + margin: auto; + border: 1px solid hsl(0, 0%, 80%); + margin-top: 20px; + margin-bottom: 40px; + border-radius: 10px; + box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */ +} + +.CycleLogo { + width: 200px; +} + +/* Form group styling */ +.formGroup { + width: 100%; + margin-bottom: 15px; +} + +/* Label styling */ +label { + display: block; + margin-bottom: 5px; + font-size: 14px; + color: #555; +} + +/* Input field styling */ +input { + width: 100%; + height: 45px; + padding: 10px; + margin-bottom: 10px; + background-color: #e3f0f6; + color: black; + border: 1px solid #dddddd; + border-radius: 4px; + box-sizing: border-box; +} + +/* Autofill background color */ +input:-webkit-autofill { + background-color: #e3f0f6 !important; + color: black !important; /* Set text color */ + -webkit-box-shadow: 0 0 0px 1000px #e3f0f6 inset; + box-shadow: 0 0 0px 1000px #e3f0f6 inset; /* For other browsers */ +} + +/* Adjust font color for autofill */ +input:-webkit-autofill { + -webkit-text-fill-color: black !important; /* Set text color */ +} + +/* Input field focus state */ +input:focus { + border-color: #007bff; + outline: none; + background-color: #fff; +} + +.inputGroup{ + position: relative; + display: flex; + align-items: center; +} + +/* Styling for the input-group-append to position the icon */ +.inputGroupAppend { + position: absolute; + right: 10px; + height: 100%; + display: flex; + margin-bottom: 15px; + align-items: center; + justify-content: center; + padding: 10px 10px; +} + +/* Input group text (icon) styling */ +.inputGroupText { + background: transparent; + border: none; + display: flex; + align-items: center; + justify-content: center; + color: #191818; + font-size: 18px; +} + +/* Register button styling */ +.registerButton { + width: 100%; + height: 42px; + margin-top: 10px; + margin-bottom: 20px; + background-color: #00448d; + color: #ffffff; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s ease; + font-weight: 600; +} + +/* Register button hover state */ +.registerButton:hover { + background-color: #0056b3; +} + +/* Add some spacing between elements */ +.registrationContainer form { + width: 100%; +}