12345 / script.js
simar007's picture
Update script.js
28c6a45 verified
// Utility: get users object from localStorage (or empty object)
function getUsers() {
const users = localStorage.getItem("users");
return users ? JSON.parse(users) : {};
}
// Utility: save users object back to localStorage
function saveUsers(users) {
localStorage.setItem("users", JSON.stringify(users));
}
// SIGNUP PAGE LOGIC
const signupForm = document.getElementById("signupForm");
if (signupForm) {
const signupMessage = document.getElementById("signupMessage");
signupForm.addEventListener("submit", (e) => {
e.preventDefault();
const username = document.getElementById("newUsername").value.trim();
const password = document.getElementById("newPassword").value;
const confirmPassword = document.getElementById("confirmPassword").value;
if (!username || !password || !confirmPassword) {
signupMessage.style.color = "red";
signupMessage.textContent = "❌ Please fill in all fields.";
return;
}
if (password !== confirmPassword) {
signupMessage.style.color = "red";
signupMessage.textContent = "❌ Passwords do not match.";
return;
}
const users = getUsers();
if (users[username]) {
signupMessage.style.color = "red";
signupMessage.textContent = "❌ Username already exists.";
return;
}
users[username] = password;
saveUsers(users);
signupMessage.style.color = "green";
signupMessage.textContent = "βœ… Account created! Redirecting to login...";
setTimeout(() => {
window.location.href = "index.html";
}, 1500);
});
}
// LOGIN PAGE LOGIC
const loginForm = document.getElementById("loginForm");
if (loginForm) {
const loginMessage = document.getElementById("loginMessage");
loginForm.addEventListener("submit", (e) => {
e.preventDefault();
const username = document.getElementById("loginUsername").value.trim();
const password = document.getElementById("loginPassword").value;
if (!username || !password) {
loginMessage.style.color = "red";
loginMessage.textContent = "❌ Please enter both username and password.";
return;
}
const users = getUsers();
if (users[username] && users[username] === password) {
loginMessage.style.color = "green";
loginMessage.textContent = `βœ… Welcome back, ${username}!`;
// Store logged-in user and redirect
localStorage.setItem("loggedInUser", username);
setTimeout(() => {
window.location.href = "dashboard.html";
}, 1000);
} else {
loginMessage.style.color = "red";
loginMessage.textContent = "❌ Invalid username or password.";
}
});
}