diff --git a/assets/script.js b/assets/script.js index c45248a..2978b7a 100644 --- a/assets/script.js +++ b/assets/script.js @@ -172,3 +172,173 @@ function initAjax() { }); } document.addEventListener('DOMContentLoaded', initAjax); + + +//Login + +function login() { + const email = document.getElementById("login_email").value; + const password = document.getElementById("login_password").value; + doLogin(email, password); + refreshNavbar(); + softReload(); +} + +function doLogin(email, password) { + const data = new URLSearchParams(); + data.append("action", "login"); + data.append("email", email); + data.append("password", password); + + doAccountAction(data, "Login Successful!", "Login failed. Please check your credentials."); +} + +function register() { + const firstName = document.getElementById("register_firstName").value; + const lastName = document.getElementById("register_lastName").value; + const email = document.getElementById("register_email").value; + const password = document.getElementById("register_password").value; + const activationToken = document.getElementById("register_activationToken").value; + + const data = new URLSearchParams(); + data.append("action", "register"); + data.append("firstname", firstName); + data.append("lastname", lastName); + data.append("email", email); + data.append("password", password); + data.append("activation_token", activationToken); + + doRegister(data); +} + +function doRegister(requestData) { + doAccountAction(requestData, "Registration Successful!", "Registration failed."); +} + + +//User settings start + +function changePassword() { + const oldPassword = document.getElementById("changeOldPassword").value; + const newPassword = document.getElementById("changeNewPassword").value; + + const data = new URLSearchParams(); + data.append("action", "change_password"); + data.append("old_password", oldPassword); + data.append("new_password", newPassword); + + doChangePassword(data, "Password change Successful!", "Password change failed."); +} + +function doChangePassword(requestData, successMessage, failureMessage) { + doAccountAction(requestData, successMessage, failureMessage); +} + +function updateUserProfile() { + const firstName = document.getElementById("updateFirstName").value; + const lastName = document.getElementById("updateLastName").value; + const nickname = document.getElementById("updateNickname").value; + const minecraftNick = document.getElementById("updateMinecraftNick").value; + + const data = new URLSearchParams(); + data.append("action", "update_user_profile"); + data.append("first_name", firstName); + data.append("last_name", lastName); + data.append("nickname", nickname); + data.append("minecraft_nick", minecraftNick); + + doAccountAction(data, "Profile update Successful!", "Profile update failed."); +} + +function updateEmail() { + const newEmail = document.getElementById("updateNewEmail").value; + + const data = new URLSearchParams(); + data.append("action", "update_user_email"); + data.append("email", newEmail); + + doAccountAction(data, "Email update Successful!", "Email update failed."); +} + +function populateUserInfoFields(userData) { + document.getElementById("updateFirstName").value = userData.FirstName || ""; + document.getElementById("updateLastName").value = userData.LastName || ""; + document.getElementById("updateNickname").value = userData.Nickname || ""; + document.getElementById("updateMinecraftNick").value = userData.MinecraftNick || ""; + document.getElementById("updateNewEmail").value = userData.Email || ""; +} + +async function getUserInfo() { + const data = new URLSearchParams(); + data.append("action", "get_user_info"); + + const result = await doAccountAction(data, "User info retrieved Successfully!", "User info retrieval failed.", true); + + if (result && result.Status === "Success") { + populateUserInfoFields(result.UserInfo); + } +} + +document.addEventListener('DOMContentLoaded', getUserInfo); + +//User settings end + +//Admin settings start + +async function addActivationCodes() { + const count = document.getElementById("activationCodeCount").value; + + const data = new URLSearchParams(); + data.append("action", "add_activation_codes"); + data.append("count", count); + + const result = await doAccountAction(data, "Activation codes added Successfully!", "Activation codes addition failed."); + + displayList(result.ActivationCodes, "codeListTable", deleteActivationCode); +} + +async function listUsers() { + const data = new URLSearchParams(); + data.append("action", "list_users"); + + const result = await doAccountAction(data, "User list retrieved Successfully!", "User list retrieval failed."); + + if (result && result.Status === "Success") { + displayList(result.Users, "userListTable", deleteUser); + } +} + + +async function listActivationCodes() { + const data = new URLSearchParams(); + data.append("action", "list_activation_codes"); + + const result = await doAccountAction(data, "Activation code list retrieved Successfully!", "Activation code list retrieval failed."); + + displayList(result.ActivationCodes, "codeListTable", deleteActivationCode); +} + +function deleteUser(userId) { + + const data = new URLSearchParams(); + data.append("action", "delete_user"); + data.append("user_id", userId); + + doAccountAction(data, "User deleted Successfully!", "User deletion failed."); + listUsers(); +} + +function deleteActivationCode(activationCode) { + + const data = new URLSearchParams(); + data.append("action", "delete_activation_code"); + data.append("activation_code", activationCode); + + doAccountAction(data, "Activation code deleted Successfully!", "Activation code deletion failed."); + listActivationCodes(); +} + + +document.addEventListener('DOMContentLoaded', listUsers); +document.addEventListener('DOMContentLoaded', listActivationCodes); +//Admin settings end diff --git a/templates/adminActions.html b/templates/adminActions.html index 63e3a45..af7e945 100644 --- a/templates/adminActions.html +++ b/templates/adminActions.html @@ -1,64 +1,3 @@ - - - -

Activation Codes

diff --git a/templates/login.html b/templates/login.html index e665b53..a1079d5 100644 --- a/templates/login.html +++ b/templates/login.html @@ -1,45 +1,3 @@ - -

diff --git a/templates/userActions.html b/templates/userActions.html index c4229ef..7c0cdf1 100644 --- a/templates/userActions.html +++ b/templates/userActions.html @@ -1,70 +1,3 @@ - - - -