diff --git a/public/js/interactivity.js b/public/js/interactivity.js index dc75b3e..f8b10ef 100644 --- a/public/js/interactivity.js +++ b/public/js/interactivity.js @@ -73,6 +73,13 @@ function applyJob(body) { } function handleLogin(username, password) { + const registrationSuccess = sessionStorage.getItem('registrationSuccess'); + if (registrationSuccess) { + sessionStorage.removeItem('registrationSuccess'); + window.location.href = '/login.ejs'; + return; + } + fetch('/login', { method: 'POST', headers: { diff --git a/routes/authRoutes.js b/routes/authRoutes.js index 5a11bac..7afba5e 100644 --- a/routes/authRoutes.js +++ b/routes/authRoutes.js @@ -35,7 +35,7 @@ router.post('/register', async (req, res) => { const user = new User({ username, password, email, domainOfInterest, linkedinUrl, currentCompany, currentLevel }); await user.save(); req.session.userId = user._id; - res.status(201).json({ message: 'User registered successfully', userId: user._id }); + res.redirect('/login'); } catch (error) { res.status(500).json({ message: 'Error registering user', error: error.message }); } diff --git a/routes/middleware/authMiddleware.js b/routes/middleware/authMiddleware.js index 72a053e..c2727b9 100644 --- a/routes/middleware/authMiddleware.js +++ b/routes/middleware/authMiddleware.js @@ -37,4 +37,13 @@ const requireRole = (role) => { }; }; -module.exports = { requireAuth, alreadyLoggedIn, requireRole }; +const checkRegistrationComplete = (req, res, next) => { + if (req.session.registrationComplete) { + next(); + } else { + res.redirect('/complete-registration'); + } +}; + +module.exports = { requireAuth, alreadyLoggedIn, requireRole, checkRegistrationComplete }; +``` \ No newline at end of file diff --git a/views/login.ejs b/views/login.ejs index 2525426..b4d6b99 100644 --- a/views/login.ejs +++ b/views/login.ejs @@ -55,10 +55,13 @@ button:hover { background-color: #0056b3; } - .error-message { + .error-message, .success-message { color: #d9534f; margin-bottom: 10px; } + .success-message { + color: #28a745; + } p { text-align: center; } @@ -77,6 +80,11 @@ <%= errorMessage %> <% } %> + <% if (typeof successMessage !== 'undefined') { %> +
+ <%= successMessage %> +
+ <% } %>
@@ -99,3 +107,5 @@ }); + + \ No newline at end of file diff --git a/views/register.ejs b/views/register.ejs index e9e3f64..4a0735a 100644 --- a/views/register.ejs +++ b/views/register.ejs @@ -41,16 +41,14 @@ box-sizing: border-box; } select { - /* Additional styling for the dropdown */ appearance: none; -moz-appearance: none; -webkit-appearance: none; - padding-right: 30px; /* Adjust based on the width of the arrow icon */ - background-image: url('path_to_arrow_icon'); /* Add an arrow icon */ + padding-right: 30px; + background-image: url('path_to_arrow_icon'); background-position: right center; background-repeat: no-repeat; } - /* Style the dropdown arrow */ select::-ms-expand { display: none; } @@ -74,7 +72,7 @@ color: #007bff; } - +
@@ -142,7 +140,9 @@
+

Thank you for registering! Proceed to Login

Already have an account? Login here.

- \ No newline at end of file + + \ No newline at end of file