diff --git a/frontend/profile/index.html b/frontend/profile/index.html
index 9c740e4..1ad1402 100644
--- a/frontend/profile/index.html
+++ b/frontend/profile/index.html
@@ -4,6 +4,7 @@
Register - Temperature Alarm
+
@@ -67,7 +68,7 @@
-
+
diff --git a/frontend/scripts/profile.js b/frontend/scripts/profile.js
index 1f824d6..47724dd 100644
--- a/frontend/scripts/profile.js
+++ b/frontend/scripts/profile.js
@@ -8,10 +8,10 @@ var username;
var email;
get().then((res) => {
- username = res.userName;
- email = res.email;
- var table = document.getElementById(`profileCard`);
- table.innerHTML += `
+ username = res.userName;
+ email = res.email;
+ var table = document.getElementById(`profileCard`);
+ table.innerHTML += `
@@ -43,79 +43,76 @@ 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";
+ 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";
- };
+ 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";
- }
+ 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
+ .getElementById("editForm")
+ .addEventListener("submit", function (event) {
+ event.preventDefault(); // Prevents default form submission
- document.getElementById("form-error").style.display = "none";
+ 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";
+ // 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;
- }
+ return;
+ }
- location.href = "/profile";
+ location.href = "/profile";
+ });
});
- });
document
- .getElementById("PasswordForm")
- .addEventListener("submit", function (event) {
- event.preventDefault(); // Prevents default form submission
+ .getElementById("PasswordForm")
+ .addEventListener("submit", function (event) {
+ event.preventDefault(); // Prevents default form submission
- document.getElementById("form-error").style.display = "none";
+ document.getElementById("password-error").style.display = "none";
- const oldPassword = document.getElementById("oldpsw").value;
- const newPassword = document.getElementById("psw").value;
- const repeatPassword = document.getElementById("rpsw").value;
+ 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;
- }
+ if (newPassword !== repeatPassword) {
+ document.getElementById("password-error").style.display = "block";
+ document.getElementById("password-error").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;
- }
+ updatePassword(oldPassword, newPassword)
+ .then(() => location.reload())
+ .catch(error => {
+ document.getElementById("password-error").innerText = error;
+ document.getElementById("password-error").style.display = "block";
+ });
});
- });
document.querySelector(".logout-container").addEventListener("click", logout);
diff --git a/frontend/scripts/services/users.service.js b/frontend/scripts/services/users.service.js
index c228c2c..ad5c7a9 100644
--- a/frontend/scripts/services/users.service.js
+++ b/frontend/scripts/services/users.service.js
@@ -39,7 +39,7 @@ export function update(email, username){
}
export function updatePassword(oldPassword, newPassword){
- return request("PUT", "/user/update-password", {
+ return request("PUT", "/user/change-password", {
oldPassword,
newPassword,
});
diff --git a/frontend/shared/utils.js b/frontend/shared/utils.js
index e04c46d..c0c94c0 100644
--- a/frontend/shared/utils.js
+++ b/frontend/shared/utils.js
@@ -41,36 +41,36 @@ export async function request(method, path, body = null) {
export function checkTokens() {
var token = document.cookie.match(/\bauth-token=([^;\s]+)/);
- if(token != null){
- return token[1]
+ if (token != null) {
+ return token[1];
}
+
const match = document.cookie.match(/\brefresh-token=([^;\s]+)/);
token = match ? match[1] : null;
- console.log("refresh "+token);
- if(token != null){
- return fetch(`${address}/user/refreshtoken/${token}`, {
- method: "POST",
- headers: {
- "Content-Type": "application/json"
- },
- })
- .then(async response => {
- if (!response.ok) {
- window.location.href = "/login";
- return;
- }
-
- const json = await response.json()
-
- document.cookie = `auth-token=${json.token}; Path=/`;
- document.cookie = `refresh-token=${json.refreshToken}; Path=/`;
-
- return json.token;
- });
- }
- else{
- window.location.href = "/login";
- }
+
+ if (token != null) {
+ return fetch(`${address}/user/refreshtoken/${token}`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ })
+ .then(async response => {
+ if (!response.ok) {
+ location.href = "/login";
+ return;
+ }
+
+ const json = await response.json()
+
+ document.cookie = `auth-token=${json.token}; Path=/`;
+ document.cookie = `refresh-token=${json.refreshToken}; Path=/`;
+
+ return json.token;
+ });
+ }
+
+ location.href = "/login";
}
export function logout() {