import { profileData } from "../mockdata/profile.mockdata.js";
import { logout } from "../shared/utils.js";
import { get } from "./services/users.service.js";
import { update } from "./services/users.service.js";
import { updatePassword } from "./services/users.service.js";
var username;
var email;
get().then((res) => {
username = res.userName;
email = res.email;
var table = document.getElementById(`profileCard`);
table.innerHTML += `
${username}
${email}
`;
});
const checkForChanges = () => {
if (emailInput.value !== email || usernameInput.value !== username) {
submitBtn.disabled = false; // Enable button if changes were made
} else {
submitBtn.disabled = true; // Disable button if no changes
}
};
const emailInput = document.getElementById("email");
const usernameInput = document.getElementById("uname");
const submitBtn = document.getElementById("submitEditBtn");
var pswModal = document.getElementById("PasswordModal");
var editModal = document.getElementById("editModal");
var editIconbtn = document.getElementById("openEditModal");
var passwordBtn = document.getElementById("openPasswordModal");
emailInput.addEventListener("input", checkForChanges);
usernameInput.addEventListener("input", checkForChanges);
// Open modals
editIconbtn.onclick = () => {
document.getElementById("uname").value = username;
document.getElementById("email").value = email;
submitBtn.disabled = true;
editModal.style.display = "block";
};
passwordBtn.onclick = () => (pswModal.style.display = "block");
// Close modals when clicking on any close button
document.querySelectorAll(".close").forEach((closeBtn) => {
closeBtn.onclick = () => {
pswModal.style.display = "none";
editModal.style.display = "none";
document.getElementById("form-error").innerText = "";
document.getElementById("form-error").style.display = "none";
};
});
// Close modals when clicking outside
window.onclick = (event) => {
if (event.target == pswModal || event.target == editModal) {
pswModal.style.display = "none";
editModal.style.display = "none";
document.getElementById("form-error").innerText = "";
document.getElementById("form-error").style.display = "none";
}
};
document
.getElementById("editForm")
.addEventListener("submit", function (event) {
event.preventDefault(); // Prevents default form submission
document.getElementById("form-error").style.display = "none";
// Call function with form values
update(emailInput.value, usernameInput.value).then((response) => {
if (response?.error) {
document.getElementById("form-error").innerText = response.error;
document.getElementById("form-error").style.display = "block";
return;
}
location.href = "/profile";
});
});
document
.getElementById("PasswordForm")
.addEventListener("submit", function (event) {
event.preventDefault(); // Prevents default form submission
document.getElementById("form-error").style.display = "none";
const oldPassword = document.getElementById("oldpsw").value;
const newPassword = document.getElementById("psw").value;
const repeatPassword = document.getElementById("rpsw").value;
if (newPassword !== repeatPassword) {
let errorDiv = document.getElementById("form-error");
errorDiv.style.display = "block";
errorDiv.innerText = "Passwords do not match!";
return;
}
updatePassword(oldPassword, newPassword).then((response) => {
//error messages do not work
if (response.error) {
document.getElementById("form-error").innerText = response.message;
document.getElementById("form-error").style.display = "block";
return;
}
});
});
document.querySelector(".logout-container").addEventListener("click", logout);