fix/user info is now kept on form reset

This commit is contained in:
Joaquin committed 2025-05-20 14:05:34 -07:00
1 parent de99301738
commit 50bd21b164
3 files changed
+15 -4

No files matched your search

+11
View File
@@ -60,6 +60,17 @@ app.get('/signup', (req, res) => {
return res.status(status.Ok); return res.status(status.Ok);
}); });
app.get('/signup/:name/:email', (req, res) => {
const ignore = ["User not found", "Incorrect password"];
if (ignore.includes(req.session.errMessage)) req.session.errMessage = "";
res.render('signup', {
errMessage: req.session.errMessage,
name: req.params.name,
email: req.params.email
});
return res.status(status.Ok);
});
app.get('/login', (req, res) => { app.get('/login', (req, res) => {
if (req.session.authenticated) { if (req.session.authenticated) {
res.redirect("/home"); res.redirect("/home");
+2 -2
View File
@@ -96,7 +96,7 @@ module.exports = (users) => {
if (req.body.password != req.body.repassword) { if (req.body.password != req.body.repassword) {
req.session.errMessage = "Passwords must match"; req.session.errMessage = "Passwords must match";
res.status(status.BadRequest); res.status(status.BadRequest);
return res.redirect("/signup"); return res.redirect(`/signup/${req.body.name}/${req.body.email}`);
} }
let strength = passwordStrength(req.body.password); let strength = passwordStrength(req.body.password);
@@ -104,7 +104,7 @@ module.exports = (users) => {
if (strength.id < 2) { if (strength.id < 2) {
req.session.errMessage = `Password ${strength.value}`; req.session.errMessage = `Password ${strength.value}`;
res.status(status.BadRequest); res.status(status.BadRequest);
return res.redirect("/signup"); return res.redirect(`/signup/${req.body.name}/${req.body.email}`);
} }
let hashedPassword = await bcrypt.hashSync(req.body.password, salt); let hashedPassword = await bcrypt.hashSync(req.body.password, salt);
+2 -2
View File
@@ -11,13 +11,13 @@
<label for="name" class="block text-base mb-2 text-slate-600">Name</label> <label for="name" class="block text-base mb-2 text-slate-600">Name</label>
<input type="text" id="name" name="name" <input type="text" id="name" name="name"
class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200" class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200"
placeholder="Enter Name" /> placeholder="Enter Name" value="<%= typeof name != 'undefined' ? name : '' %>"/>
</div> </div>
<div class="mt-4"> <div class="mt-4">
<label for="email" class="block text-base mb-2 text-slate-600">Email</label> <label for="email" class="block text-base mb-2 text-slate-600">Email</label>
<input type="email" id="email" name="email" <input type="email" id="email" name="email"
class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200" class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200"
placeholder="Enter Email" /> placeholder="Enter Email" value="<%= typeof email != 'undefined' ? email : '' %>"/>
</div> </div>
<div class="mt-4"> <div class="mt-4">
<label for="password" class="block text-base mb-2 text-slate-600">Password</label> <label for="password" class="block text-base mb-2 text-slate-600">Password</label>